use std::fmt::Debug;
use inflate::InflateStream;
use super::{Decompressor, DecompressionError};
pub struct DeflateDecompressor(InflateStream);
impl Debug for DeflateDecompressor {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("DeflateDecompressor")
.finish()
}
}
impl Default for DeflateDecompressor {
fn default() -> Self {
Self::new()
}
}
impl Decompressor for DeflateDecompressor {
fn update(&mut self, data: &[u8]) -> Result<(usize, &[u8]), DecompressionError> {
self.0.update(data)
.map_err(DecompressionError::Generic)
}
}
impl DeflateDecompressor {
pub fn new() -> Self {
Self(InflateStream::new())
}
}