@eryx/compression/bzip2 Module

JSON

Bzip2 compression utilities.

Summary

Classes

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

Functions

bzip2.compress(data: buffer, blockSize: number?)buffer
bzip2.decompress(data: buffer, small: boolean?)buffer
bzip2.compressBound(len: number)number
bzip2.createCompressor(blockSize: number?)Compressor

API Reference

Classes

Compressor

A streaming bzip2 compressor.

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

@class Decompressor

Properties

Decompressor:write

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

Decompressor:close

Decompressor:close()()

Functions

bzip2.compress

Compress data with bzip2.

bzip2.compress(data: buffer, blockSize: number?)buffer

Parameters

data: buffer

input bytes to compress

blockSize: number?

block size 1..9 (higher=better compression)

Returns

buffer

compressed bzip2 stream blockSize: 1 (BLOCK_FAST, least memory) - 9 (BLOCK_BEST, best compression). Default 9. Controls the Burrows-Wheeler block size; higher = better ratio but ~100 KB more memory per level during compression.

bzip2.decompress

Decompress bzip2 data.

bzip2.decompress(data: buffer, small: boolean?)buffer

Parameters

data: buffer

compressed bzip2 stream

small: boolean?

use small-memory decoder when true

Returns

buffer

decompressed bytes small: if true, uses an alternative algorithm (~2 MB vs ~3.5 MB RAM) at roughly half the speed. Useful in memory-constrained environments.

bzip2.compressBound

Conservative upper bound on compressed output size for len input bytes.

bzip2.compressBound(len: number)number

Parameters

len: number

input length in bytes

Returns

number

upper bound on compressed size The exact formula is approximately len * 1.01 + 600.

bzip2.createCompressor

Creates a streaming bzip2 compressor.

bzip2.createCompressor(blockSize: number?)Compressor

Parameters

blockSize: number?

block size 1..9

Returns

the streaming compressor

bzip2.createDecompressor

Creates a streaming bzip2 decompressor.

bzip2.createDecompressor(small: boolean?)Decompressor

Parameters

small: boolean?

use small-memory decoder

Returns

the streaming decompressor

Constants