lz4-wasm-nodejs
TypeScript icon, indicating that this package has built-in type declarations

0.9.2 • Public • Published

lz4-wasm

Extremely fast compression(200MB/s Firefox, 350Mb/s Chrome) and decompression(600MB/s Firefox, 1400Mb/s Chrome) in the browser or nodejs using wasm.

Built with Rust

🚴 Usage

The wasm module exposes two function compress and decompress. Both accept and return UInt8Array. Internally the lz4 block api is used, the length of the original input is prepended in 32-bit little endian.


import * as wasm from "lz4-wasm";

// use TextEncoder to get bytes (UInt8Array) from string
var enc = new TextEncoder();
const compressed = wasm.compress(enc.encode("compress this text, compress this text pls. thx. thx. thx. thx. thx"));
const original = wasm.decompress(compressed);

var dec = new TextDecoder("utf-8");
alert(dec.decode(original))

See https://github.com/PSeitz/lz4_flex/tree/master/lz4-wasm/example_project for usage and benchmark.

Making New Releases

Release for bundler

Build. This will optimize usage for inside a bundler like webpack.

RUST_LOG=info wasm-pack build --release

Due to a long standing bug in wasm-pack 0.9.1, manually add these files to pkg/package.json.

    "lz4_wasm_bg.wasm.d.ts",
RUST_LOG=info wasm-pack publish

Release for nodejs

set name in Cargo toml to

name = "lz4-wasm-nodejs"

Build for nodejs

RUST_LOG=info wasm-pack build --release -t nodejs
RUST_LOG=info wasm-pack publish

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
0.9.2293latest

Version History

VersionDownloads (Last 7 Days)Published
0.9.2293
0.7.534
0.7.41
0.7.31

Package Sidebar

Install

npm i lz4-wasm-nodejs

Weekly Downloads

152

Version

0.9.2

License

MIT

Unpacked Size

42.1 kB

Total Files

7

Last publish

Collaborators

  • pseitz