def dots.go
bend-kit-url@0.4.1.0 · url.bend:466
import bend-kit-url@0.4.1.0/url.bend as Url
import Base
466
467def dots.go(segs: List<&2, String>, stack: List<&2, String>, trail: Bool) -> String:
468 match segs:
469 case Nil{}:
470 +out = dots.join(stack, "")
471 Bool.pick(String, Bool.and(trail, Bool.not(String.is_empty(out))), out ++ "/", Bool.pick(String, String.is_empty(out), "/", out))
472 case Con{+seg, t}:
473 +dot = String.eq(seg, ".")
474 +up = String.eq(seg, "..")
475 dots.go(t, dots.push(seg, stack, dot, up), Bool.or(dot, up))