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:close
Decompressor:close() → ()
Functions
brotli.compress
Compress data with Brotli.
Parameters
data: buffer
input bytes to compress
0..11 (QUALITY_MIN..QUALITY_MAX). Default 11.
log2 window size in bytes (WINDOW_MIN..WINDOW_MAX). Default 22.
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.
Parameters
input length in bytes
Returns
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
0..11
log2 window size
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