def groups.prepare
bend-kit-camber@0.15.0.1 · camber.bend:559
import bend-kit-camber@0.15.0.1/camber.bend as Camber
import Base
559def groups.prepare(~P: Data, groups: List<&2, Group<P>>, +all: List<&2, Group<P>>) -> Result<&2, &2, RegistrationError, List<&2, GroupPlan<P>>>:
560 match groups:
561 case Nil{}:
562 Done{Nil{}}
563 case Group{id, ancestors, policy} <> rest:
564 +ids = List.append(&2, U32, ancestors, [id])
565 do Result<&2, &2, RegistrationError, List<&2, GroupPlan<P>>>:
566 policies : List<&2, P> <- routes.policies(~P, groups.policies(~P, ids, all, Nil{}), ids)
567 plans : List<&2, GroupPlan<P>> <- groups.prepare(~P, rest, all)
568 return GroupPlan{ids, policies} <> plans