def execute
bendvy-ecs-core@0.1.0.3 · dependency_executor.bend:46
import bendvy-ecs-core@0.1.0.3/dependency_executor.bend as DependencyExecutor
import Base
import bendvy-ecs-core@0.1.0.3/dependency_plan.bend as Plan
46def execute(~State:Type,~Requirement:Data,~Error:Data,~Out:Data,~condition:State -> U32 -> State & Condition<Error>,~dispatch:State -> U32 -> State & Invocation<Error,Out>,~handler:State -> Error -> State & Handling,order:List<&2,Plan.Node<Requirement>>,state:State,events:List<&2,Observation<Error,Out>>) -> ExecutionResult<State,Requirement,Error,Out>:
47 match order:
48 case []:Finished{state,events}
49 case Plan.Node{+id,_} <> rest:conditioned(~State,~Requirement,~Error,~Out,~dispatch,~handler,state => events => execute(~State,~Requirement,~Error,~Out,~condition,~dispatch,~handler,rest,state,events),condition(state,id),id,events)