def render.go
emerging-eztoml@0.9.0.0 · main.bend:5806
import emerging-eztoml@0.9.0.0/main.bend as EmergingEztoml
import Base
5806
5807def render.go(vs: List<&2, Val>, +gap: String, +trail: Bool) -> String:
5808 match vs:
5809 case []:
5810 ""
5811 case VPair{_name, VHead{path, rows}} <> +t:
5812 "[" ++ path ++ "]\n" ++ render.go(rows, "\n", True{}) ++
5813 render.suf(gap, trail, List.is_empty(&2, Val, t)) ++ render.go(t, gap, trail)
5814 case VPair{_name, VAots{_path, elems}} <> +t:
5815 render.go(elems, "\n", True{}) ++
5816 render.suf(gap, trail, List.is_empty(&2, Val, t)) ++ render.go(t, gap, trail)
5817 case VAot{path, rows} <> +t:
5818 "[[" ++ path ++ "]]\n" ++ render.go(rows, "\n", True{}) ++
5819 render.suf(gap, trail, List.is_empty(&2, Val, t)) ++ render.go(t, gap, trail)
5820 case VPair{name, VArr{items}} <> +t:
5821 key(name) ++ " = [" ++ render.go(items, ", ", False{}) ++ "]" ++
5822 render.suf(gap, trail, List.is_empty(&2, Val, t)) ++ render.go(t, gap, trail)
5823 case VPair{name, VInl{rows}} <> +t:
5824 key(name) ++ " = {" ++ render.go(rows, ", ", False{}) ++ "}" ++
5825 render.suf(gap, trail, List.is_empty(&2, Val, t)) ++ render.go(t, gap, trail)
5826 case VPair{name, val} <> +t:
5827 key(name) ++ " = " ++ render.atom(val) ++
5828 render.suf(gap, trail, List.is_empty(&2, Val, t)) ++ render.go(t, gap, trail)
5829 case VArr{items} <> +t:
5830 "[" ++ render.go(items, ", ", False{}) ++ "]" ++
5831 render.suf(gap, trail, List.is_empty(&2, Val, t)) ++ render.go(t, gap, trail)
5832 case VInl{rows} <> +t:
5833 "{" ++ render.go(rows, ", ", False{}) ++ "}" ++
5834 render.suf(gap, trail, List.is_empty(&2, Val, t)) ++ render.go(t, gap, trail)
5835 case v <> +t:
5836 render.atom(v) ++ render.suf(gap, trail, List.is_empty(&2, Val, t)) ++
5837 render.go(t, gap, trail)