def pattern.segment
bend-kit-router@0.2.0.0 · router.bend:74
import bend-kit-router@0.2.0.0/router.bend as Router
import Base
74def pattern.segment(s: String, names: List<&2, String>) -> Maybe<&2, Segment>:
75 match s:
76 case SCon{Chr{58}, +t}:
77 Bool.pick(Maybe<&2, Segment>, Bool.and(name.valid(t), Bool.not(member(names, t))), Some{Parameter{t}}, None{})
78 case SNil{}:
79 Some{Literal{""}}
80 case SCon{+h, +t}:
81 +lit = {SCon{h, t} : String}
82 Bool.pick(Maybe<&2, Segment>, literal.valid(lit), Some{Literal{lit}}, None{})