A streaming deflate compressor. Feed data incrementally with write,
then call finish to flush remaining output and close the stream.
@eryx/compression/zlib Module
Zlib utilities: compress/decompress, checksums, and helpers.
Summary
Classes
Functions
API Reference
Classes
Deflate
Properties
Deflate:write
Compresses a chunk of input data. Returns compressed output (may be empty if zlib is buffering). Use flush constants (FLUSH_SYNC, FLUSH_FULL) to force output.
Parameters
input bytes to compress
flush mode (FLUSH_NO, FLUSH_SYNC, FLUSH_FULL)
Returns
compressed output (may be empty)
Deflate:finish
Finishes the stream: flushes all remaining data and closes the compressor.
Returns
final compressed output
Deflate:close
Closes the stream without finishing, freeing resources.
Inflate
A streaming inflate decompressor. Feed compressed chunks with write;
the second return value indicates when the stream is complete.
Properties
Inflate:write
Decompresses a chunk of compressed data. Returns decompressed output and a boolean indicating whether the stream has ended.
Parameters
compressed bytes
Returns
decompressed output
true when the stream is fully decompressed
Inflate:close
Closes the stream, freeing resources.
Functions
zlib.compress
Standard zlib compress (zlib header + Adler-32 trailer).
Parameters
input bytes to compress
compression level (NO_COMPRESSION..BEST_COMPRESSION)
Returns
compressed zlib stream
zlib.compressRaw
Full deflateInit2 access. Use windowBits=RAW_WBITS(-15) for headerless raw deflate, GZIP_WBITS(MAX_WBITS+16) for gzip, AUTO_WBITS(MAX_WBITS+32) to auto-detect. memLevel 1-9 trades memory for speed. strategy: STRATEGY_*.
Parameters
input bytes to compress
compression level
window bits preset (MAX_WBITS/RAW_WBITS/etc)
memory level 1..9
compression strategy constant
Returns
deflate stream (no outer wrapper unless windowBits requests it)
zlib.decompress
Standard zlib inflate.
Parameters
zlib-wrapped compressed data
Returns
decompressed bytes
zlib.decompressRaw
Inflate with custom windowBits (e.g. RAW_WBITS for raw deflate streams).
Parameters
compressed stream
window bits preset
Returns
decompressed bytes
zlib.adler32
Running Adler-32 checksum. Pass previous result as initial to chain.
Parameters
input bytes to checksum
previous checksum to continue from
Returns
number checksum value
zlib.crc32
Running CRC-32 checksum. Pass previous result as initial to chain.
Parameters
input bytes to checksum
previous checksum to continue from
Returns
number checksum value
zlib.compressBound
Upper bound on compressed output size for input of len bytes.
Parameters
input length in bytes
Returns
number upper bound in bytes
zlib.createDeflate
Creates a streaming deflate compressor.
Parameters
compression level
window bits (MAX_WBITS, RAW_WBITS, GZIP_WBITS)
memory level 1..9
compression strategy
Returns
the streaming compressor
zlib.createInflate
Creates a streaming inflate decompressor.
Parameters
window bits (MAX_WBITS, RAW_WBITS, AUTO_WBITS)
Returns
the streaming decompressor
Constants
- Compression levels
zlib.NO_COMPRESSION=0zlib.BEST_SPEED=1zlib.BEST_COMPRESSION=9- Deflate strategies
zlib.STRATEGY_DEFAULT=0zlib.STRATEGY_FILTERED=1zlib.STRATEGY_HUFFMAN_ONLY=2zlib.STRATEGY_RLE=3zlib.STRATEGY_FIXED=4- Flush constants for streaming
zlib.FLUSH_NO=0zlib.FLUSH_SYNC=2zlib.FLUSH_FULL=3zlib.FLUSH_FINISH=4- windowBits presets for compressRaw / decompressRaw
zlib.MAX_WBITS=15- standard zlibzlib.GZIP_WBITS=31- gzip wrapperzlib.AUTO_WBITS=47- auto-detect zlib or gzip on decompress