def enc.go

bend-net-json@0.3.0.0 · json.bend:484

import bend-net-json@0.3.0.0/json.bend as Json
import Base

484def enc.go(items: List<&2, Item>, racc: String) -> String:
485  match items:
486    case Nil{}:
487      String.reverse(racc)
488    case Con{ILit{s}, t}:
489      enc.go(t, put(s, racc))
490    case Con{IVal{Null{}}, t}:
491      enc.go(t, put("null", racc))
492    case Con{IVal{Flag{True{}}}, t}:
493      enc.go(t, put("true", racc))
494    case Con{IVal{Flag{False{}}}, t}:
495      enc.go(t, put("false", racc))
496    case Con{IVal{Num{n}}, t}:
497      enc.go(t, put(n, racc))
498    case Con{IVal{Str{s}}, t}:
499      enc.go(t, put("\"" ++ esc(s) ++ "\"", racc))
500    case Con{IVal{Arr{xs}}, t}:
501      enc.go(Con{ILit{"["}, items.arr(xs, True{}, t)}, racc)
502    case Con{IVal{Obj{m}}, t}:
503      enc.go(Con{ILit{"{"}, items.obj(Map.to_list(&2, Val, m), True{}, t)}, racc)

Uses (12)

Used by (1)