A streaming Brotli compressor.
@eryx/compression/brotli Module
Brotli compression helpers.
Summary
Classes
Functions
API Reference
Classes
Compressor
Properties
Compressor:write
Compressor:write(data: buffer) → buffer
Compressor:flush
Compressor:flush() → buffer
Compressor:finish
Compressor:finish() → buffer
Compressor:close
Compressor:close() → ()
Decompressor
A streaming Brotli decompressor.
Properties
Decompressor:write
Decompressor:write(data: buffer) → (buffer, boolean)
Decompressor:close
Decompressor:close() → ()
Functions
brotli.compress
Compress data with Brotli.
brotli.compress(data: buffer, quality: number?, lgwin: number?, mode: number?) → buffer
Parameters
data: buffer
input bytes to compress
quality: number?
0..11 (QUALITY_MIN..QUALITY_MAX). Default 11.
lgwin: number?
log2 window size in bytes (WINDOW_MIN..WINDOW_MAX). Default 22.
mode: number?
MODE_GENERIC/MODE_TEXT/MODE_FONT
Returns
buffer
compressed brotli frame
brotli.decompress
Decompress Brotli data.
brotli.decompress(data: buffer) → buffer
Parameters
data: buffer
brotli frame to decompress
Returns
buffer
decompressed bytes
brotli.maxCompressedSize
Upper bound on compressed output size for len input bytes.
brotli.maxCompressedSize(len: number) → number
Parameters
len: number
input length in bytes
Returns
number
upper bound in bytes (0 if too large) Returns 0 if len is too large for Brotli to handle in one call.
brotli.createCompressor
Creates a streaming Brotli compressor.
Parameters
quality: number?
0..11
lgwin: number?
log2 window size
mode: number?
MODE_GENERIC/MODE_TEXT/MODE_FONT
Returns
the streaming compressor
brotli.createDecompressor
Creates a streaming Brotli decompressor.
Returns
the streaming decompressor
Constants
- Mode constants
brotli.MODE_GENERIC=0- general databrotli.MODE_TEXT=1- UTF-8 text (enables context modelling)brotli.MODE_FONT=2- WOFF2 font data- Quality constants
brotli.QUALITY_MIN=0brotli.QUALITY_MAX=11brotli.QUALITY_DEFAULT=11- Window size constants (log2 of bytes, so WINDOW_MAX=24 means 16 MB window)
brotli.WINDOW_MIN=10brotli.WINDOW_MAX=24brotli.WINDOW_DEFAULT=22