def insert
bend-kit-router@0.2.0.0 · router.bend:219
import bend-kit-router@0.2.0.0/router.bend as Router
import Base
219
220def insert(~A: Data, paths: List<&2, Path<A>>, +entry: Handler<A>, +groups: List<&2, U32>) -> Result<&2, &2, Error, List<&2, Path<A>>>:
221 match paths:
222 case Nil{}:
223 Handler{method, pattern, +ss, action} = entry
224 Done{[Path{ss, [Handler{method, pattern, ss, action}], groups, ""}]}
225 case Path{+ss, +handlers, +old_groups, +allow} <> +t:
226 Handler{+method, +pattern, +es, +action} = entry
227 candidate = {Handler{method, pattern, es, action} : Handler<A>}
228 insert.branch(~A, shape(ss, es), ss, handlers, old_groups, allow, t, candidate, groups, u => insert(~A, t, Handler{method, pattern, es, action}, groups))