Runner.rd.graves: def of bend-kit-runner@0.13.0.1 Import: import bend-kit-runner@0.13.0.1/runner.bend as Runner Lines 791-812 of bend-kit-runner@0.13.0.1/runner.bend: https://jend.leeeet.dev/read.txt?path=bend-kit-runner@0.13.0.1/runner.bend&start_line=791&end_line=812 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 # A trie node whose kind is already read: nil is kind 0, leaf kind 1, and branch kind 2. Any other kind fails. def rd.graves(~A: Data, ~pdec: Bytes.Bytes -> Maybe<&2, A>, +fuel: Nat, nil: Bool, leaf: Bool, branch: Bool) -> Dec(Graves(A)): match fuel nil leaf branch: case 0n a b c: Dec.fail(Graves(A)) case 1n+f True{} b c: Dec.pure(Graves(A), M.HNil{}) case 1n+f False{} True{} c: do Dec: h : U32 <- rd.u32() m : Bool <- rd.flag() es : List<&2, M.Entry>> <- rd.entries(~A, ~pdec, f, m) return M.HLeaf{h, es} case 1n+f False{} False{} True{}: do Dec: +lk : U32 <- rd.u32() lo : Graves(A) <- rd.graves(~A, ~pdec, f, U32.is_eq(lk, 0), U32.is_eq(lk, 1), U32.is_eq(lk, 2)) +hk : U32 <- rd.u32() hi : Graves(A) <- rd.graves(~A, ~pdec, f, U32.is_eq(hk, 0), U32.is_eq(hk, 1), U32.is_eq(hk, 2)) return M.HBranch{lo, hi} case 1n+f False{} False{} False{}: Dec.fail(Graves(A)) Uses (18): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Maybe https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.is_eq https://jend.leeeet.dev/definition.txt?path=bend-kit-bytes@0.3.3.0/bytes.bend&name=Bytes https://jend.leeeet.dev/definition.txt?path=bend-kit-collections@0.1.4.1/hmap.bend&name=Entry https://jend.leeeet.dev/definition.txt?path=bend-kit-collections@0.1.4.1/hmap.bend&name=HMap https://jend.leeeet.dev/definition.txt?path=bend-kit-runner@0.13.0.1/runner.bend&name=Dead https://jend.leeeet.dev/definition.txt?path=bend-kit-runner@0.13.0.1/runner.bend&name=Dec https://jend.leeeet.dev/definition.txt?path=bend-kit-runner@0.13.0.1/runner.bend&name=Dec.bind https://jend.leeeet.dev/definition.txt?path=bend-kit-runner@0.13.0.1/runner.bend&name=Dec.fail https://jend.leeeet.dev/definition.txt?path=bend-kit-runner@0.13.0.1/runner.bend&name=Dec.pure https://jend.leeeet.dev/definition.txt?path=bend-kit-runner@0.13.0.1/runner.bend&name=Graves https://jend.leeeet.dev/definition.txt?path=bend-kit-runner@0.13.0.1/runner.bend&name=rd.entries https://jend.leeeet.dev/definition.txt?path=bend-kit-runner@0.13.0.1/runner.bend&name=rd.flag https://jend.leeeet.dev/definition.txt?path=bend-kit-runner@0.13.0.1/runner.bend&name=rd.u32