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)))

Uses (11)

Used by (1)