Commit Graph

305 Commits

Author SHA1 Message Date
Stephen Celis
14379519ed Fix CaseLet docs (#850) 2021-10-14 19:33:19 -04:00
Fero
3144393c64 Add actionless CaseLet overload (#848)
Due to private `StoreObservableObject` this has to be implemented as part of the library
2021-10-12 15:28:30 -04:00
Malone Hedges
1a2b293ca6 Fix typo in BindingAction.pullback(_:) docs (#830) 2021-09-24 13:47:26 -04:00
Brandon Williams
d165966898 Don't print to console when dumping state for ViewStore.debug (#829) 2021-09-24 10:22:22 -04:00
Stephen Celis
599a2398ad Check main thread via Thread.isMainThread (#823)
* Check main thread via Thread.isMainThread

* wip

* wip
2021-09-23 10:25:08 -04:00
mbrandonw
0a39f4c7a3 Run swift-format 2021-09-20 15:19:03 +00:00
Brandon Williams
1c0dfbc98b Perform thread check only when store is created on main queue. (#811)
* Perform thread check only when store is created on main thread.

* clean up

* Update Sources/ComposableArchitecture/Store.swift

* clean up

* Update Sources/ComposableArchitecture/Store.swift

* clean up

* execute setSpecific only once.

* logic fix

* added a test

* typo

* wip

* docs

* fix test

* Update Sources/ComposableArchitecture/Store.swift

Co-authored-by: Thomas Grapperon <35562418+tgrapperon@users.noreply.github.com>

* Run swift-format

* Clean up speech recognition case study. (#812)

* Clean up speech recognition case study.

* fix tests

* clean up;

* Alternative to `CurrentValueSubject` in `ViewStore` (#755)

* Replaced CurrentValueSubject with CurrentValueRelay

* Added final to DemandBuffer

Co-authored-by: Brandon Williams <mbrandonw@hey.com>

* Run swift-format

* Fix bindable deprecations (#815)

* Fix Bindable Deprecations

* More CI

* wip

* wip

* wip

* wip

* Run swift-format

* beef up test

* expectation

* fix

Co-authored-by: Stephen Celis <stephen@stephencelis.com>
Co-authored-by: Thomas Grapperon <35562418+tgrapperon@users.noreply.github.com>
Co-authored-by: stephencelis <stephencelis@users.noreply.github.com>
Co-authored-by: iampatbrown <mrpatbrown@gmail.com>
Co-authored-by: mbrandonw <mbrandonw@users.noreply.github.com>
2021-09-20 11:09:00 -04:00
stephencelis
f92c2aec78 Run swift-format 2021-09-20 15:03:19 +00:00
Stephen Celis
0cd0c3ecce Update AlertState to use new APIs (#794)
* Update AlertState to use new APIs

* fix

* Feedback

* wip

* Fix

* wip

* wip

* wip

* wip
2021-09-20 10:42:17 -04:00
iampatbrown
46d0ca40fb ObservedViewStore for projectedBindings (#770)
* Added observedSelf property to ViewStore

* Created ObservedViewStore

* Try projectedBinding first for ViewStore bindings

* Replaced @ObservedObject with @ObservedViewStore

* Revert "Replaced @ObservedObject with @ObservedViewStore"

This reverts commit 6aadf373db.

* Revert "Try projectedBinding first for ViewStore bindings"

This reverts commit 0e2fae1cbf.

* Revert "Created ObservedViewStore"

This reverts commit 7f99a718b9.

* Revert "Added observedSelf property to ViewStore"

This reverts commit 65dc3837b3.

* Replaced self.binding with projectedValue

* Revert "Replaced self.binding with projectedValue"

This reverts commit cc2b69777e.

* Derive bindings using WrappedState helper

* wip

* wip

* wip

* avoid potential retain cycle

* Revert "Derive bindings using WrappedState helper"

This reverts commit f3fb18f445.

Co-authored-by: Stephen Celis <stephen@stephencelis.com>
2021-09-20 10:13:16 -04:00
mbrandonw
bb5da6a0a4 Run swift-format 2021-09-20 14:12:18 +00:00
Stephen Celis
8260a1ab8d Fix bindable deprecations (#815)
* Fix Bindable Deprecations

* More CI

* wip

* wip

* wip

* wip
2021-09-20 10:03:43 -04:00
stephencelis
71421c6e39 Run swift-format 2021-09-17 20:41:42 +00:00
iampatbrown
4b8db86edb Alternative to CurrentValueSubject in ViewStore (#755)
* Replaced CurrentValueSubject with CurrentValueRelay

* Added final to DemandBuffer

Co-authored-by: Brandon Williams <mbrandonw@hey.com>
2021-09-17 16:33:13 -04:00
stephencelis
e80da5cb0f Run swift-format 2021-09-17 17:35:06 +00:00
Stephen Celis
4bdcaafcd0 Deprecate Store.publisherScope (#758)
* Deprecate Store.publisherScope

* wip

* fix

* wip
2021-09-17 13:12:52 -04:00
Stephen Celis
c0c95c5bab Deprecate dynamic member lookup on view stores in favor of ViewStore.binding (#810)
* wip

* wip
2021-09-17 12:33:38 -04:00
stephencelis
c5f2089100 Run swift-format 2021-09-17 16:10:52 +00:00
iampatbrown
64997d85f3 Clean up Store.ifLet (#754)
* Clean up Store.ifLet

* changed nil coalescing

* use .scope for publisherScope

* Revert "use .scope for publisherScope"

This reverts commit 74dc57bc06.

* fixed localState coalescing

* put extract logic inside scope

* Revert "put extract logic inside scope"

This reverts commit 3862c5b0f2.

* Revert "fixed localState coalescing"

This reverts commit 0f9f27ce3c.
2021-09-17 12:01:55 -04:00
Stephen Celis
d715300cd4 Thread messaging (#803)
* Use thread dictionary for check instead

* Improve thread check messaging for Store.scope

* typo fix

Co-authored-by: Brandon Williams <mbrandonw@hey.com>
2021-09-16 11:11:13 -04:00
Stephen Celis
a554b00ff4 Remove old deprecations (#795)
* Remove old deprecations

* wip
2021-09-14 22:30:38 -04:00
Stephen Celis
a1aac6cfd6 Fix macOS <11 builds with Xcode 13 RC (#797)
* Fix macOS <11 builds with Xcode 13 RC

Fixes #796.

* wip

* Update Tests/ComposableArchitectureTests/ViewStoreTests.swift

Co-authored-by: Brandon Williams <135203+mbrandonw@users.noreply.github.com>

Co-authored-by: Brandon Williams <135203+mbrandonw@users.noreply.github.com>
2021-09-14 21:11:30 -04:00
Brandon Williams
d15101d7b6 Update threading messaging. (#789) 2021-09-13 21:54:23 -04:00
Andrey
86bcd083a1 Remove #if DEBUG/#endif surrounding Effect.failing (#786) 2021-09-13 09:40:02 -04:00
Stephen Celis
03a814d0d3 Update bindable helpers docs (#783)
* Update bindable helpers docs

* wip
2021-09-10 12:27:10 -04:00
Stephen Celis
69b3605e3a Fix BindableState: Codable strategies (#781) 2021-09-10 10:33:03 -04:00
stephencelis
cb5150f57e Run swift-format 2021-09-07 16:50:30 +00:00
Luke Redpath
e2795c1789 Conform BindableState to CustomDebugStringConvertible (#777)
This ensures that bindable state properties are displayed in a useful way when using
`.dump` snapshot tests on your app state.
2021-09-07 12:15:23 -04:00
Brandon Williams
90e97411c8 Change initialThread to a let. (#778) 2021-09-07 12:06:52 -04:00
Brandon Williams
33279f4c38 Update to thread warnings. (#773)
* Update to thread warnings.

* fix tests

* clean up

* rename variable
2021-09-07 11:56:46 -04:00
Stephen Celis
7ede19f9b5 Improve deprecation warnings for old binding helpers (#774)
* Improve deprecation warnings for old binding helpers

* wip

* wip

* wip

* esc

* wip
2021-09-07 11:38:57 -04:00
stephencelis
7d15362de9 Run swift-format 2021-09-07 14:53:32 +00:00
Stephen Celis
aac63d7e18 Add documentation for BindingAction.pullback (#771)
* Add documentation for `BindingAction.pullback`

* wip

* motivate
2021-09-07 10:23:43 -04:00
Ian Keen
c77c6054c8 Add threading warning to Store.send (#772)
* Add threading warning to Store.send

Any async Effect (including fireAndForget) could result in a runtime crash when updating internal state like `effectCancellables`
This adds a debug warning to let users know

* Remove comment
2021-09-07 10:20:15 -04:00
stephencelis
60dc806718 Run swift-format 2021-09-06 15:19:19 +00:00
Stephen Celis
af88fe4c79 Safer, Conciser Bindings (#765)
* Better binding tools.

* make everything public

* deprecate

* update

* clean up

* wip

* dml

* wip

* wip

* Fix a redundant conformance constraint warning in ForEachStore (#738)

The warning was:

    Sources/ComposableArchitecture/SwiftUI/ForEachStore.swift:141:28: warning: redundant conformance constraint 'EachContent' : 'View'
      public init<EachContent: View>(
                               ^
    Sources/ComposableArchitecture/SwiftUI/ForEachStore.swift:146:16: note: conformance constraint 'EachContent' : 'View' implied here
        EachContent: View,
                   ^

I fixed the warning by removing the redundant constraint from the type
parameter.

* wip

* wip

* wip

* wip

* wip

* wip

* wip

Co-authored-by: Brandon Williams <mbrandonw@hey.com>
Co-authored-by: Adam Roben <aroben@apple.com>
2021-09-06 11:10:47 -04:00
stephencelis
3c51885b98 Run swift-format 2021-08-25 19:56:19 +00:00
Stephen Celis
bf9ab75f9d Add CI for DocC warnings (#750)
* Add CI for DocC warnings

* More specific grep
2021-08-25 15:39:36 -04:00
Brandon Williams
1f2f6124be Update Exports.swift (#749) 2021-08-25 10:45:57 -04:00
Ken Grigsby
682e2902c2 Correct Store documentation (#746) 2021-08-25 08:58:28 -04:00
iampatbrown
7fec6a4df7 Pass attemptToFulfill directly to Future (#743) 2021-08-24 23:46:19 -04:00
Stephen Celis
68664c144e Use proportional diffing for TestStore failures (#742)
* Use proportional diffing for TestStore failures

* wip

* wip
2021-08-24 17:18:09 -04:00
Adam Roben
d4b438a61f Fix a redundant conformance constraint warning in ForEachStore (#738)
The warning was:

    Sources/ComposableArchitecture/SwiftUI/ForEachStore.swift:141:28: warning: redundant conformance constraint 'EachContent' : 'View'
      public init<EachContent: View>(
                               ^
    Sources/ComposableArchitecture/SwiftUI/ForEachStore.swift:146:16: note: conformance constraint 'EachContent' : 'View' implied here
        EachContent: View,
                   ^

I fixed the warning by removing the redundant constraint from the type
parameter.
2021-08-23 14:03:39 -04:00
Stephen Celis
575d7c0d59 Use Custom Dump (#736)
* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* fix

* wip

* wip

* Model Tic-Tac-Toe board using proper type

* wip

* wip

* wip

* wip

Co-authored-by: Brandon Williams <mbrandonw@hey.com>
2021-08-22 22:45:27 -04:00
Stephen Celis
b73f74f68d Make file/line parameters explicit (#729) 2021-08-20 09:00:16 -04:00
iampatbrown
54b6247c6f Additional clean up suspend(while:) (#730) 2021-08-20 08:57:14 -04:00
Stephen Celis
63e5c43019 Clean up suspend(while:) (#726) 2021-08-19 19:57:42 -04:00
Stephen Celis
b596de576a Fix cancellation of ViewStore.suspend (#725)
* Fix cancellation of ViewStore.suspend

* wip

* Remove capture list
2021-08-19 12:45:38 -04:00
Stephen Celis
96cdc7e38e Add Effect.task for wrapping units of async/await work (#715)
* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* docs

* clean up

* Remove bad test

Co-authored-by: Brandon Williams <mbrandonw@hey.com>
2021-08-16 09:32:58 -04:00
Brandon Williams
a38e04da7d Modernize some things (#713)
* Modernize some things.

* clean up

* wip

* wip

* clean up

* wip

* wip
2021-08-12 18:13:40 -04:00