def dots.go
bend-net-url@0.4.0.0 · url.bend:416
import bend-net-url@0.4.0.0/url.bend as Url
import Base
416
417def dots.go(segs: List<&2, String>, stack: List<&2, String>, trail: Bool) -> String:
418 match segs:
419 case Nil{}:
420 +out = dots.join(stack, "")
421 Bool.pick(String, Bool.and(trail, Bool.not(String.is_empty(out))), out ++ "/", Bool.pick(String, String.is_empty(out), "/", out))
422 case Con{+seg, t}:
423 +dot = String.eq(seg, ".")
424 +up = String.eq(seg, "..")
425 dots.go(t, dots.push(seg, stack, dot, up), Bool.or(dot, up))