def invoke

bendvy-ecs-core@0.1.0.3 · execution_command_local.bend:33

import bendvy-ecs-core@0.1.0.3/execution_command_local.bend as ExecutionCommandLocal
import Base
import bendvy-ecs-core@0.1.0.3/execution_effects.bend as E
import bendvy-ecs-core@0.1.0.3/execution_system.bend as Sys
import bendvy-ecs-core@0.1.0.3/execution_command_buffer.bend as Buffer

33def invoke(~S:Data,~P:Type,~D:Type,~Permit:Data,~F:Type -> Type,~effects:E.Effects<F>,~User:Type,~Error:Data,~Out:Data,~Ops:Data -> (Type -> Type) -> Type -> Type -> Type,~body:@-Permit:Data -> @-F:(Type -> Type) -> @-effects:E.Effects<F> -> @-H:Type -> @-Q:Type -> @-caps:Ops(Permit,F,H,Q) -> @-commands:Commands<Q,S,P> -> H -> Q -> User -> F(H & (Q & (User & Sys.Completion<Error,Out>))),~H:Type,~caps:Ops(Permit,F,H,Buffer.Buffer<S,P,D>),scope:H,local:Local<S,P,D,User>) -> F(H & (Local<S,P,D,User> & Sys.Completion<Error,Out>)):
34  match local:
35    case Local{user,commands,permission}:E.map(~F,(H & (Buffer.Buffer<S,P,D> & (User & Sys.Completion<Error,Out>))),(H & (Local<S,P,D,User> & Sys.Completion<Error,Out>)),effects,body(Permit,F,effects,H,Buffer.Buffer<S,P,D>,caps,canonical(~S,~P,~D),scope,commands,user),result => returned(~S,~P,~D,~User,~Error,~Out,~H,permission,result))

Uses (9)

Used by (1)