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)