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)

Uses (8)

Used by (1)