@eryx/compression/gzip Module

JSON

Gzip helpers: compress/decompress and header inspection utilities.

Summary

Classes

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

Functions

gzip.compress(data: buffer, level: number?)buffer
gzip.compressEx(data: buffer, options: CompressExOptions)buffer
gzip.decompress(data: buffer)buffer
gzip.isGzip(data: buffer)boolean
gzip.readHeader(data: buffer)GzipHeader
gzip.createCompressor(level: number?)Compressor

API Reference

Classes

Compressor

A streaming gzip compressor. Feed data incrementally with write, then call finish to produce the final gzip output.

@class Compressor

Properties

Compressor:write

Compressor:write(data: buffer, flush: number?)buffer

Compressor:finish

Compressor:finish()buffer

Compressor:close

Compressor:close()()

Decompressor

A streaming gzip decompressor. Feed compressed chunks with write; the second return value indicates when the stream is complete.

@class Decompressor

Properties

Decompressor:write

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

Decompressor:close

Decompressor:close()()

Functions

gzip.compress

Standard gzip compress.

gzip.compress(data: buffer, level: number?)buffer

Parameters

data: buffer

input bytes to compress

level: number?

compression level (NO_COMPRESSION..BEST_COMPRESSION)

Returns

buffer

gzip-wrapped compressed bytes

gzip.compressEx

Gzip compress with a custom header (filename, timestamp, OS, comment).

gzip.compressEx(data: buffer, options: CompressExOptions)buffer

Parameters

data: buffer

input bytes to compress

header and compression options

Returns

buffer

gzip-wrapped compressed bytes

gzip.decompress

Gzip decompress.

gzip.decompress(data: buffer)buffer

Parameters

data: buffer

gzip stream to decompress

Returns

buffer

decompressed bytes

gzip.isGzip

Returns true if the buffer starts with the gzip magic bytes (0x1F 0x8B).

gzip.isGzip(data: buffer)boolean

Parameters

data: buffer

data to inspect

Returns

boolean

true when buffer looks like gzip

gzip.readHeader

Parses the gzip header fields without decompressing the payload.

gzip.readHeader(data: buffer)GzipHeader

Parameters

data: buffer

gzip stream

Returns

parsed header fields

gzip.createCompressor

Creates a streaming gzip compressor.

gzip.createCompressor(level: number?)Compressor

Parameters

level: number?

compression level

Returns

the streaming compressor

gzip.createDecompressor

Creates a streaming gzip decompressor.

gzip.createDecompressor()Decompressor

Returns

the streaming decompressor

Types

GzipHeader

method: number
flags: number
mtime: number
xfl: number
os: number
name: string?
comment: string?
extra: buffer?
headerCrc16: number?
dataOffset: number

CompressExOptions

level: number?
name: string?
comment: string?
mtime: number?
os: number?

Constants