def parse.go

bend-kit-csv@0.3.0.0 · csv.bend:202

import bend-kit-csv@0.3.0.0/csv.bend as Csv
import Base
import bend-kit-bytes@0.3.3.0/bytes.bend as Bytes

202# Each record reads at least one byte, so len + 1 steps are enough.
203def parse.go(f: Nat, nx: Next, acc: List<&1, List<&1, Bytes.Bytes>>) -> Result<&1, &1, U32, List<&1, List<&1, Bytes.Bytes>>>:
204  match f:
205    case 0n:
206      Fail{0}
207    case 1n+p:
208      match nx:
209        case End{}:
210          Done{List.reverse(&1, List<&1, Bytes.Bytes>, acc)}
211        case Bad{+at}:
212          Fail{at}
213        case Row{fs, cur}:
214          parse.go(p, next(cur), fs <> acc)

Uses (8)

Used by (1)