EXTENSION
AnyWorkflowConvertible¶
extension AnyWorkflowConvertible
Methods¶
mapOutput(_:)¶
public func mapOutput<NewOutput>(_ transform: @escaping (Output) -> NewOutput) -> AnyWorkflow<Rendering, NewOutput>
mapRendering(_:)¶
public func mapRendering<NewRendering>(_ transform: @escaping (Rendering) -> NewRendering) -> AnyWorkflow<NewRendering, Output>
rendered(in:key:)¶
public func rendered<Parent>(in context: RenderContext<Parent>, key: String = "") -> Rendering where Output: WorkflowAction, Output.WorkflowType == Parent
Creates or updates a child workflow of the given type, performs a render pass, and returns the result.
Note that it is a programmer error to render two instances of a given workflow type with the same key
during the same render pass.
- Parameter context: The context with which the workflow will be rendered.
 - 
Parameter key: A string that uniquely identifies this workflow.
 - 
Returns: The
Renderinggenerated by the workflow. 
Parameters¶
| Name | Description | 
|---|---|
| context | The context with which the workflow will be rendered. | 
| key | A string that uniquely identifies this workflow. | 
rendered(in:key:outputMap:)¶
public func rendered<Parent, Action>(in context: RenderContext<Parent>, key: String = "", outputMap: @escaping (Output) -> Action) -> Rendering where Action: WorkflowAction, Action.WorkflowType == Parent
rendered(in:key:)¶
public func rendered<Parent>(in context: RenderContext<Parent>, key: String = "") -> Rendering where Output == AnyWorkflowAction<Parent>
rendered(in:key:)¶
public func rendered<T>(in context: RenderContext<T>, key: String = "") -> Rendering
Creates or updates a child workflow of the given type, performs a render pass, and returns the result.
Note that it is a programmer error to render two instances of a given workflow type with the same key
during the same render pass.
- Parameter context: The context with which the workflow will be rendered.
 - 
Parameter key: A string that uniquely identifies this workflow.
 - 
Returns: The
Renderinggenerated by the workflow. 
Parameters¶
| Name | Description | 
|---|---|
| context | The context with which the workflow will be rendered. | 
| key | A string that uniquely identifies this workflow. | 
running(in:key:outputMap:)¶
public func running<Parent, Action>(in context: RenderContext<Parent>, key: String = "", outputMap: @escaping (Output) -> Action) where Action: WorkflowAction, Action.WorkflowType == Parent
running(in:key:)¶
public func running<Parent>(in context: RenderContext<Parent>, key: String = "") where Output.WorkflowType == Parent
onOutput(_:)¶
public func onOutput<Parent>(_ apply: @escaping ((inout Parent.State, Output) -> Parent.Output?)) -> AnyWorkflow<Rendering, AnyWorkflowAction<Parent>>
Process an Output
- Parameter apply: On 
Output, mutateStateas necessary and return newOutput(ornil). 
Parameters¶
| Name | Description | 
|---|---|
| apply | On Output, mutate State as necessary and return new Output (or nil). | 
ignoringOutput()¶
public func ignoringOutput() -> AnyWorkflow<Rendering, Never>
Wraps this workflow in a workflow that ignores all outputs.
- Returns: An 
AnyWorkflowwith the same rendering and no output.