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;
});
```
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`.
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
ZlibOptions
No documentation available
I
N
constants
No documentation available
T
CompressCallback
No documentation available
T
InputType
No documentation available
v
constants.BROTLI_DECODE
No documentation available
v
constants.BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES
No documentation available
v
constants.BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP
No documentation available
v
constants.BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES
No documentation available
v
constants.BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1
No documentation available
v
constants.BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2
No documentation available
v
constants.BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS
No documentation available
v
constants.BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET
No documentation available
v
constants.BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1
No documentation available
v
constants.BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2
No documentation available
v
constants.BROTLI_DECODER_ERROR_FORMAT_CL_SPACE
No documentation available
v
constants.BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT
No documentation available
v
constants.BROTLI_DECODER_ERROR_FORMAT_DICTIONARY
No documentation available
v
constants.BROTLI_DECODER_ERROR_FORMAT_DISTANCE
No documentation available
v
constants.BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE
No documentation available
v
constants.BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE
No documentation available
v
constants.BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE
No documentation available
v
constants.BROTLI_DECODER_ERROR_FORMAT_PADDING_1
No documentation available
v
constants.BROTLI_DECODER_ERROR_FORMAT_PADDING_2
No documentation available
v
constants.BROTLI_DECODER_ERROR_FORMAT_RESERVED
No documentation available
v
constants.BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET
No documentation available
v
constants.BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME
No documentation available
v
constants.BROTLI_DECODER_ERROR_FORMAT_TRANSFORM
No documentation available
v
constants.BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS
No documentation available
v
constants.BROTLI_DECODER_ERROR_INVALID_ARGUMENTS
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
constants.BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION
No documentation available
v
constants.BROTLI_DECODER_PARAM_LARGE_WINDOW
No documentation available
v
constants.BROTLI_DECODER_RESULT_ERROR
No documentation available
v
constants.BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT
No documentation available
v
constants.BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT
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_DISABLE_LITERAL_CONTEXT_MODELING
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