pub(crate) mod algorithms;
mod compress;
mod decompress;
mod methods;
pub use compress::compress;
pub use decompress::{decompress, decompress_secure};
pub use methods::{CompressionMethod, flags};
pub use crate::security::{DecompressionMonitor, SecurityLimits, SessionTracker};
pub use algorithms::rle;
pub(crate) mod error_helpers {
use crate::Error;
pub(crate) fn compression_error(algorithm: &str, err: impl std::fmt::Display) -> Error {
Error::compression(format!("{algorithm} compression failed: {err}"))
}
pub(crate) fn decompression_error(algorithm: &str, err: impl std::fmt::Display) -> Error {
Error::compression(format!("{algorithm} decompression failed: {err}"))
}
}