def size

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

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

81# Nodes in a value: the fuel for the fold.
82def size(+j: J.Json) -> Nat:
83  match j:
84    case J.JArr{x}:
85      1n+size(x)
86    case J.JObj{x}:
87      1n+size(x)
88    case J.JCons{h, t}:
89      1n+Nat.add(size(h), size(t))
90    case J.JField{k, v, t}:
91      1n+Nat.add(size(v), size(t))
92    case _:
93      1n

Uses (3)

Used by (1)