use fastlz_rs::decompress_to_vec;
use super::{Decompressor, error::Error};
#[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
pub struct FastLZDecompressor {
pub capacity_hint: Option<usize>,
}
impl FastLZDecompressor {
#[cfg_attr(test, coverage(off))]
#[must_use]
pub fn new(capacity_hint: Option<usize>) -> Self {
Self { capacity_hint }
}
}
impl Decompressor for FastLZDecompressor {
fn decompress(&self, data: &[u8]) -> Result<Vec<u8>, Error> {
Ok(decompress_to_vec(data, self.capacity_hint)?)
}
}