rpgcpf 0.1.1

GCPF archive compression and decompression library
Documentation
//! Generic decompression interface, and implementations for GCPF [`CompressionMode`]s

pub mod error;

#[cfg(feature = "brotli")]
pub mod brotli;

#[cfg(feature = "deflate")]
pub mod deflate;

#[cfg(feature = "fastlz")]
pub mod fastlz;

#[cfg(feature = "gzip")]
pub mod gzip;

#[cfg(feature = "zstd")]
pub mod zstd;

use error::Error;

/// Generic interface for decompressing data
pub trait Decompressor {
    /// Decompress `data` and return the decoded bytes
    ///
    /// # Errors
    ///
    /// Will return `Err` if the underlying `Decompressor` implementation returns an error
    fn decompress(&self, data: &[u8]) -> Result<Vec<u8>, Error>;
}