package SZXX
Library
Module
Module type
Parameter
Class
Class type
type 'a t =
| Skip
(*Skip the compressed bytes but still validate the file's integrity
*)| Fast_skip
(*Skip over the compressed bytes without attempting to decompress or validate them
*)| String
(*Collect the whole decompressed file into a single string
*)| Bigstring
(*Collect the whole decompressed file into a single bigstring
*)| Fold_string of {
init : 'a;
f : entry -> Base.string -> 'a -> 'a;
}
(*Fold the file into a final state, in string chunks of ~8192 bytes
*)| Fold_bigstring of {
init : 'a;
f : entry -> Bigstringaf.t -> 'a -> 'a;
}
(*Fold the file into a final state, in bigstring chunks of ~8192 bytes. IMPORTANT: this
*)Bigstringaf.t
is volatile! It's only safe to read from it until the end of functionf
. If you need to access the data again later, copy it in some way before the end of functionf
.| Parse of 'a Angstrom.t
(*Apply an
*)Angstrom.t
parser to the file while it is being decompressed without having to fully decompress it first.Parse
expects the parser to consume all bytes and leave no trailing junk bytes after a successful parse.| Parse_many of {
parser : 'a Angstrom.t;
on_parse : 'a -> Base.unit;
}
(*Repeatedly apply an
*)Angstrom.t
parser to the file while it is being decompressed without having to fully decompress it first. Callon_parse
on each parsed value.Parse_many
expects the file to end with a complete parse, without trailing junk bytes.| Terminate
(*Abruptly terminate processing of the ZIP archive. SZXX stops reading from the
*)Feed.t
immediately, without even skipping over the bytes of that entry.