def run_bound_with_completion

bendvy-ecs-core@0.1.0.3 · execution_generalized_root_application.bend:43

import bendvy-ecs-core@0.1.0.3/execution_generalized_root_application.bend as ExecutionGeneralizedRootApplication
import Base
import bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend as L
import bendvy-ecs-core@0.1.0.3/world.bend as W
import bendvy-ecs-core@0.1.0.3/dependency_application.bend as App
import bendvy-ecs-core@0.1.0.3/dependency_executor.bend as Exec
import bendvy-ecs-core@0.1.0.3/execution_schedule.bend as Schedule
import bendvy-ecs-core@0.1.0.3/execution_relation_context.bend as Context

43def run_bound_with_completion(~S:Data,~components:L.Layout,~resources:L.Layout,~E:Data,~Nodes:Type,~Guards:Type,~Handler:Type,~Error:Data,~Out:Data,~dispatch:Nodes -> W.World<S,L.columns(~S,components),L.resources(~S,resources),E> -> U32 -> Nodes & (W.World<S,L.columns(~S,components),L.resources(~S,resources),E> & Exec.Invocation<Error,Out>),~guardDispatch:Guards -> W.World<S,L.columns(~S,components),L.resources(~S,resources),E> -> U32 -> Guards & (W.World<S,L.columns(~S,components),L.resources(~S,resources),E> & Exec.Invocation<Error,Bool>),~handle:Handler -> Error -> Handler & Exec.Handling,~publish:List<&2,U32> -> W.World<S,L.columns(~S,components),L.resources(~S,resources),E> -> Nodes -> W.World<S,L.columns(~S,components),L.resources(~S,resources),E> & (Nodes & List<&2,U32>),completion:Exec.ExecutionResult<App.State<W.World<S,L.columns(~S,components),L.resources(~S,resources),E>,Nodes,Guards,Handler>,String,Error,Out> -> Exec.ExecutionResult<App.State<W.World<S,L.columns(~S,components),L.resources(~S,resources),E>,Nodes,Guards,Handler>,String,Error,Out>,bound:Context.Bound<S,L.resources(~S,resources),resources,{==},Schedule.Scheduled<App.State<W.World<S,L.columns(~S,components),L.resources(~S,resources),E>,Nodes,Guards,Handler>>>) -> Context.Bound<S,L.resources(~S,resources),resources,{==},Schedule.Scheduled<App.State<W.World<S,L.columns(~S,components),L.resources(~S,resources),E>,Nodes,Guards,Handler>>> & Context.RunReport<App.Report<Error,Out>>:
44  match bound:
45    case Context.Bound{+context,Schedule.Scheduled{App.State{world,nodes,guards,handler,stateBindings},plan,bindings,deferred}}:checked_bound(~S,~components,~resources,~E,~Nodes,~Guards,~Handler,~Error,~Out,~dispatch,~guardDispatch,~handle,~publish,completion,context,nodes,guards,handler,stateBindings,plan,bindings,deferred,Context.matches(~S,~L.columns(~S,components),~L.resources(~S,resources),~E,~resources,~{==},context,world))

Uses (19)

Used by (1)