Workflow

public final class Workflow<F> : LinkedList<_WorkflowItem> where F : FlowRepresentable

A doubly linked list of FlowRepresentableMetadatas; used to define a process.

Discussion

In a sufficiently complex application, it may make sense to create a structure to hold onto all the workflows in an application.

Example

struct Workflows {
    static let schedulingFlow = Workflow(SomeFlowRepresentable.self)
        .thenProceed(with: SomeOtherFlowRepresentable.self)
}

Available where F.WorkflowOutput == Never

Available where F.WorkflowOutput == AnyWorkflow.PassedArgs

Available where F.WorkflowOutput == Never

Available where F.WorkflowOutput == AnyWorkflow.PassedArgs