def handlers_read
bendvy-ecs-core@0.1.0.4 · ordinary_app_execution.bend:157
import bendvy-ecs-core@0.1.0.4/ordinary_app_execution.bend as OrdinaryAppExecution
import Base
import bendvy-ecs-core@0.1.0.4/ordinary_app_execution_run.bend as ExecuteRun
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/ordinary_machine_declaration.bend as MachineDecl
import bendvy-ecs-core@0.1.0.4/ordinary_app_resource_field_declaration.bend as FieldDecl
import bendvy-ecs-core@0.1.0.4/ordinary_resource_field_system.bend as FieldSystem
import bendvy-ecs-core@0.1.0.4/transaction.bend as Transaction
import bendvy-ecs-core@0.1.0.4/execution_context.bend as Ctx
import bendvy-ecs-core@0.1.0.4/ordinary_app_schedule.bend as Single
import bendvy-ecs-core@0.1.0.4/ordinary_app_recipe.bend as Tree
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_observation_data.bend as DTO
import bendvy-ecs-core@0.1.0.4/ordinary_schema.bend as Schema
import bendvy-ecs-core@0.1.0.4/world.bend as W
import bendvy-ecs-core@0.1.0.4/schedule.bend as Sch
import bendvy-ecs-core@0.1.0.4/schedule_provision.bend as SP
157def handlers_read(~S:Data,~C:Type,~R:Type,~E:Data,~Ops:Type -> Type,~Value:Data,~declaration:FieldDecl.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 & (Transaction.Outcome<String> & Unit),~Owners:Type,~Rows:Data,~observe:W.World<S,C,R,E> -> W.World<S,C,R,E> & DTO.Observation<Rows>,~fold:Owners -> Owners & List<&2,Records.Fields<S>>,schema:Schema.Schema<S,C,R>,previous:Owners,recipe:Tree.Recipe<W.World<S,C,R,E>,Rows,observe>,+debug:Bool,plan:SP.Plan<S>,namespace:U32,name:String,steps:List<&2,Sch.Step>,needs:List<&2,SP.Requirement<S>>,owners:Handlers.Owners<S,C,R,E,MachineV,FieldSystem.runner(~S,~C,~R,~E,~Ops,~Handlers.Invocation<MachineV>,~String,~Unit,~FieldDecl.ordinary(~S,~C,~R,~E,~Ops,~Value,declaration),~body)>,read:W.World<S,C,R,E> & Machine.Slot<S,K,MachineV>) -> HandlerRun<Single.Application<S,C,R,E,Owners,Rows,observe,fold>,Handlers.Owners<S,C,R,E,MachineV,FieldSystem.runner(~S,~C,~R,~E,~Ops,~Handlers.Invocation<MachineV>,~String,~Unit,~FieldDecl.ordinary(~S,~C,~R,~E,~Ops,~Value,declaration),~body)>,Machine.Snapshot<MachineV>>:
158 match read:
159 case (world,+slot):handlers_returned(~S,~C,~R,~E,~Ops,~Value,~declaration,~K,~MachineV,~take,~put,~machine,~same,~publish,~body,~Owners,~Rows,~observe,~fold,schema,previous,recipe,debug,plan,namespace,name,steps,needs,Machine.snapshot(~S,~K,~MachineV,slot),ExecuteRun.handlers_resource_field(~S,~C,~R,~E,~Ops,~Value,~declaration,~K,~MachineV,~take,~put,~machine,~same,~publish,~body,owners,Ctx.Context{world,trace_state(debug)},Machine.snapshot(~S,~K,~MachineV,slot)))