def supported
bendvy-ecs-core@0.1.0.3 · execution_resource_admission.bend:28
import bendvy-ecs-core@0.1.0.3/execution_resource_admission.bend as ExecutionResourceAdmission
import Base
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/execution_resource_description.bend as Description
import bendvy-ecs-core@0.1.0.3/execution_query_schema.bend as Schema
import bendvy-ecs-core@0.1.0.3/execution_query_admission.bend as Query
import bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend as L
import bendvy-ecs-core@0.1.0.3/world.bend as W
28def supported(~S:Data,~components:L.Layout,~resources:L.Layout,~C:Type,~R:Type,~E:Data,~Ops:Data -> (Type -> Type) -> Type -> Type,~program:Build.FrameworkProgram(~S,~L.columns(~S,components),~C,~R,~Ops),world:W.World<S,L.columns(~S,components),L.resources(~S,resources),E>,compilation:D.Compilation<S,L.columns(~S,components),C,R,Ops>,+namespace:U32,+handles:List<&2,W.Handle<S>>,+componentInfo:List<&2,Schema.Info>,resourceInfo:List<&2,Description.Info>,valid:Bool) -> Inspection<S,components,resources,C,R,E,Ops,program>:
29 match compilation valid:
30 case compilation False{}:Refused{world,compilation}
31 case D.Unsupported{caps,access,recipes} True{}:Refused{world,D.Unsupported{caps,access,recipes}}
32 case D.Supported{D.Declaration{caps,access},D.Recipes{+queries,+resourceRecipes}} True{}:lowered(~S,~components,~resources,~C,~R,~E,~Ops,~program,world,D.Supported{D.Declaration{caps,access},D.Recipes{queries,resourceRecipes}},namespace,handles,queries,resourceRecipes,componentInfo,resourceInfo,Query.lower(~S,~L.columns(~S,components),~components,~{==},queries,componentInfo,namespace,handles))