def u32.go
bend-kit-migrate@0.3.0.0 · migrate.bend:310
import bend-kit-migrate@0.3.0.0/migrate.bend as Migrate
import Base
import bend-kit-bytes@0.3.3.0/bytes.bend as Bytes
310def u32.go(n: Nat, r: Array<U32> & U32, +i: U32, +acc: U32, ok: Bool) -> Maybe<&2, U32>:
311 match n:
312 case 0n:
313 u32.end(ok, acc)
314 case 1n+p:
315 (a, +c) = r
316 +d = (c - 48 : U32)
317 u32.go(p, Bytes.peek(a, (i + 1 : U32)), (i + 1 : U32), (acc * 10 + d : U32), ok && U32.is_lt(d, 10) && Bool.not(u32.over(acc, d)))