Skip to content

API Reference

One-Shot Functions

compress

zig
pub fn compress(allocator: std.mem.Allocator, input: []const u8) ![]u8

One-shot compression with default options (quality 11, window 22).

compressWithOptions

zig
pub fn compressWithOptions(
    allocator: std.mem.Allocator,
    input: []const u8,
    options: CompressionOptions,
) ![]u8

Full control: quality (0–11), lgwin (10–24), mode, size hint, progress callback. See CompressionOptions.

decompress

zig
pub fn decompress(allocator: std.mem.Allocator, input: []const u8) ![]u8

One-shot decompression into a freshly allocated buffer.

decompressWithOptions

zig
pub fn decompressWithOptions(allocator, input, options: DecoderOptions) ![]u8

Decoder options include large_window for LGWIN up to 30.

decompressInto

zig
pub fn decompressInto(allocator, input: []const u8, output: []u8) !usize

Decompress into a caller-provided buffer; returns bytes written.

maxCompressedSize

zig
pub fn maxCompressedSize(input_size: usize) usize

Upper bound for output allocation (mirrors BrotliEncoderMaxCompressedSize).

Types

TypeDefinitionDocs
Encodersrc/compress/encode.zigEncoder
Decodersrc/decompress/decode.zigDecoder
StreamingCompressorsrc/compress/encode.zigStreamCompressor
StreamingDecompressorsrc/brotli.zigStreamDecompressor
CompressionOptionssrc/compress/encode.zigOptions
DecoderOptionssrc/decompress/decode.zigOptions
Dictionariessrc/dictionary/dictionary.zig + attach APIsDict
ErrorCode / DecodeResultsrc/decompress/decode.zigErrors

Version

zig
brotli.version        // "0.0.2"
brotli.versionNumber() // 2
brotli.versionString() // "0.0.2"

Constants

Quality/window bounds and format sizes — see Constants.

Released under the MIT License.