@bugsplat/node-zstd
v2.0.1
Published
Zstd wrapper for Nodejs
Downloads
5
Maintainers
Readme
node-zstd
Zstd wrapper for Nodejs
Installation
$ npm install node-zstd --save
Usage
Async
compress(buffer[, zstdCompressParams], callback)
const compress = require('node-zstd').compress;
compress(input, function(err, output)) {
// ...
};
decompress(buffer[, zstdDecompressParams], callback)
const decompress = require('node-zstd').decompress;
decompress(input, function(err, output) {
// ...
});
Sync
compressSync(buffer[, zstdCompressParams])
const compressSync = require('node-zstd').compressSync;
try {
var output = compressSync(input);
} catch(err) {
// ...
}
decompressSync(buffer[, zstdCompressParams])
const decompressSync = require('node-zstd').decompressSync;
try {
var output = decompressSync(input);
} catch(err) {
// ...
}
Stream
compressStream([zstdCompressParams])
const compressStream = require('node-zstd').compressStream;
const fs = require('fs');
fs.createReadStream('path/to/input')
.pipe(compressStream())
.pipe(fs.createWriteStream('path/to/output'));
decompressStream([zstdCompressParams])
const decompressStream = require('node-zstd').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 test
License
MIT