def utf8.go

bend-kit-camber@0.15.0.1 · input.bend:94

import bend-kit-camber@0.15.0.1/input.bend as Input
import Base
import bend-kit-router@0.2.0.0/target.bend as Target
import bend-kit-bytes@0.3.3.0/bytes.bend as Bytes

94def utf8.go(fuel: Nat, pair: Array<U32> & Maybe<&2, Target.Utf>, +index: U32) -> Array<U32> & Maybe<&2, String>:
95  match fuel:
96    case 0n:
97      (bytes, state) = pair
98      (bytes, Target.utf.finish(state))
99    case 1n+rest:
100      (bytes, state) = pair
101      match state:
102        case None{}: (bytes, None{})
103        case Some{state}: utf8.go(rest, utf8.step(Bytes.peek(bytes, index), state), (index + 1 : U32))

Uses (12)

Used by (1)