def execution_allowed
bendvy-ecs-core@0.1.0.4 · ordinary_app_capture_query.bend:44
import bendvy-ecs-core@0.1.0.4/ordinary_app_capture_query.bend as OrdinaryAppCaptureQuery
import Base
import bendvy-ecs-core@0.1.0.4/ordinary_app_execution_recipe.bend as Exec
import bendvy-ecs-core@0.1.0.4/execution_context.bend as Ctx
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/compose.bend as Q
import bendvy-ecs-core@0.1.0.4/ordinary_capture_query.bend as O
import bendvy-ecs-core@0.1.0.4/ordinary_query_declaration.bend as Decl
44def execution_allowed(~S:Data,~C:Type,~R:Type,~E:Data,~L:Type,~Ops:Type -> Type,~Args:Data,~Error:Data,~Out:Data,~query:Decl.Declaration<S,Q.Frame<S,C,R,E>,Ops(Q.Frame<S,C,R,E>)>,~body:@-H:Type -> @-caps:Ops(H) -> L -> Args -> H -> H & (L & (T.Outcome<Error> & Out)),allowed:Bool,invocation:Invocation(~S,~C,~R,~E,~L,~Ops,~Args,~Error,~Out,~query,~body),context:Ctx.Context<W.World<S,C,R,E>>) -> Invocation(~S,~C,~R,~E,~L,~Ops,~Args,~Error,~Out,~query,~body) & Sys.Outcome<Ctx.Context<W.World<S,C,R,E>>,ExecutionError<Error>,Unit>:
45 match allowed invocation context:
46 case False{} invocation context:(invocation,Sys.Failed{context,RegistrationRefused{}})
47 case True{} Exec.Invocation{Leaf.Record{owner,_},+args,_} Ctx.Context{world,trace}:execution_returned(~S,~C,~R,~E,~L,~Ops,~Args,~Error,~Out,~query,~body,args,trace,O.run(~S,~C,~R,~E,~L,~Ops,~Args,~Error,~Out,~query,~body,owner,world,args))