/** * ZIP container layer — the bottom layer of @ariadng/office. * * Reads and writes ZIP archives entirely from/to `Uint8Array`, using only * platform-neutral primitives (`CompressionStream`/`DecompressionStream` * with `'deflate-raw'`). CRC-32 is implemented in this module. No runtime * dependencies, no `node:` imports. * * Key design points (see CONTRACTS.md §1 for the full contract): * - Central-directory driven: `ZipReader.open` parses only the end-of- * central-directory record(s) and the central directory. Entry data is * decompressed lazily on `read()`. * - ZIP64 supported for read and (when required) write. * - Data-descriptor entries (general-purpose bit 3) are tolerated on read; * central-directory values are authoritative. * - `readRaw()`/`copyRaw()` expose/consume the raw compressed byte stream * plus header fields so untouched entries can be copied into a new * archive byte-for-byte without recompression (the L3 preservation path). * - Hardening: entry names that would escape an extraction root are rejected * (zip-slip), and entries declaring an absurd uncompressed/compressed size * ratio are rejected at `open` (zip bomb guard, configurable via * `ZipReaderOptions.maxCompressionRatio`). */ export { crc32 } from './crc32.js'; export { ZIP_METHOD_STORE, ZIP_METHOD_DEFLATE, DEFAULT_MAX_COMPRESSION_RATIO, } from './common.js'; export type { ZipEntryInfo, ZipRawEntry, ZipAddOptions, ZipReaderOptions, } from './common.js'; export { ZipReader } from './reader.js'; export { ZipWriter } from './writer.js'; //# sourceMappingURL=index.d.ts.map