Skip to content

node:zlib

How Elide supports Node's zlib module: Deflate, Gzip, Brotli, Zstandard and crc32 match Node, plus the node:zlib/iter async-iterator extension.

On this page

node:zlib follows Node’s zlib, including Brotli, Zstandard, and crc32. For Web Streams, use Compression Streams.

Example

js
// zlib.mjs
import { brotliCompressSync, crc32, gunzipSync, gzipSync, zstdCompressSync, zstdDecompressSync } from "node:zlib";

const text = "elide ".repeat(100);
const gz = gzipSync(text);
console.log(text.length, "->", gz.length, gunzipSync(gz).toString() === text);
console.log(zstdDecompressSync(zstdCompressSync(text)).toString().length);
console.log(brotliCompressSync(text).length < text.length, crc32("elide"));
utf-8 · js · Lines: 8

elide run zlib.mjs prints:

text
600 -> 35 true
600
true 2639236160
utf-8 · text · Lines: 3

Differences from Node

  • Constants live only on zlib.constants; the top-level Z_*, ZSTD_* and mode aliases such as zlib.Z_OK are undefined.
  • node:zlib/iter is an Elide extension. It exports compress* and decompress* factories (Gzip, Deflate, DeflateRaw, Brotli, Zstd, each with a Sync form) and the aliases gzip, gunzip, deflate, inflate, deflateRaw, and inflateRaw. Each factory’s .transform(asyncIterable) yields batches of byte chunks, as in for await (const batch of gzip().transform(input)).

Reference

Status: Partial · Not measured · since 1.1.0

Exports

ExportKindStatusNotes
deflateSync()functionFullCompress data using the deflate algorithm (RFC 1951 wrapped in zlib format RFC 1950)
inflateSync()functionFullDecompress data that was compressed with deflate (zlib format)
deflateRawSync()functionFullCompress data using the deflate algorithm in raw mode (no zlib header, RFC 1951)
inflateRawSync()functionFullDecompress raw deflate data (no zlib header)
gzipSync()functionFullCompress data using gzip (RFC 1952)
gunzipSync()functionFullDecompress gzip data (RFC 1952)
brotliCompressSync()functionFullCompress data using the Brotli algorithm (RFC 7932)
brotliDecompressSync()functionFullDecompress Brotli-compressed data (RFC 7932)
unzipSync()functionFullDecompress data with automatic format detection (gzip or deflate)
constantspropertyFullThe constants object exposes zlib, Brotli, and Zstd numeric constants
top-level constantsconstantPartialZ_NO_COMPRESSION, Z_BEST_SPEED, Z_BEST_COMPRESSION, Z_DEFAULT_COMPRESSION, Z_FILTERED, Z_HUFFMAN_ONLY and 73 more

Not implemented

107 top-level constants such as DEFLATE.

Was this page helpful?