Skip to main content
node__zlib.d.ts - Node documentation

Usage in Deno

```typescript import * as mod from "node:node__zlib.d.ts"; ```
The `node:zlib` module provides compression functionality implemented using Gzip, Deflate/Inflate, and Brotli. To access it: ```js import zlib from 'node:zlib'; ``` Compression and decompression are built around the Node.js [Streams API](https://nodejs.org/docs/latest-v22.x/api/stream.html). Compressing or decompressing a stream (such as a file) can be accomplished by piping the source stream through a `zlib` `Transform` stream into a destination stream: ```js import { createGzip } from 'node:zlib'; import { pipeline } from 'node:stream'; import { createReadStream, createWriteStream, } from 'node:fs'; const gzip = createGzip(); const source = createReadStream('input.txt'); const destination = createWriteStream('input.txt.gz'); pipeline(source, gzip, destination, (err) => { if (err) { console.error('An error occurred:', err); process.exitCode = 1; } }); // Or, Promisified import { promisify } from 'node:util'; const pipe = promisify(pipeline); async function do_gzip(input, output) { const gzip = createGzip(); const source = createReadStream(input); const destination = createWriteStream(output); await pipe(source, gzip, destination); } do_gzip('input.txt', 'input.txt.gz') .catch((err) => { console.error('An error occurred:', err); process.exitCode = 1; }); ``` It is also possible to compress or decompress data in a single step: ```js import { deflate, unzip } from 'node:zlib'; const input = '.................................'; deflate(input, (err, buffer) => { if (err) { console.error('An error occurred:', err); process.exitCode = 1; } console.log(buffer.toString('base64')); }); const buffer = Buffer.from('eJzT0yMAAGTvBe8=', 'base64'); unzip(buffer, (err, buffer) => { if (err) { console.error('An error occurred:', err); process.exitCode = 1; } console.log(buffer.toString()); }); // Or, Promisified import { promisify } from 'node:util'; const do_unzip = promisify(unzip); do_unzip(buffer) .then((buf) => console.log(buf.toString())) .catch((err) => { console.error('An error occurred:', err); process.exitCode = 1; }); ```

Functions

f
brotliCompress
No documentation available
f
brotliCompressSync
Compress a chunk of data with `BrotliCompress`.
f
brotliDecompress
No documentation available
f
brotliDecompressSync
Decompress a chunk of data with `BrotliDecompress`.
f
crc32
Computes a 32-bit [Cyclic Redundancy Check](https://en.wikipedia.org/wiki/Cyclic_redundancy_check) checksum of `data`. If `value` is specified, it is used as the starting value of the checksum, otherwise, 0 is used as the starting value.
f
createBrotliCompress
Creates and returns a new `BrotliCompress` object.
f
createBrotliDecompress
Creates and returns a new `BrotliDecompress` object.
f
createDeflate
Creates and returns a new `Deflate` object.
f
createDeflateRaw
Creates and returns a new `DeflateRaw` object. An upgrade of zlib from 1.2.8 to 1.2.11 changed behavior when `windowBits` is set to 8 for raw deflate streams. zlib would automatically set `windowBits` to 9 if was initially set to 8. Newer versions of zlib will throw an exception, so Node.js restored the original behavior of upgrading a value of 8 to 9, since passing `windowBits = 9` to zlib actually results in a compressed stream that effectively uses an 8-bit window only.
f
createGunzip
Creates and returns a new `Gunzip` object.
f
createGzip
Creates and returns a new `Gzip` object. See `example`.
f
createInflate
Creates and returns a new `Inflate` object.
f
createInflateRaw
Creates and returns a new `InflateRaw` object.
f
createUnzip
Creates and returns a new `Unzip` object.
f
deflate
No documentation available
f
deflateRaw
No documentation available
f
deflateRawSync
Compress a chunk of data with `DeflateRaw`.
f
deflateSync
Compress a chunk of data with `Deflate`.
f
gunzip
No documentation available
f
gunzipSync
Decompress a chunk of data with `Gunzip`.
f
gzip
No documentation available
f
gzipSync
Compress a chunk of data with `Gzip`.
f
inflate
No documentation available
f
inflateRaw
No documentation available
f
inflateRawSync
Decompress a chunk of data with `InflateRaw`.
f
inflateSync
Decompress a chunk of data with `Inflate`.
f
unzip
No documentation available
f
unzipSync
Decompress a chunk of data with `Unzip`.

Interfaces

I
BrotliCompress
> [!WARNING] Deno compatibility > This class is not supported.
I
BrotliDecompress
> [!WARNING] Deno compatibility > This class is not supported.
I
BrotliOptions
> [!WARNING] Deno compatibility > This class is not supported.
I
Deflate
No documentation available
I
DeflateRaw
No documentation available
I
Gunzip
No documentation available
I
Gzip
No documentation available
I
Inflate
No documentation available
I
InflateRaw
No documentation available
I
Unzip
No documentation available
I
Zlib
No documentation available
I
ZlibParams
No documentation available
I
ZlibReset
No documentation available

Namespaces

N
constants
No documentation available

Type Aliases

T
CompressCallback
No documentation available
T
InputType
No documentation available

Variables

v
constants.BROTLI_DECODE
No documentation available
v
constants.BROTLI_DECODER_ERROR_UNREACHABLE
No documentation available
v
constants.BROTLI_DECODER_NEEDS_MORE_INPUT
No documentation available
v
constants.BROTLI_DECODER_NEEDS_MORE_OUTPUT
No documentation available
v
constants.BROTLI_DECODER_NO_ERROR
No documentation available
v
v
constants.BROTLI_DECODER_RESULT_ERROR
No documentation available
v
constants.BROTLI_DECODER_RESULT_SUCCESS
No documentation available
v
constants.BROTLI_DECODER_SUCCESS
No documentation available
v
constants.BROTLI_DEFAULT_MODE
No documentation available
v
constants.BROTLI_DEFAULT_QUALITY
No documentation available
v
constants.BROTLI_DEFAULT_WINDOW
No documentation available
v
constants.BROTLI_ENCODE
No documentation available
v
constants.BROTLI_LARGE_MAX_WINDOW_BITS
No documentation available
v
constants.BROTLI_MAX_INPUT_BLOCK_BITS
No documentation available
v
constants.BROTLI_MAX_QUALITY
No documentation available
v
constants.BROTLI_MAX_WINDOW_BITS
No documentation available
v
constants.BROTLI_MIN_INPUT_BLOCK_BITS
No documentation available
v
constants.BROTLI_MIN_QUALITY
No documentation available
v
constants.BROTLI_MIN_WINDOW_BITS
No documentation available
v
constants.BROTLI_MODE_FONT
No documentation available
v
constants.BROTLI_MODE_GENERIC
No documentation available
v
constants.BROTLI_MODE_TEXT
No documentation available
v
constants.BROTLI_OPERATION_EMIT_METADATA
No documentation available
v
constants.BROTLI_OPERATION_FINISH
No documentation available
v
constants.BROTLI_OPERATION_FLUSH
No documentation available
v
constants.BROTLI_OPERATION_PROCESS
No documentation available
v
constants.BROTLI_PARAM_LARGE_WINDOW
No documentation available
v
constants.BROTLI_PARAM_LGBLOCK
No documentation available
v
constants.BROTLI_PARAM_LGWIN
No documentation available
v
constants.BROTLI_PARAM_MODE
No documentation available
v
constants.BROTLI_PARAM_NDIRECT
No documentation available
v
constants.BROTLI_PARAM_NPOSTFIX
No documentation available
v
constants.BROTLI_PARAM_QUALITY
No documentation available
v
constants.BROTLI_PARAM_SIZE_HINT
No documentation available
v
constants.DEFLATE
No documentation available
v
constants.DEFLATERAW
No documentation available
v
constants.GUNZIP
No documentation available
v
constants.GZIP
No documentation available
v
constants.INFLATE
No documentation available
v
constants.INFLATERAW
No documentation available
v
constants.UNZIP
No documentation available
v
constants.Z_BEST_COMPRESSION
No documentation available
v
constants.Z_BEST_SPEED
No documentation available
v
constants.Z_BLOCK
No documentation available
v
constants.Z_BUF_ERROR
No documentation available
v
constants.Z_DATA_ERROR
No documentation available
v
constants.Z_DEFAULT_CHUNK
No documentation available
v
constants.Z_DEFAULT_COMPRESSION
No documentation available
v
constants.Z_DEFAULT_LEVEL
No documentation available
v
constants.Z_DEFAULT_MEMLEVEL
No documentation available
v
constants.Z_DEFAULT_STRATEGY
No documentation available
v
constants.Z_DEFAULT_WINDOWBITS
No documentation available
v
constants.Z_ERRNO
No documentation available
v
constants.Z_FILTERED
No documentation available
v
constants.Z_FINISH
No documentation available
v
constants.Z_FIXED
No documentation available
v
constants.Z_FULL_FLUSH
No documentation available
v
constants.Z_HUFFMAN_ONLY
No documentation available
v
constants.Z_MAX_CHUNK
No documentation available
v
constants.Z_MAX_LEVEL
No documentation available
v
constants.Z_MAX_MEMLEVEL
No documentation available
v
constants.Z_MAX_WINDOWBITS
No documentation available
v
constants.Z_MEM_ERROR
No documentation available
v
constants.Z_MIN_CHUNK
No documentation available
v
constants.Z_MIN_LEVEL
No documentation available
v
constants.Z_MIN_MEMLEVEL
No documentation available
v
constants.Z_MIN_WINDOWBITS
No documentation available
v
constants.Z_NEED_DICT
No documentation available
v
constants.Z_NO_COMPRESSION
No documentation available
v
constants.Z_NO_FLUSH
No documentation available
v
constants.Z_OK
No documentation available
v
constants.Z_PARTIAL_FLUSH
No documentation available
v
constants.Z_RLE
No documentation available
v
constants.Z_STREAM_END
No documentation available
v
constants.Z_STREAM_ERROR
No documentation available
v
constants.Z_SYNC_FLUSH
No documentation available
v
constants.Z_TREES
No documentation available
v
constants.Z_VERSION_ERROR
No documentation available
v
constants.ZLIB_VERNUM
No documentation available
v
Z_ASCII
No documentation available
v
Z_BEST_COMPRESSION
No documentation available
v
Z_BEST_SPEED
No documentation available
v
Z_BINARY
No documentation available
v
Z_BLOCK
No documentation available
v
Z_BUF_ERROR
No documentation available
v
Z_DATA_ERROR
No documentation available
v
Z_DEFAULT_COMPRESSION
No documentation available
v
Z_DEFAULT_STRATEGY
No documentation available
v
Z_DEFLATED
No documentation available
v
Z_ERRNO
No documentation available
v
Z_FILTERED
No documentation available
v
Z_FINISH
No documentation available
v
Z_FIXED
No documentation available
v
Z_FULL_FLUSH
No documentation available
v
Z_HUFFMAN_ONLY
No documentation available
v
Z_MEM_ERROR
No documentation available
v
Z_NEED_DICT
No documentation available
v
Z_NO_COMPRESSION
No documentation available
v
Z_NO_FLUSH
No documentation available
v
Z_OK
No documentation available
v
Z_PARTIAL_FLUSH
No documentation available
v
Z_RLE
No documentation available
v
Z_STREAM_END
No documentation available
v
Z_STREAM_ERROR
No documentation available
v
Z_SYNC_FLUSH
No documentation available
v
Z_TEXT
No documentation available
v
Z_TREES
No documentation available
v
Z_UNKNOWN
No documentation available
v
Z_VERSION_ERROR
No documentation available