@brianpugh/tamp
Version:
Tamp compression library for JavaScript/TypeScript using WebAssembly
62 lines (45 loc) β’ 1.15 kB
Markdown
High-performance JavaScript/TypeScript compression library using Tamp compiled
to WebAssembly with modern, ergonomic callback support.
See [the docs] for usage. This README is tamp-developer-centric
```bash
npm install @brianpugh/tamp
```
```javascript
import {
compress,
decompress,
compressText,
decompressText,
} from '@brianpugh/tamp';
// Text compression
const compressed = await compressText('Hello, δΈη! π');
const original = await decompressText(compressed);
// Binary data
const data = new TextEncoder().encode('Hello, World!');
const compressedData = await compress(data);
const decompressed = await decompress(compressedData);
```
Requirements:
- [Emscripten SDK](https://emscripten.org/docs/getting_started/downloads.html)
- Node.js 14+
```bash
git clone https://github.com/emscripten-core/emsdk.git
cd emsdk
./emsdk install latest
./emsdk activate latest
source ./emsdk_env.sh
cd tamp/wasm
make all
npm run build
```
Run the test suite using Node.js built-in test runner:
```bash
npm test
```