@metastable/cppzst
v2.2.2
Published
ZSTD streaming wrapper for node.js 18+
Downloads
25
Readme
cppzst 
Zstd wrapper for node.js (fork)
Changes:
- Added support for running inside V8 sandbox.
- Updated zstd to latest.
- Added proper support for ES modules and CJS.
Installation
$ npm install @metastable/cppzst --saveUsage
Async
compress(buffer[, zstdCompressParams], callback)
import { compress } from "cppzst";
await compress(input);decompress(buffer[, zstdDecompressParams], callback)
import { decompress } from "cppzst";
await decompress(input);Sync
compressSync(buffer[, zstdCompressParams])
const compressSync = require("cppzst").compressSync;
try {
var output = compressSync(input);
} catch (err) {
// ...
}decompressSync(buffer[, zstdCompressParams])
const decompressSync = require("cppzst").decompressSync;
try {
var output = decompressSync(input);
} catch (err) {
// ...
}Stream
compressStream([zstdCompressParams])
const compressStream = require("cppzst").compressStream;
const fs = require("fs");
fs.createReadStream("path/to/input")
.pipe(compressStream())
.pipe(fs.createWriteStream("path/to/output"));decompressStream([zstdCompressParams])
const decompressStream = require("cppzst").decompressStream;
const fs = require("fs");
fs.createReadStream("path/to/input")
.pipe(decompressStream())
.pipe(fs.createWriteStream("path/to/output"));ZSTD Params
The compress, compressSync and compressStream methods may accept an optional zstdCompressParams object to define compress level and/or dict.
const zstdCompressParams = {
level: 5, // default 1
dict: new Buffer("hello zstd"), // if dict null, left level only.
dictSize: dict.length, // if dict null, left level only.
};The decompress, decompressSync and decompressStream methods may accept an optional zstdDecompressParams object to define dict.
const zdtdDecompressParams = {
dict: new Buffer("hello zstd"),
dictSize: dict.length,
};Tests
$ npm testLicense
MIT
