1pub mod err;
2pub mod stream;
3mod utils;
4
5use brotli_decompressor::BrotliDecompress;
6use wasm_bindgen::prelude::*;
7
8#[wasm_bindgen]
11pub fn brotli_dec(input: Box<[u8]>) -> Result<Box<[u8]>, JsError> {
12 utils::set_panic_hook();
13 let mut output = Vec::new();
14 match BrotliDecompress(&mut input.as_ref(), &mut output) {
15 Ok(_) => Ok(output.into_boxed_slice()),
16 Err(_) => Err(JsError::new("Brotli decompress failed")),
17 }
18}
19
20#[wasm_bindgen(js_name = decompress)]
24pub fn brotli_dec_alt(buf: Box<[u8]>) -> Result<Box<[u8]>, JsError> {
25 brotli_dec(buf)
26}