Commit Graph

203 Commits

Author SHA1 Message Date
Stephen Celis
2828dc44f6 Runtime Warning Finesse (#1023) 2022-03-15 16:21:13 -04:00
Thomas Grapperon
85050a28a9 Fix WithViewStore issues with Views using escaping closures (#1015)
* Use a new instance of `ViewStore` in `WithViewStore`'s `body`

* Use explicit `self` for style coherence

* Remove `viewCancellable` additional reference in `newInstance()`

* Revert "Remove `viewCancellable` additional reference in `newInstance()`"

This reverts commit cb6a22ae4f.

* Change `viewCancellable` capture list

* Update `GeometryReader`'s workarounds
2022-03-11 15:23:42 -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
9c162f485b Fix iOS 14 alert/confirmationDialog runtime crash (#931)
* Fix iOS 14 alert/confirmationDialog runtime crash

* wip

* wip
2021-12-20 16:38:09 -05:00
Stephen Celis
ff41e51a4e Limit async/await to Swift 5.5.2 (Xcode 13.2) (#923) 2021-12-16 16:32:02 -05:00
stephencelis
d992e4c775 Run swift-format 2021-12-03 21:11:01 +00:00
Fero
921272e329 Add support for accessibility modifiers on TextState (#863)
* wip

* wip2

* fix unsupported builds

* handle custom dump

* alphabetize

* use TextState for .accessibilityLabel associated value
2021-12-03 16:04:01 -05:00
Thomas Visser
068333afdc Make AlertState.ButtonAction.type public (#871) 2021-10-25 16:16:06 -04:00
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
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
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
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
Stephen Celis
a554b00ff4 Remove old deprecations (#795)
* Remove old deprecations

* wip
2021-09-14 22:30:38 -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
Stephen Celis
aac63d7e18 Add documentation for BindingAction.pullback (#771)
* Add documentation for `BindingAction.pullback`

* wip

* motivate
2021-09-07 10:23:43 -04: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
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
stephencelis
67ccab6bce Run swift-format 2021-08-11 16:13:31 +00:00
Stephen Celis
e73b36e2cb WithViewStore debug state diffs (#706)
* WithViewStore debug state diffs

* More debug checks

* fix

* wip
2021-08-11 11:55:08 -04:00
Stephen Celis
2d1e21b5aa Convert #file to #fileID for debug purposes (#708) 2021-08-11 11:54:36 -04:00
Stephen Celis
5209f47b03 Update AlertState.Button APIs for animation (#681)
* Update AlertState.Button APIs for animation

* fix

* wip

* deprecate
2021-07-28 12:10:15 -04:00
Bernhard Loibl
71be9d9676 Enables animations for alert button actions (#680)
* Enables animations for alert button actions.

* Updates alert button api and previews.

Co-authored-by: Bernhard Loibl <bernhard.loibl@intive.com>
2021-07-28 10:21:41 -04:00
konomae
60fbb66016 Fix minor typo (#671)
* Fix typo: iff → if

* Add missing `>`
2021-07-26 08:17:31 -04:00
Stephen Celis
0978dde24a Keep last non-nil value around for ForEachStore (#668) 2021-07-22 13:32:49 -04:00
Olli Tapaninen
30f3027cf7 Fix IfLetStore so that it does not replay first seen state on nil-value (#667) 2021-07-22 10:31:58 -04:00
Stephen Celis
ac7ea43ff2 Merge remote-tracking branch 'origin/main' into ia 2021-07-09 15:41:49 -04:00
Stephen Celis
e900d29765 Add Benchmarking Target (#643)
* Benchmarks

* CI

* test

* fix?

* Fix
2021-07-08 15:07:49 -04:00
Stephen Celis
50a16e072e Deprecate array-based forEach/ForEachStore (#641)
* Deprecate array-based forEach/ForEachStore

* Update tests
2021-07-08 10:49:13 -04:00
Brandon Williams
5f6d8a2538 Don't use CasePath in .binding (#632)
* Don't use CasePath in .binding

* wip

* wip

* wip
2021-07-07 18:05:43 -04:00
Stephen Celis
e1c7077cd1 wip 2021-06-25 16:42:22 -04:00
Stephen Celis
fab3510d54 wip 2021-06-25 13:06:45 -04:00
stephencelis
ed857eb61e Run swift-format 2021-06-21 19:10:36 +00:00
Stephen Celis
2444710eff Add more SwitchStore overloads (#607)
Goes up to 9 cases + 1 default = 10 views in a tuple.
2021-06-21 14:58:38 -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
mbrandonw
e043226f3d Run swift-format 2021-06-14 18:15:34 +00: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
c99a2f9636 Update Tic-Tac-Toe to use enum state (#595)
* Update Tic-Tac-Toe to use enum state

* wip

* more swift compatability changes

Co-authored-by: Brandon Williams <mbrandonw@hey.com>
2021-06-14 12:39:39 -04:00
mbrandonw
e1c0a52897 Run swift-format 2021-06-14 14:53:01 +00:00
Brandon Williams
3d8db944c7 Add SwitchStore and CaseLet (#594)
* wip

* ttt

* simplfiy

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* fix

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* docs

* wip

* wip

* wip

* wip

* wip

* updates

* revert ttt stuff'

* xcode 11 fixes

Co-authored-by: Stephen Celis <stephen@stephencelis.com>
2021-06-14 10:46:36 -04:00