rpgcpf 0.1.0

GCPF archive compression and decompression library
Documentation
//! Brotli [`Decompressor`] impl

use brotli::BrotliDecompress;

use super::{Decompressor, error::Error};

/// Brotli [`Decompressor`] impl
#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
pub struct BrotliDecompressor {}

impl Decompressor for BrotliDecompressor {
    fn decompress(&self, data: &[u8]) -> Result<Vec<u8>, Error> {
        let mut data = data;
        let mut buf = Vec::new();

        BrotliDecompress(&mut data, &mut buf)?;

        Ok(buf)
    }
}