def scope_contains
bendvy-ecs-core@0.1.0.3 · execution_lifetime_scope_coverage.bend:36
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
36def scope_contains(-S:Data,-resources:Layout.Layout,+route:Layout.Route,relations:Permission.Relations<S,resources>) -> Bool:
37 match relations:
38 case Permission.NoRelations{}:False{}
39 case Permission.RelationAllowed{_,_,_,_,_,_,rest}:scope_contains(S,resources,route,rest)
40 case Permission.ScopeAllowed{selected,_,_,_,_,rest}:Bool.or(Permission.same_route(route,selected),scope_contains(S,resources,route,rest))