node:zlib підтримує API з функціями зворотного виклику, синхронні та потокові API.
| Сімейство | Підтримка |
|---|---|
| Deflate | Функції стиснення/розпакування з обгорткою та без неї, варіанти Sync, класи й допоміжні засоби create* |
| Gzip | Gzip, gunzip, unzip, варіанти Sync, класи й допоміжні засоби create* |
| Brotli | Функції стиснення/розпакування, класи й допоміжні засоби create* |
| Zstandard | Функції стиснення/розпакування, класи й допоміжні засоби create* |
| Утиліти | crc32, constants і codes |
const zlib = require("node:zlib");
const input = Buffer.from("hello, zlib!");
const gzip = zlib.gzipSync(input);
zlib.gunzipSync(gzip).toString(); // "hello, zlib!"
const zstd = zlib.zstdCompressSync(input);
zlib.zstdDecompressSync(zstd).toString(); // "hello, zlib!"Форми з функціями зворотного виклику отримують (error, result); синхронні
форми повертають Buffer або кидають виняток.
node:zlib/iter
Специфічний для Elide модуль ітераторів надає фабрики перетворень для gzip,
deflate, raw deflate, Brotli і Zstandard. Фабрика повертає об’єкт із
.transform(asyncIterable); вивід надходить пакетами фрагментів байтів.
import { gzip } from "node:zlib/iter";
async function* input() {
yield new TextEncoder().encode("hello");
}
for await (const batch of gzip().transform(input())) {
for (const chunk of batch) {
// compressed bytes
}
}Із Web Streams використовуйте Compression Streams.
Див. також
Reference
Status: Partial · Not measured · since 1.1.0
Exports
| Export | Kind | Status | Notes |
|---|---|---|---|
deflateSync() | function | Full | Compress data using the deflate algorithm (RFC 1951 wrapped in zlib format RFC 1950) |
inflateSync() | function | Full | Decompress data that was compressed with deflate (zlib format) |
deflateRawSync() | function | Full | Compress data using the deflate algorithm in raw mode (no zlib header, RFC 1951) |
inflateRawSync() | function | Full | Decompress raw deflate data (no zlib header) |
gzipSync() | function | Full | Compress data using gzip (RFC 1952) |
gunzipSync() | function | Full | Decompress gzip data (RFC 1952) |
brotliCompressSync() | function | Full | Compress data using the Brotli algorithm (RFC 7932) |
brotliDecompressSync() | function | Full | Decompress Brotli-compressed data (RFC 7932) |
unzipSync() | function | Full | Decompress data with automatic format detection (gzip or deflate) |
constants | property | Full | The constants object exposes zlib, Brotli, and Zstd numeric constants |
| top-level constants | constant | Partial | Z_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.