A single-step Buffer compression library for Node.js.
compress = require('compress-buffer').compress;
uncompress = require('compress-buffer').uncompress;
var rawData = fs.readFileSync("/etc/passwd");
var compressed = compress(rawData);
var uncompressed = uncompress(compressed);
uncompressed == rawData // true!For the sake of the KISS principle. Most of the time you don't need a streaming compression, you need to compress an existing and already complete data.
compress() takes two arguments: the data (must be a Buffer()) and optional compression level which must be within 1..9. It returns compressed Buffer() or undefined on error.
uncompress() takes a single argument: the data (must be a Buffer()) and returns uncompressed Buffer() or undefined on error.
npm install compress-buffer
or
npm install .
In version 0.4.1 I removed support for strings compression. It is not possible to correctly determine the encoding of an input string and different encoding yields different results. So for the sake of consistency and reliability this was removed.
Use the following instead:
var compressedBuffer = compress(new Buffer("my string"));See LICENSE file. Basically, it's a kind of "do-whatever-you-want-for-free" license.
- A lot of thanks for important suggestions goes to Konstantin Käfer who implemented a nice similar module node-zlib (https://github.com/kkaefer/node-zlib) earlier than me.
- Oleg Kertanov.
Egor Egorov me@egorfine.com