Commit Graph

133 Commits

Author SHA1 Message Date
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
stephencelis
7d15362de9 Run swift-format 2021-09-07 14:53:32 +00: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
Ken Grigsby
682e2902c2 Correct Store documentation (#746) 2021-08-25 08:58:28 -04:00
Jason Clark
a2319ff82b Buffered Actions Failing Test (#662)
* 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>
2021-07-16 15:20:11 -04:00
Stephen Celis
adb1f25ab4 Store publisher should retain its view store (#652)
* Make the StorePublisher own the ViewStore.

* cleanup

Co-authored-by: Brandon Williams <mbrandonw@hey.com>
2021-07-12 13:25:27 -04:00
iampatbrown
5ca2b43bc7 Added multicast to ViewStore publisher to reduce equality checks (#624)
* 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>
2021-07-08 12:53:30 -04:00
Stephen Celis
3ca8249bd3 Coalesce synchronous effectful mutations to state (#619) 2021-06-28 07:49:37 -04:00
Stephen Celis
e7e222f1ff Store.scope/StorePublisher Performance Improvements (#616)
* Scope fix

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* revert

* wip

* wip

* wip

* fix

* wip

* wip

* wip

* wip

* wip

* wip

Co-authored-by: Brandon Williams <mbrandonw@hey.com>
2021-06-27 21:30:43 -04:00
Stephen Celis
d30336ca13 Clean-up pass for DocC (#599) 2021-06-16 08:48:14 -05:00
Brandon Williams
9716a3247a Improve some docs. (#597)
* Improve some docs.

* wip

* Update Sources/ComposableArchitecture/Store.swift

Co-authored-by: Stephen Celis <stephen@stephencelis.com>

* Update Sources/ComposableArchitecture/Store.swift

Co-authored-by: Stephen Celis <stephen@stephencelis.com>

* Update Sources/ComposableArchitecture/Store.swift

Co-authored-by: Stephen Celis <stephen@stephencelis.com>

* Update Sources/ComposableArchitecture/Store.swift

Co-authored-by: Stephen Celis <stephen@stephencelis.com>

* Update Sources/ComposableArchitecture/Store.swift

Co-authored-by: Stephen Celis <stephen@stephencelis.com>

* Update Sources/ComposableArchitecture/Store.swift

Co-authored-by: Stephen Celis <stephen@stephencelis.com>

* Update Sources/ComposableArchitecture/ViewStore.swift

Co-authored-by: Stephen Celis <stephen@stephencelis.com>

* 110 column

* update link

* add docc to switchstore

Co-authored-by: Stephen Celis <stephen@stephencelis.com>
2021-06-15 10:33:52 -04:00
Wendy Liga
1a8bccc62e Support DocC Xcode 13 (#591)
* wip

* finish

* revert back code snippet identation to 5

* Update Sources/ComposableArchitecture/Effect.swift

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

Co-authored-by: Brandon Williams <135203+mbrandonw@users.noreply.github.com>
2021-06-14 14:10:08 -04:00
Stephen Celis
6eb7ca5d48 Remove convenience initializer on Store (#572) 2021-05-26 13:33:34 -07:00
Stephen Celis
636f3facdc Document scope a bit more deeply (#360) 2021-02-01 14:46:35 -05:00
stephencelis
0190f032c1 Run swift-format 2020-10-29 21:43:17 +00:00
Stephen Celis
5ddbcdd21a Rename publisher-transforming scope (#314)
* Rename publisher-transforming scope

* feedback
2020-10-29 17:29:52 -04:00
mbrandonw
43a122a34b Run swift-format 2020-09-14 23:02:48 +00:00
Brandon Williams
7e526ba503 Buffer actions when sent recursively (#287)
* wip

* wip

* explicit test store

* test

* test

* clean up

Co-authored-by: Stephen Celis <stephen@stephencelis.com>
2020-09-14 18:58:56 -04:00
Stephen Celis
13cb3c3165 Update CI to include Xcode 12 (#266)
* Update CI to include Xcode 12

* Use CurrentValueSubject
2020-08-27 12:23:12 -04:00
Stephen Celis
e75904c180 Store can use @Published again (#239)
* 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
2020-07-29 13:48:57 -04:00
Stephen Celis
a8a7c40029 Xcode 11.6/12 CI (#206)
* Run CI against Xcode 12

* Also run against 11.6

* CurrentValueSubject

* Fix

* Update ci.yml
2020-07-07 11:09:51 -04:00
Olli Tapaninen
1677b2d500 Print offending action on Store.send assertion (#188)
* Print offending action on Store.send assertion

* Reword Store.send assert

Co-authored-by: Brandon Williams <mbw234@gmail.com>

Co-authored-by: Brandon Williams <mbw234@gmail.com>
2020-06-16 07:59:12 -05:00
Stephen Celis
3d89482da6 Add assertion to Reducer.optional (#157)
* 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>
2020-06-04 13:57:25 -04:00
stephencelis
c4d4201284 Run swift-format 2020-06-01 19:33:34 +00:00
klop
3475b18db6 Replace recursive call in Store.send with a while loop to process synchronous effects (#163)
* While loop instead of recursive send for synchronous effects in store

* Created StoreTests.testLotsOfSynchronousActions
2020-06-01 15:30:46 -04:00
Anton Siliuk
ef465884f9 Replace 'receive(subscriber:)' with 'subscribe()' (#158) 2020-05-30 12:19:08 -04:00
mbrandonw
500300871d Run swift-format 2020-05-29 16:33:18 +00:00
Brandon Williams
f25878c01f Clarify assertion failure for incorrect send usage (#151)
* Clarify assertion failure for incorrect send usage

* Update ViewStore.swift

* Update Sources/ComposableArchitecture/Store.swift

Co-authored-by: Dante Broggi <34220985+Dante-Broggi@users.noreply.github.com>

* Update Sources/ComposableArchitecture/Store.swift

Co-authored-by: Stephen Celis <stephen@stephencelis.com>

Co-authored-by: Dante Broggi <34220985+Dante-Broggi@users.noreply.github.com>
Co-authored-by: Stephen Celis <stephen@stephencelis.com>
2020-05-29 09:30:56 -07:00
Stephen Celis
9c339bf4ae Add "run" function to Reducer (#91)
* Add "run" function to Reducer

* Doc fixes
2020-05-13 13:09:17 -04:00
Stephen Celis
0442bfba68 Document Store.{state,action}less (#72) 2020-05-11 18:48:41 -04:00
Stephen Celis
b4779b36b1 Helpers for making stores stateless/actionless (#45) 2020-05-11 18:40:09 -04:00
Brandon Williams
d2240d0e76 The Composable Architecture
Co-authored-by: Stephen Celis <stephen.celis@gmail.com>
2020-05-03 22:26:28 -07:00