* 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>
* 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
* Adds a failing test demonstrating #661
* Don't write to state till `isSending` is false
* Update StoreTests.swift
* Update StoreTests.swift
Co-authored-by: Stephen Celis <stephen@stephencelis.com>
Co-authored-by: Stephen Celis <stephen.celis@gmail.com>
* Added multicast to ViewStore publisher to reduce equality checks
* Replaced multicast with ViewStore CurrentValueSubject
* Added guard check to weak self
* Clean up and add test.
Co-authored-by: Brandon Williams <mbrandonw@hey.com>
* Store can use @Published again
As of the third beta, assign(to:) takes an `inout Publisher.Publisher`,
so it no longer surfaces an escape hatch through which one could mutate
a store's state.
Fixes#238.
* Fix tests.
* Update ci.yml
* Add assertion to Reducer.optional
* Another bug
* Another potential bug
* best practice?
* WIP
* Clean up language and add more language to index-based forEach
* Re-wrap
* Update Sources/ComposableArchitecture/Reducer.swift
Co-authored-by: Brandon Williams <mbw234@gmail.com>
* Update Sources/ComposableArchitecture/Reducer.swift
Co-authored-by: Brandon Williams <mbw234@gmail.com>
* wording
Co-authored-by: Brandon Williams <mbw234@gmail.com>