@eryx/compression/brotli Module

Brotli compression helpers.

Summary

Classes

Compressor:write(data: buffer) → buffer
Compressor:flush() → buffer
Compressor:finish() → buffer
Decompressor:write(data: buffer) → (buffer, boolean)

Functions

brotli.compress(data: buffer, quality: number?, lgwin: number?, mode: number?) → buffer
brotli.decompress(data: buffer) → buffer
brotli.maxCompressedSize(len: number) → number
brotli.createCompressor(quality: number?, lgwin: number?, mode: number?) → Compressor

API Reference

Classes

Compressor

A streaming Brotli 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.

brotli.createCompressor(quality: number?, lgwin: number?, mode: number?) → 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.

brotli.createDecompressor() → Decompressor

Returns

the streaming decompressor

Constants