Node.js interface to Zstandard (zstd)
Includes Zstd 1.0.0 version for Linux (x86-64, glibc >=2.19), Windows (32 and 64 bits), and Mac OS X (Darwin).
var zstd = require ('node-zstandard')
inputFile
: Path to the to file to be compressed.outputFile
: Path to store the resulting compressed file.compLevel
: Compression level (default=3).callback
: Function to be executed on task completion. Follows Node.js(err, result)
pattern, beingresult
equal tooutputFile
when succeeded.
NOTE: Input and output files should be different. Output file is overwritten if it exists.
zstd.compress('./test', './test.zst', 3, (err, result) => {
if (err)
throw err;
console.log (result);
});
readableStream
: Data Node.js Stream to be compressed.outputFile
: Path to store the resulting compressed file.compLevel
: Compression level (default=3).callback
: Function to be executed on task initialization. Follows Node.js(err, result)
pattern, beingresult
an EventEmitter that can emit the following events:error
: Emitted when an error reading the stream or creating the compressed file occurred. Error message is provided.end
: Emitted when task ended successfully.
NOTE: Output file is overwritten if it exists.
zstd.compressStreamToFile(aReadableStream, './test.zst', 3, (err, result) => {
if (err)
throw err;
result.on('error', (err) => {
throw err;
}
result.on('end', () => {
console.log ('Compression ended');
}
console.log ('Compression started');
});
inputFile
: Path to the to compressed input file.outputFile
: Path to store the resulting decompressed file.callback
: Function to be executed on task completion. Follows Node.js(err, result)
pattern, beingresult
equal tooutputFile
when succeeded.
NOTE: Input and output files should be different. Output file is overwritten if it exists.
zstd.decompress('./test.zst','./test', (err, result) => {
if (err)
throw err;
console.log (result);
});
inputFile
: Path to the to compressed input file.writableStream
: Node.js Stream where to output decompressed data.callback
: Function to be executed on task initialization. Follows Node.js(err, result)
pattern, beingresult
an EventEmitter that can emit the following events:error
: Emitted when an error involving streams or file decompression occurred. Error message is provided.finish
: Emitted when finished writting decompressed data to output stream.
zstd.decompressFileToStream ('./test', aWritableStream, (err, result) => {
if (err)
throw err;
result.on('error', (err) => {
throw err;
}
result.on('finish', () => {
console.log ('Decompression finished');
}
console.log ('Decompression started');
});
inputFile
: Path to the to compressed input file.callback
: Function to be executed on task initialization. Follows Node.js(err, result)
pattern, beingresult
an EventEmitter that can emit the following events:error
: Emitted when an error involving streams or file decompression occurred. Error message is provided.data
: Emitted when a chunk of decompressed data is generated. Data is obviously provided.end
: Emitted when decompression ended and all data events have been emitted.
zstd.decompressionStreamFromFile ('./test', (err, result) => {
if (err)
throw err;
var decompressedData = '';
result.on('error', (err) => {
throw err;
}
result.on('data', (data) => {
decompressedData += data;
}
result.on('end', () => {
console.log (decompressedData);
}
});
Apache 2.0