JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 10348
  • Score
    100M100P100Q129290F
  • License MIT

Synchronous zlib bindings for NodeJS

Package Exports

  • zlib-sync

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (zlib-sync) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

zlib-sync

Synchronous zlib for NodeJS

Originally made for JS libraries interacting with the Discord gateway, where compression requires a shared zlib context in a synchronous fashion.

Features

  • Synchronous, Pako-like API

  • Near-native performance and efficiency

Installing

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

Usage

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());

To-Do

  • Deflate stream support
  • One-time deflate/inflate support

License

Refer to the LICENSE file.