workflow-swift
workflow-swift copied to clipboard
A Swift and Kotlin library for making composable state machines, and UIs driven by those state machines.
Introducing `HooksWorkflow`, this allows Workflows to use stateful data without using the Workflow's `State`. Similar to React's [hooks](https://reactjs.org/docs/hooks-intro.html). To use a stateful property: ```swift let (color, colorUpdater) = HookWorkflow(defaultValue: ColorState.red)...
Kotlin has [LifecycleWorker](https://github.com/square/workflow-kotlin/blob/main/workflow-core/src/main/java/com/squareup/workflow1/LifecycleWorker.kt) that makes it easy to perform side-effects when the worker is started or stopped. At the moment, this is essentially equivalent to doing the following in Swift:...
If multiple events are sent to sink in-between render updates, Workflow crashes with: ```EventPipe can only be enabled from the `pending` state```
Explores introducing APIs to make State mutations easier. ## Proposal 1: Introduce: ```swift extension AnyWorkflow { public func applyOutputToState(in context: RenderContext, stateMutation: @escaping ((inout Parent.State, Output) -> Void)) -> AnyWorkflow...
As mentioned in the [PR](https://github.com/square/workflow/pull/1104) for adding PR template, a linter needs to be added to CI for Swift since Kotlin already has one.
Master / Detail is not great terminology.
This PR introduces a wrapper screen that transitions its content when the underlying VC type changes; which was lost as a "standard" thing when we removed `DescribedViewController` usage from our...
## Checklist - [ ] Unit Tests - [ ] UI Tests - [ ] Snapshot Tests (iOS only) - [ ] I have made corresponding changes to the documentation
Building on @square-tomb's work in #260, this PR prototypes the Perception approach more fully. This PR uses a fork of CocoaPods to pull in the SPM dependencies. Run `bundle install`...