def gz.go

bend-kit-zlib@0.5.1.0 · zlib.bend:697

import bend-kit-zlib@0.5.1.0/zlib.bend as Zlib
import Base
import bend-kit-bytes@0.3.3.0/bytes.bend as Bytes

697# Each member takes at least 18 bytes, so one step per byte suffices.
698def gz.go(k: Nat, st: Gz) -> Maybe<&1, Bytes.Bytes>:
699  match k:
700    case 0n:
701      None{}
702    case 1n+f:
703      match st:
704        case GzMore{acc, src, +at}:
705          gz.go(f, gz.step(gz.member(src, at), acc))
706        case GzDone{out}:
707          Some{out}
708        case GzBad{}:
709          None{}

Uses (6)

Used by (1)