def val

cswap-bend-cli@0.1.0.0 · fmt/yamlr.bend:295

import cswap-bend-cli@0.1.0.0/fmt/yamlr.bend as Yamlr
import Base
import cswap-bend-cli@0.1.0.0/json.bend as Json
import cswap-bend-cli@0.1.0.0/fmt/yscal.bend as S

295def val(fuel: Nat, pl: Plan) -> Result<&2, &2, String, Json.Json>:
296  match fuel pl:
297    case 0n _:
298      Fail{"nesting too deep"}
299    case 1n++p PRes{r}:
300      r
301    case 1n++p PBlk{ls}:
302      val(p, plan.blk(ls))
303    case 1n++p PArr{es}:
304      S.wrap.arr(val(p, plan.items(es)))
305    case 1n++p PObj{es}:
306      S.wrap.obj(val(p, plan.fields(es)))
307    case 1n++p PItems{b, r}:
308      item.cons(val(p, PBlk{b}), val(p, plan.items(r)))
309    case 1n++p PFieldI{k, v, r}:
310      S.field.cons(k, v, val(p, plan.fields(r)))
311    case 1n++p PFieldB{k, b, r}:
312      S.field.cons(k, val(p, PBlk{b}), val(p, plan.fields(r)))

Uses (12)

Used by (1)