def execution_allowed

bendvy-ecs-core@0.1.0.4 · internal/ordinary_component_runner.bend:39

import bendvy-ecs-core@0.1.0.4/internal/ordinary_component_runner.bend as OrdinaryComponentRunner
import Base
import bendvy-ecs-core@0.1.0.4/change_tick.bend as Tick
import bendvy-ecs-core@0.1.0.4/ordinary_app_execution_recipe.bend as Exec
import bendvy-ecs-core@0.1.0.4/ordinary_app_registration_run.bend as Transport
import bendvy-ecs-core@0.1.0.4/execution_context.bend as Ctx
import bendvy-ecs-core@0.1.0.4/ordinary_app_registration_fields.bend as Records
import bendvy-ecs-core@0.1.0.4/ordinary_app_records.bend as Leaf
import bendvy-ecs-core@0.1.0.4/world.bend as W
import bendvy-ecs-core@0.1.0.4/system.bend as Sys
import bendvy-ecs-core@0.1.0.4/transaction.bend as T
import bendvy-ecs-core@0.1.0.4/ordinary_system.bend as System
import bendvy-ecs-core@0.1.0.4/compose.bend as Q
import bendvy-ecs-core@0.1.0.4/inspector.bend as I
import bendvy-ecs-core@0.1.0.4/ordinary_query_observable.bend as O

39def execution_allowed(~S:Data,~C:Type,~R:Type,~E:Data,~Ops:Type -> Type,~Args:Data,~Error:Data,~Out:Data,~Value:Data,~query:O.Declaration<S,Q.Frame<S,C,R,E>,Ops(Q.Frame<S,C,R,E>),I.Frame<S,C,R,E>,Value>,~body:@-H:Type -> @-caps:Ops(H) -> Args -> H -> H & (T.Outcome<Error> & Out),~runner:W.World<S,C,R,E> -> (Args & Maybe<&2,Tick.Tick>) -> Sys.Outcome<W.World<S,C,R,E>,Q.Error<Error>,List<&2,Out>>,~define_runner:W.World<S,C,R,E> -> String -> String -> System.Defined<S,W.World<S,C,R,E>,Sys.Registry<S,C,R,E,Args & Maybe<&2,Tick.Tick>,Q.Error<Error>,List<&2,Out>,runner>>,~execute_runner:Records.Token<Sys.Registry<S,C,R,E,Args & Maybe<&2,Tick.Tick>,Q.Error<Error>,List<&2,Out>,runner>> -> Records.Fields<S> -> Ctx.Context<W.World<S,C,R,E>> -> Args -> Transport.TransportResult<S,Ctx.Context<W.World<S,C,R,E>>,Args & Maybe<&2,Tick.Tick>,Q.Error<Error>,List<&2,Out>,Records.Token<Sys.Registry<S,C,R,E,Args & Maybe<&2,Tick.Tick>,Q.Error<Error>,List<&2,Out>,runner>>>,~ExecError:Data,~callback_failure:Q.Error<Error> -> ExecError,~registration_refused:ExecError,allowed:Bool,owner:Exec.Invocation<S,Records.Token<Sys.Registry<S,C,R,E,Args & Maybe<&2,Tick.Tick>,Q.Error<Error>,List<&2,Out>,runner>>,Args,Out>,world:Ctx.Context<W.World<S,C,R,E>>,id:U32) -> Exec.Invocation<S,Records.Token<Sys.Registry<S,C,R,E,Args & Maybe<&2,Tick.Tick>,Q.Error<Error>,List<&2,Out>,runner>>,Args,Out> & Sys.Outcome<Ctx.Context<W.World<S,C,R,E>>,ExecError,Unit>:
40  match allowed owner:
41    case False{} owner:(owner,Sys.Failed{world,registration_refused})
42    case True{} Exec.Invocation{Leaf.Record{token,fields},+args,_}:execution_returned(~S,~C,~R,~E,~Ops,~Args,~Error,~Out,~Value,~query,~body,~runner,~define_runner,~execute_runner,~ExecError,~callback_failure,~registration_refused,args,execute_runner(token,fields,world,args))

Uses (25)

Used by (3)