@eryx/compression/zlib Module

JSON

Zlib utilities: compress/decompress, checksums, and helpers.

Summary

Classes

Deflate:write(data: buffer, flush: number?)buffer
Deflate:finish()buffer
Deflate:close()()
Inflate:write(data: buffer)(buffer, boolean)
Inflate:close()()

Functions

zlib.compress(data: buffer, level: number?)buffer
zlib.compressRaw(data: buffer, level: number?, windowBits: number?, memLevel: number?, strategy: number?)buffer
zlib.decompress(data: buffer)buffer
zlib.decompressRaw(data: buffer, windowBits: number?)buffer
zlib.adler32(data: buffer, initial: number?)number
zlib.crc32(data: buffer, initial: number?)number
zlib.compressBound(len: number)number
zlib.createDeflate(level: number?, windowBits: number?, memLevel: number?, strategy: number?)Deflate
zlib.createInflate(windowBits: number?)Inflate

API Reference

Classes

Deflate

A streaming deflate compressor. Feed data incrementally with write, then call finish to flush remaining output and close the stream.

@class 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.

Deflate:write(data: buffer, flush: number?)buffer

Parameters

data: buffer

input bytes to compress

flush: number?

flush mode (FLUSH_NO, FLUSH_SYNC, FLUSH_FULL)

Returns

buffer

compressed output (may be empty)

Deflate:finish

Finishes the stream: flushes all remaining data and closes the compressor.

Deflate:finish()buffer

Returns

buffer

final compressed output

Deflate:close

Closes the stream without finishing, freeing resources.

Deflate:close()()

Inflate

A streaming inflate decompressor. Feed compressed chunks with write; the second return value indicates when the stream is complete.

@class Inflate

Properties

Inflate:write

Decompresses a chunk of compressed data. Returns decompressed output and a boolean indicating whether the stream has ended.

Inflate:write(data: buffer)(buffer, boolean)

Parameters

data: buffer

compressed bytes

Returns

buffer

decompressed output

boolean

true when the stream is fully decompressed

Inflate:close

Closes the stream, freeing resources.

Inflate:close()()

Functions

zlib.compress

Standard zlib compress (zlib header + Adler-32 trailer).

zlib.compress(data: buffer, level: number?)buffer

Parameters

data: buffer

input bytes to compress

level: number?

compression level (NO_COMPRESSION..BEST_COMPRESSION)

Returns

buffer

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_*.

zlib.compressRaw(data: buffer, level: number?, windowBits: number?, memLevel: number?, strategy: number?)buffer

Parameters

data: buffer

input bytes to compress

level: number?

compression level

windowBits: number?

window bits preset (MAX_WBITS/RAW_WBITS/etc)

memLevel: number?

memory level 1..9

strategy: number?

compression strategy constant

Returns

buffer

deflate stream (no outer wrapper unless windowBits requests it)

zlib.decompress

Standard zlib inflate.

zlib.decompress(data: buffer)buffer

Parameters

data: buffer

zlib-wrapped compressed data

Returns

buffer

decompressed bytes

zlib.decompressRaw

Inflate with custom windowBits (e.g. RAW_WBITS for raw deflate streams).

zlib.decompressRaw(data: buffer, windowBits: number?)buffer

Parameters

data: buffer

compressed stream

windowBits: number?

window bits preset

Returns

buffer

decompressed bytes

zlib.adler32

Running Adler-32 checksum. Pass previous result as initial to chain.

zlib.adler32(data: buffer, initial: number?)number

Parameters

data: buffer

input bytes to checksum

initial: number?

previous checksum to continue from

Returns

number

number checksum value

zlib.crc32

Running CRC-32 checksum. Pass previous result as initial to chain.

zlib.crc32(data: buffer, initial: number?)number

Parameters

data: buffer

input bytes to checksum

initial: number?

previous checksum to continue from

Returns

number

number checksum value

zlib.compressBound

Upper bound on compressed output size for input of len bytes.

zlib.compressBound(len: number)number

Parameters

len: number

input length in bytes

Returns

number

number upper bound in bytes

zlib.createDeflate

Creates a streaming deflate compressor.

zlib.createDeflate(level: number?, windowBits: number?, memLevel: number?, strategy: number?)Deflate

Parameters

level: number?

compression level

windowBits: number?

window bits (MAX_WBITS, RAW_WBITS, GZIP_WBITS)

memLevel: number?

memory level 1..9

strategy: number?

compression strategy

Returns

the streaming compressor

zlib.createInflate

Creates a streaming inflate decompressor.

zlib.createInflate(windowBits: number?)Inflate

Parameters

windowBits: number?

window bits (MAX_WBITS, RAW_WBITS, AUTO_WBITS)

Returns

the streaming decompressor

Constants