تدعم node:zlib واجهات دوال الاستدعاء والواجهات المتزامنة وواجهات التدفقات.
| العائلة | الدعم |
|---|---|
| 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 و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.
انظر أيضًا
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.