Commit Graph

48 Commits

Author SHA1 Message Date
Stephen Celis
dc9dd315ee Cleanup (#1107) 2022-05-24 15:15:57 -04:00
Stephen Celis
1d6f65c692 Fix docs 2022-05-03 08:55:13 -04:00
mbrandonw
96f47fbe85 Run swift-format 2022-04-08 16:57:56 +00:00
Brandon Williams
c8482eb61b Move DEBUG check to runtimeWarning function. (#1056)
* Move DEBUG check to runtimeWarning function.

* wip
2022-04-08 09:48:35 -07:00
Stephen Celis
2828dc44f6 Runtime Warning Finesse (#1023) 2022-03-15 16:21:13 -04:00
Omar Albeik
620ec5c6d9 Fix a typo in Store docs (#998) 2022-02-07 09:32:02 -05:00
Stephen Celis
313dd217dc Improving developer experience with runtime warnings (#943)
* 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

* wip

* wip

* clean up

* language

* wip

* note

* wip

* wip

* wip

* wip

* wip

* fix closing quote

* wip

* fix merge

* Deprecations

* Fix docs

* wip

Co-authored-by: Brandon Williams <mbrandonw@hey.com>
2022-01-03 10:55:13 -06: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
Stephen Celis
4bdcaafcd0 Deprecate Store.publisherScope (#758)
* Deprecate Store.publisherScope

* wip

* fix

* wip
2021-09-17 13:12:52 -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
Brandon Williams
d15101d7b6 Update threading messaging. (#789) 2021-09-13 21:54:23 -04:00
stephencelis
cb5150f57e Run swift-format 2021-09-07 16:50:30 +00: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
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