@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.
28 lines • 1.02 kB
TypeScript
/**
* Node.js stream-based compression with built-in backpressure
* Uses readable-stream for universal compatibility
*/
import { Transform } from 'readable-stream';
export type CompressionMethod = 'store' | 'deflate';
export interface StreamMetadata {
crc32: number;
compressedSize: number;
uncompressedSize: number;
}
export interface CompressionStreamResult {
stream: NodeJS.ReadableStream;
metadataPromise: Promise<StreamMetadata>;
}
/**
* Create compression stream with automatic backpressure
*/
export declare function createCompressionStream(inputStream: ReadableStream<Uint8Array> | NodeJS.ReadableStream, method?: CompressionMethod): CompressionStreamResult;
/**
* Create a simple passthrough stream for monitoring
*/
export declare function createMonitoringStream(name: string): Transform;
/**
* Get compression method constant for ZIP format
*/
export declare function getCompressionMethodConstant(method: CompressionMethod): number;
//# sourceMappingURL=compression-streams.d.ts.map