node lzo

Node.js Bindings for LZO Compression

node-lzo npm version

Node.js Bindings for LZO Compression

Example

const lzo = require('lzo');

console.log('Current version:', lzo.version, '-', lzo.versionDate);

let str = 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam',
    compressed = lzo.compress(str);

console.log('Original Length:', str.length, '-- Compressed length:', compressed.length);

let decompressed = lzo.decompress(compressed);

console.log('Decompressed Length:', decompressed.length);
console.log(decompressed.toString());

Properties

version

The version of LZO being used.

versionDate

The date on which the version was released.

errors

An object containing the lzo error codes as seen below.

Methods

compress(data, length)

If data is not a Buffer, the function will try to convert it via Buffer.from.
If you specify a length, the function will allocate that much memory for the compressed data.
Returns the compressed data as a Buffer.

decompress(data, length)

If data is not a Buffer, the function will try to convert it via Buffer.from.
If you specify a length, the function will allocate that much memory for the decompressed data. I suggest you to do so whenever you know the length.
Returns the decompressed data as a Buffer.

Errors

Code Description
-1 LZO_E_ERROR
-2 LZO_E_OUT_OF_MEMORY
-3 LZO_E_NOT_COMPRESSIBLE
-4 LZO_E_INPUT_OVERRUN
-5 LZO_E_OUTPUT_OVERRUN
-6 LZO_E_LOOKBEHIND_OVERRUN
-7 LZO_E_EOF_NOT_FOUND
-8 LZO_E_INPUT_NOT_CONSUMED
-9 LZO_E_NOT_YET_IMPLEMENTED
-10 LZO_E_INVALID_ARGUMENT
-11 LZO_E_INVALID_ALIGNMENT
-12 LZO_E_OUTPUT_NOT_CONSUMED
-99 LZO_E_INTERNAL_ERROR