def decode_all.go
bendonnect-rpc@0.1.0.0 · src/envelope.bend:128
import bendonnect-rpc@0.1.0.0/src/envelope.bend as Envelope
import Base
import bend-kit-bytes@0.3.2.0/bytes.bend as Bytes
128
129def decode_all.go(fuel: Nat, s: Step, +max: U32) -> Result<&2, &1, String, List<&1, Envelope>>:
130 match fuel:
131 case 0n:
132 Fail{"envelope decoder out of fuel"}
133 case 1n+p:
134 match s:
135 case Need{b}:
136 decode_all.fin(Bytes.length(b))
137 case Bad{r}:
138 Fail{r}
139 case Got{env, rest}:
140 decode_all.cons(env, decode_all.go(p, decode(rest, max), max))