def encb.go
bend-kit-json@0.7.0.0 · json.bend:1055
import bend-kit-json@0.7.0.0/json.bend as Json
import Base
1055def encb.go(v: Val, open: Bool, o: W) -> W:
1056 match v:
1057 case Null{}:
1058 w.text("null", o)
1059 case Flag{on}:
1060 match on:
1061 case True{}:
1062 w.text("true", o)
1063 case False{}:
1064 w.text("false", o)
1065 case Num{n}:
1066 w.bytes(n, o)
1067 case Str{s}:
1068 w.str(s, o)
1069 case Arr{xs}:
1070 match xs:
1071 case Nil{}:
1072 w.close(open, 91, 93, o)
1073 case Con{x, t}:
1074 encb.go(Arr{t}, False{}, encb.go(x, True{}, w.lead(open, 91, o)))
1075 case Obj{kvs}:
1076 match kvs:
1077 case Nil{}:
1078 w.close(open, 123, 125, o)
1079 case (k, x) <> t:
1080 encb.go(Obj{t}, False{}, encb.go(x, True{}, w.put(w.str(k, w.lead(open, 123, o)), 58)))