def deferred_descriptions

bendvy-ecs-core@0.1.0.3 · execution_command_permission.bend:66

import bendvy-ecs-core@0.1.0.3/execution_command_permission.bend as ExecutionCommandPermission
import Base
import bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend as Layout

66# Deferred graph writes are descriptions of barrier effects, not immediate body
67# resource-write grants or resource extraction recipes.
68def deferred_descriptions(~S:Data,~resources:Layout.Layout,relations:Relations<S,resources>) -> List<&2,DeferredRelation<S>>:
69  match relations:
70    case NoRelations{}:[]
71    case RelationAllowed{+route,_,descriptor,_,_,_,rest}:DeferredRelation{route,Layout.key(resources,route),descriptor} <> deferred_descriptions(~S,~resources,rest)
72    case ScopeAllowed{+route,_,_,_,_,rest}:DeferredScope{route,Layout.key(resources,route)} <> deferred_descriptions(~S,~resources,rest)

Uses (5)

Used by (1)