def snap.graves
bend-kit-runner@0.13.0.1 · runner.bend:599
import bend-kit-runner@0.13.0.1/runner.bend as Runner
import Base
import bend-kit-bytes@0.3.3.0/bytes.bend as Bytes
import bend-kit-collections@0.1.4.1/hmap.bend as M
599def snap.graves(~A: Data, ~penc: A -> Bytes.Bytes, ds: Graves(A), out: Bytes.Bytes) -> Bytes.Bytes:
600 match ds:
601 case M.HNil{}:
602 snap.u32(out, 0)
603 case M.HLeaf{h, es}:
604 snap.entries(~A, ~penc, es, snap.u32(snap.u32(out, 1), h))
605 case M.HBranch{lo, hi}:
606 snap.graves(~A, ~penc, hi, snap.graves(~A, ~penc, lo, snap.u32(out, 2)))