def execution_run

bendvy-ecs-core@0.1.0.4 · ordinary_app_local_fields.bend:136

import bendvy-ecs-core@0.1.0.4/ordinary_app_local_fields.bend as OrdinaryAppLocalFields
import Base
import bendvy-ecs-core@0.1.0.4/execution_context.bend as Ctx
import bendvy-ecs-core@0.1.0.4/system.bend as Sys
import bendvy-ecs-core@0.1.0.4/world.bend as W
import bendvy-ecs-core@0.1.0.4/ordinary_resource_system.bend as P
import bendvy-ecs-core@0.1.0.4/transaction.bend as T

136# Advanced id-routed dispatch. Mismatched id returns invocation/context unchanged
137# with RegistrationRefused. Matched execution preserves reusable Data Args and
138# retains the returned Local instance; callback failure maps to CallbackFailure,
139# while successful Out is discarded. Trace context is carried separately.
140# This adapter installs no skip/cursor-advance or Local disposal callback.
141def execution_run(~S:Data,~C:Type,~R:Type,~E:Data,~L:Type,~Args:Data,~Error:Data,~Out:Type,~Ops:Type -> Type,~declaration:P.Declaration<S,R,T.Tx<W.World<S,C,R,E>,E>,Ops(T.Tx<W.World<S,C,R,E>,E>)>,~body:@-H:Type -> @-caps:Ops(H) -> L -> Args -> H -> H & (L & (T.Outcome<Error> & Out)),value:Invocation<S,C,R,E,L,Args,Error,Out,Ops,declaration,body>,context:Ctx.Context<W.World<S,C,R,E>>,id:U32) -> Invocation<S,C,R,E,L,Args,Error,Out,Ops,declaration,body> & Sys.Outcome<Ctx.Context<W.World<S,C,R,E>>,ExecutionError<Error>,Unit>:
142  match value:
143    case Invocation{owner,args}:execution_selected(~S,~C,~R,~E,~L,~Args,~Error,~Out,~Ops,~declaration,~body,args,context,id,fields(~S,~C,~R,~E,~L,~Args,~Error,~Out,~Ops,~declaration,~body,owner))

Uses (13)

Used by (2)