def layout

bendvy-ecs-core@0.1.0.3 · execution_lifetime_scope_coverage.bend:25

import bendvy-ecs-core@0.1.0.3/execution_lifetime_scope_coverage.bend as ExecutionLifetimeScopeCoverage
import Base
import bendvy-ecs-core@0.1.0.3/execution_command_permission.bend as Permission
import bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend as Layout

25def layout(~S:Data,~resources:Layout.Layout,current:Layout.Layout,+prefix:Layout.Route,+relations:Permission.Relations<S,resources>) -> Bool:
26  match current:
27    case Layout.EmptyLayout{}:True{}
28    case Layout.LayoutLeaf{_,_,_,_,policy}:leaf(~S,~resources,policy,prefix,relations)
29    case Layout.ClassifiedLayoutLeaf{_,_,_,_,_,policy}:leaf(~S,~resources,policy,prefix,relations)
30    case Layout.LayoutPair{left,right}:Bool.and(layout(~S,~resources,left,append(prefix,Layout.InLeft{Layout.AtLeaf{}}),relations),layout(~S,~resources,right,append(prefix,Layout.InRight{Layout.AtLeaf{}}),relations))

Uses (7)

Used by (2)