Commit Graph

108 Commits

Author SHA1 Message Date
Thomas Grapperon
37d05164c3 Conform WithViewStore to Commands (#1113)
* Conform `WithViewStore` to `Commands`

* Fix typo

* Add coverage for `Commands`

* Fix documentation

* Conform `WithViewStore` to `AccessibilityRotorContent` and `ToolbarContent`

* Conform `WithViewStore` to `TableColumnContent`

* Fix indentation

* Conform `WithViewStore` to `TableRowContent`

* Fix Typo

* Conform `WithViewStore` to `DynamicTableRowContent`

* Reorder declarations according to the protocol name

* Add coverage for `WithViewStore` new conformances

* Remove Table-related conformances

* Rearrange extensions for better autocomplete.

Co-authored-by: Brandon Williams <mbrandonw@hey.com>
2022-06-03 11:53:54 -04:00
Stephen Celis
c232a9f353 Swift 5.7 fixes (#1089)
* Fix Swift 5.7 warnings

* Fix Swift 5.7 threading issue
2022-05-12 13:07:37 -04:00
Brandon Williams
af3eed801a Move send(_:animation:) to ViewStore.swift. (#1075) 2022-05-02 17:44:45 -07: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
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