A streaming bzip2 compressor.
@eryx/compression/bzip2 Module
Bzip2 compression utilities.
Summary
Classes
Functions
API Reference
Classes
Compressor
Properties
Compressor:write
Compressor:flush
Compressor:finish
Compressor:close
Decompressor
A streaming bzip2 decompressor.
Properties
Decompressor:write
Decompressor:close
Functions
bzip2.compress
Compress data with bzip2.
Parameters
input bytes to compress
block size 1..9 (higher=better compression)
Returns
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.
Parameters
compressed bzip2 stream
use small-memory decoder when true
Returns
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.
Parameters
input length in bytes
Returns
upper bound on compressed size The exact formula is approximately len * 1.01 + 600.
bzip2.createCompressor
Creates a streaming bzip2 compressor.
Parameters
block size 1..9
Returns
the streaming compressor
bzip2.createDecompressor
Creates a streaming bzip2 decompressor.
Parameters
use small-memory decoder
Returns
the streaming decompressor
Constants
- Block size constants
bzip2.BLOCK_FAST=1- fastest, least memorybzip2.BLOCK_BEST=9- best compression, most memory