@lyleunderwood/streaming-zipper
Version:
Memory-efficient streaming ZIP creation with automatic backpressure control. Supports parallel reading + sequential writing for both Web Streams and Node.js streams with ZIP64 support.
37 lines • 1.23 kB
TypeScript
/**
* Compression handling for ZIP entries
* Supports both STORE (no compression) and DEFLATE compression
*/
export interface CompressionResult {
compressedData: Uint8Array;
crc32: number;
compressedSize: number;
uncompressedSize: number;
}
export interface CompressionStreamResult {
readable: ReadableStream<Uint8Array>;
crc32Promise: Promise<number>;
compressedSizePromise: Promise<number>;
uncompressedSizePromise: Promise<number>;
}
/**
* Compression method enum
*/
export type CompressionMethod = 'store' | 'deflate';
/**
* Compress data using the STORE method (no compression)
*/
export declare function compressStore(data: Uint8Array): Promise<CompressionResult>;
/**
* Compress data using DEFLATE
*/
export declare function compressDeflate(data: Uint8Array): Promise<CompressionResult>;
/**
* Create a compression stream for streaming data
*/
export declare function createCompressionStream(inputStream: ReadableStream<Uint8Array> | NodeJS.ReadableStream, method?: CompressionMethod): CompressionStreamResult;
/**
* Get compression method constant
*/
export declare function getCompressionMethodConstant(method: CompressionMethod): number;
//# sourceMappingURL=compression.d.ts.map