def compile_retained_leaf_unpacked

bendvy-ecs-core@0.1.0.3 · execution_condition_registry.bend:39

import bendvy-ecs-core@0.1.0.3/execution_condition_registry.bend as ExecutionConditionRegistry
import Base
import bendvy-ecs-core@0.1.0.3/world.bend as W
import bendvy-ecs-core@0.1.0.3/execution_retained_system.bend as Retained
import bendvy-ecs-core@0.1.0.3/execution_system.bend as Sys
import bendvy-ecs-core@0.1.0.3/execution_builder.bend as Build
import bendvy-ecs-core@0.1.0.3/execution_declaration.bend as D
import bendvy-ecs-core@0.1.0.3/dependency_registration.bend as Reg
import bendvy-ecs-core@0.1.0.3/dependency_plan.bend as Plan

39def compile_retained_leaf_unpacked(~Error:Data,~S:Data,~C:Type,~R:Type,~E:Data,~Ops:Data -> (Type -> Type) -> Type -> Type,~Local:Type,~declaration:Build.FrameworkProgram(~S,~C,~C,~R,~Ops),~body:Sys.Body(~S,~Ops,~Local,~Error,~Bool),~construction:D.Compilation<S,C,C,R,Ops>,node:D.Compilation<S,C,C,R,Ops> & System(~S,~C,~R,~E,~Ops,~Local,~Error,~declaration,~body)) -> Registry(~W.World<S,C,R,E>,~RetainedSystem(~S,~C,~R,~E,~Ops,~Local,~Error,~declaration,~body),~Error,~retained_leaf_dispatch(~S,~C,~R,~E,~Ops,~Local,~Error,~declaration,~body,~construction)):
40  match node:
41    case (D.Supported{D.Declaration{caps,+requirements},recipes},Sys.Owner{namespace,+id,name,access,cursor,local}):Reg.ConditionRegistry{Reg.Registry{Retained.pack(D.Compilation<S,C,C,R,Ops>,System(~S,~C,~R,~E,~Ops,~Local,~Error,~declaration,~body),D.Supported{D.Declaration{caps,requirements},recipes},Sys.Owner{namespace,id,name,access,cursor,local}),[Plan.Node{id,D.qualified(requirements)}]},Reg.condition_permission(D.read_only(requirements),id)}
42    case (D.Unsupported{caps,+requirements,recipes},Sys.Owner{namespace,+id,name,access,cursor,local}):Reg.ConditionRegistry{Reg.Registry{Retained.pack(D.Compilation<S,C,C,R,Ops>,System(~S,~C,~R,~E,~Ops,~Local,~Error,~declaration,~body),D.Unsupported{caps,requirements,recipes},Sys.Owner{namespace,id,name,access,cursor,local}),[Plan.Node{id,D.qualified(requirements)}]},Some{Plan.InvalidCondition{id}}}

Uses (23)

Used by (1)