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