Synchronous zlib bindings for NodeJS
Originally made for JS libraries interacting with the Discord gateway, where compression requires a shared zlib context in a synchronous fashion.
-
Synchronous, Pako-like API
-
Near-native performance and efficiency
zlib-sync
is a native module, so it requires node-gyp
to be installed, which requires Python 2.7 and a C++ compiler on your system. See the node-gyp documentation for more info. A pre-built module is planned for a future update.
After getting node-gyp
set up, install zlib-sync
like a normal NPM package:
npm install zlib-sync
Documentation can be found here.
var ZlibSync = require("zlib-sync");
var inflate = new ZlibSync.Inflate();
inflate.push(compressedChunk1);
inflate.push(compressedChunk2, ZlibSync.Z_SYNC_FLUSH);
if(inflate.err < 0) {
throw new Error("zlib error: " + inflate.msg);
}
var result = inflate.result;
console.log(result.toString());
- Deflate stream support
- One-time deflate/inflate support
Refer to the LICENSE file.