def checked_resources

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

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_recipe.bend as Resources
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_composer_layout.bend as L
import bendvy-ecs-core@0.1.0.3/world.bend as W

33def checked_resources(~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>,namespace:U32,handles:List<&2,W.Handle<S>>,componentInfo:List<&2,Schema.Info>,resourceInfo:List<&2,Description.Info>,valid:Bool,compilation:D.Compilation<S,L.columns(~S,components),C,R,Ops>) -> Inspection<S,components,resources,C,R,E,Ops,program>:
34  match compilation:
35    case D.Unsupported{caps,access,recipes}:Refused{world,D.Unsupported{caps,access,recipes}}
36    case D.Supported{declaration,D.Recipes{queries,+resourceRecipes}}:supported(~S,~components,~resources,~C,~R,~E,~Ops,~program,world,D.Supported{declaration,D.Recipes{queries,resourceRecipes}},namespace,handles,componentInfo,resourceInfo,Bool.and(valid,Bool.and(L.unique(resources),Resources.valid(~resources,resourceRecipes))))

Uses (18)

Used by (1)