def contains
bendvy-ecs-core@0.1.0.3 · execution_lifetime_scope_coverage.bend:8
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
8
9
10def contains(~S:Data,~resources:Layout.Layout,+route:Layout.Route,relations:Permission.Relations<S,resources>) -> Bool:
11 match relations:
12 case Permission.NoRelations{}:False{}
13 case Permission.RelationAllowed{selected,_,_,_,_,_,rest}:Bool.or(Permission.same_route(route,selected),contains(~S,~resources,route,rest))
14 case Permission.ScopeAllowed{_,_,_,_,_,rest}:contains(~S,~resources,route,rest)