Archive.one.cap: def of bend-kit-archive@0.5.1.0 Import: import bend-kit-archive@0.5.1.0/archive.bend as Archive Lines 326-333 of bend-kit-archive@0.5.1.0/archive.bend: https://jend.leeeet.dev/read.txt?path=bend-kit-archive@0.5.1.0/archive.bend&start_line=326&end_line=333 import Base import bend-kit-bytes@0.3.3.0/bytes.bend as Bytes # left: the output still allowed under the caller's max. def one.cap(over: Bool, input: Bytes.Bytes, +hd: Header, +left: U32, acc: List<&1, Entry>) -> IO(Bytes.Bytes & Result<&1, &1, U32 & String, U32 & List<&1, Entry>>): match over: case True{}: IO.pure(Bytes.Bytes & Result<&1, &1, U32 & String, U32 & List<&1, Entry>>, (input, Fail{(27, "archive output is larger than max")})) case False{}: Header{+name, +nlen, +method, +crc, +packed, +size, +data} = hd one.name(Bytes.slice(input, name, nlen), method, crc, packed, size, data, left, acc) Uses (14): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=IO https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=IO.pure https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Pair https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Result https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Sigma https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=bend-kit-archive@0.5.1.0/archive.bend&name=Entry https://jend.leeeet.dev/definition.txt?path=bend-kit-archive@0.5.1.0/archive.bend&name=Header https://jend.leeeet.dev/definition.txt?path=bend-kit-archive@0.5.1.0/archive.bend&name=one.name https://jend.leeeet.dev/definition.txt?path=bend-kit-bytes@0.3.3.0/bytes.bend&name=Bytes https://jend.leeeet.dev/definition.txt?path=bend-kit-bytes@0.3.3.0/bytes.bend&name=slice