You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.9 KiB
40 lines
1.9 KiB
|
1 week ago
|
# Lz4.js [](https://www.npmjs.com/package/lz4js) [](https://travis-ci.org/Benzinga/lz4js) [](https://codecov.io/gh/Benzinga/lz4js)
|
||
|
|
Lz4.js is an implementation of Lz4 designed to be used in web browsers. It contains no dependencies on external libraries or Node.JS, though it is organized as a set of CommonJS modules. It is recommended to use Browserify or WebPack to bundle this for the web browser.
|
||
|
|
|
||
|
|
## Installation
|
||
|
|
```
|
||
|
|
npm install lz4js
|
||
|
|
```
|
||
|
|
|
||
|
|
## Usage
|
||
|
|
```javascript
|
||
|
|
var lz4 = require("lz4js");
|
||
|
|
var fs = require("fs");
|
||
|
|
|
||
|
|
// Compress 128 bytes of zero.
|
||
|
|
var compressed = lz4.compress(new Array(128));
|
||
|
|
|
||
|
|
// Decompress.
|
||
|
|
var decompressed = lz4.decompress(compressed);
|
||
|
|
|
||
|
|
// Compress file.bin to file.lz4.
|
||
|
|
var data = fs.readFileSync("file.bin");
|
||
|
|
compressed = Buffer.from(lz4.compress(data));
|
||
|
|
fs.writeFileSync('file.lz4', compressed);
|
||
|
|
```
|
||
|
|
|
||
|
|
> **Note**: The high-level `compress` and `decompress` functions deal with framed Lz4 data and do not support raw block data nor legacy Lz4 blocks.
|
||
|
|
|
||
|
|
## API
|
||
|
|
The API accepts either `Array`s or `Uint8Array`s. Arrays are expected to be arrays of unsigned 8-bit values. The API will return `Uint8Array`s if the browser supports them, or `Array`s otherwise.
|
||
|
|
|
||
|
|
- `compress(buffer: Array, maxSize: Number): Array`
|
||
|
|
|
||
|
|
Compresses a buffer using Lz4. maxSize sets bounds on the output length; it is recommended to not specify this unless you know what you're doing.
|
||
|
|
Any unused buffer data will be sliced before the buffer is returned.
|
||
|
|
|
||
|
|
- `decompress(buffer: Array, maxSize: Number): Array`
|
||
|
|
|
||
|
|
Decompresses a buffer using Lz4. maxSize sets bounds on the output length; if you know the output length, this will reduce memory usage somewhat.
|
||
|
|
Any unused buffer data will be sliced before the buffer is returned.
|