def groups.policies
bend-kit-camber@0.15.0.1 · camber.bend:517
import bend-kit-camber@0.15.0.1/camber.bend as Camber
import Base
517def groups.policies(~P: Data, ids: List<&2, U32>, +declared: List<&2, Group<P>>, +ancestors: List<&2, U32>) -> Maybe<&2, List<&2, P>>:
518 match ids:
519 case Nil{}:
520 Some{Nil{}}
521 case +id <> rest:
522 do Maybe<&2, List<&2, P>>:
523 policy : P <- group.policy(~P, group.find(~P, declared, id), ancestors)
524 policies : List<&2, P> <- groups.policies(~P, rest, declared, List.append(&2, U32, ancestors, [id]))
525 return policy <> policies