def handlers_resource_field

bendvy-ecs-core@0.1.0.4 · ordinary_app_execution_run.bend:52

import bendvy-ecs-core@0.1.0.4/ordinary_app_execution_run.bend as OrdinaryAppExecutionRun
import Base
import bendvy-ecs-core@0.1.0.4/machine_handler_context.bend as HandlerContext
import bendvy-ecs-core@0.1.0.4/machine_handler_engine.bend as HandlerEngine
import bendvy-ecs-core@0.1.0.4/machine_handlers.bend as Handlers
import bendvy-ecs-core@0.1.0.4/machine.bend as Machine
import bendvy-ecs-core@0.1.0.4/machine_world.bend as MachineWorld
import bendvy-ecs-core@0.1.0.4/ordinary_machine_declaration.bend as MachineDecl
import bendvy-ecs-core@0.1.0.4/execution_context.bend as Ctx
import bendvy-ecs-core@0.1.0.4/world.bend as W
import bendvy-ecs-core@0.1.0.4/transaction.bend as T
import bendvy-ecs-core@0.1.0.4/ordinary_resource_field_system.bend as Field
import bendvy-ecs-core@0.1.0.4/ordinary_app_resource_field_declaration.bend as D

52def handlers_resource_field(~S:Data,~C:Type,~R:Type,~E:Data,~Ops:Type -> Type,~Value:Data,~declaration:D.Declaration<S,C,R,E,Ops,Value>,~K:Data,~MachineV:Data,~take:R -> R & Machine.Slot<S,K,MachineV>,~put:R -> Machine.Slot<S,K,MachineV> -> R,~machine:MachineDecl.Declaration<S,K,MachineV,R,take>,~same:MachineV -> MachineV -> Bool,~publish:W.World<S,C,R,E> -> Machine.Transition<MachineV> -> W.World<S,C,R,E>,~body:@-H:Type -> @-caps:Ops(H) -> Handlers.Invocation<MachineV> -> H -> H & (T.Outcome<String> & Unit),owners:Handlers.Owners<S,C,R,E,MachineV,Field.runner(~S,~C,~R,~E,~Ops,~Handlers.Invocation<MachineV>,~String,~Unit,~D.ordinary(~S,~C,~R,~E,~Ops,~Value,declaration),~body)>,context:Ctx.Context<W.World<S,C,R,E>>,captured:Machine.Snapshot<MachineV>) -> HandlerEngine.HandlerResult<Ctx.Context<W.World<S,C,R,E>>,Handlers.Entry<S,C,R,E,MachineV,Field.runner(~S,~C,~R,~E,~Ops,~Handlers.Invocation<MachineV>,~String,~Unit,~D.ordinary(~S,~C,~R,~E,~Ops,~Value,declaration),~body)>,Handlers.Phase>:
53  HandlerContext.run(~S,~C,~R,~E,~MachineV,~Field.runner(~S,~C,~R,~E,~Ops,~Handlers.Invocation<MachineV>,~String,~Unit,~D.ordinary(~S,~C,~R,~E,~Ops,~Value,declaration),~body),~Field.runner_observed(~S,~C,~R,~E,~Ops,~Handlers.Invocation<MachineV>,~String,~Unit,~D.ordinary(~S,~C,~R,~E,~Ops,~Value,declaration),~body),~K,~MachineWorld.take(~S,~K,~MachineV,~C,~R,~E,~take),~MachineWorld.put(~S,~K,~MachineV,~C,~R,~E,~put),~publish,~same,~MachineDecl.name(~S,~K,~MachineV,~R,~take,machine),owners,context,captured)

Uses (24)

Used by (1)