def chain

bend-toon-codec@0.1.0.0 · src/fold.bend:102

import bend-toon-codec@0.1.0.0/src/fold.bend as Fold
import Base
import bend-toon-codec@0.1.0.0/src/json.bend as J

102# Walk single-key objects from `v`, at most `budget` segments in all.
103def chain(+v: J.Json, +n: U32, +budget: U32, +key: String, +ok: Bool) -> Ci:
104  match v:
105    case J.JObj{J.JField{k2, v2, J.JNil{}}}:
106      chain.step(U32.is_lt(n, budget), v, n, key, ok, chain(v2, (n + 1 : U32), budget, key ++ "." ++ k2, ok && ident(k2)))
107    case _:
108      Ci{n, key, v, ok}

Uses (11)

Used by (1)