def pattern.parts
bend-kit-router@0.2.0.0 · router.bend:91
import bend-kit-router@0.2.0.0/router.bend as Router
import Base
91def pattern.parts(xs: List<&2, String>, +names: List<&2, String>, acc: List<&2, Segment>) -> Maybe<&2, List<&2, Segment>>:
92 match xs:
93 case Nil{}:
94 Some{List.reverse(&2, Segment, acc)}
95 case "" <> Nil{}:
96 Some{List.reverse(&2, Segment, Literal{""} <> acc)}
97 case "" <> t:
98 None{}
99 case h <> t:
100 do Maybe<&2, List<&2, Segment>>:
101 seg : Segment <- pattern.segment(h, names)
102 +part : Segment = seg
103 pattern.parts(t, pattern.names(part, names), part <> acc)