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)))

Uses (16)

Used by (1)