wasm_zstd 0.2.0

esm modules for zstd compression and/or decompression, with sync and async (worker) versions
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use wasm_bindgen::prelude::*;
use zstd::stream::copy_decode;
use zstd::stream::copy_encode;

#[wasm_bindgen]
pub fn unzstd(data: &[u8]) -> Vec<u8> {
    let mut out = Vec::with_capacity(data.len() + 64);
    copy_decode(data, &mut out).unwrap();
    out
}

#[wasm_bindgen]
pub fn zstd(data: &[u8], quality: u8) -> Vec<u8> {
    let mut out = Vec::with_capacity(data.len() + 64);
    copy_encode(data, &mut out, quality as i32).unwrap();
    out
}