def run_observed_with_completion

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

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

31def run_observed_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>,on:Bool,scheduled:Schedule.Scheduled<App.State<W.World<S,L.columns(~S,components),L.resources(~S,resources),E>,Nodes,Guards,Handler>>) -> Schedule.ObservedScheduled<App.State<W.World<S,L.columns(~S,components),L.resources(~S,resources),E>,Nodes,Guards,Handler>,Error,Out>:
32  Schedule.run_observed_with_completion(~App.State<W.World<S,L.columns(~S,components),L.resources(~S,resources),E>,Nodes,Guards,Handler>,~Error,~Out,~App.condition_state(~W.World<S,L.columns(~S,components),L.resources(~S,resources),E>,~Nodes,~Guards,~Handler,~Error,~Out,~dispatch,~guardDispatch,~handle),~App.dispatch_state(~W.World<S,L.columns(~S,components),L.resources(~S,resources),E>,~Nodes,~Guards,~Handler,~Error,~Out,~dispatch,~guardDispatch,~handle),~App.handle_state(~W.World<S,L.columns(~S,components),L.resources(~S,resources),E>,~Nodes,~Guards,~Handler,~Error,~Out,~dispatch,~guardDispatch,~handle),~apply(~S,~components,~resources,~E,~Nodes,~Guards,~Handler,~publish),completion,on,scheduled)

Uses (20)

Used by (2)