ps_deflate/
error.rs

1use ps_buffer::BufferError;
2use thiserror::Error;
3
4#[derive(Error, Debug, Clone, PartialEq, Eq)]
5pub enum PsDeflateError {
6    #[error(transparent)]
7    BufferError(#[from] BufferError),
8    #[error("Decompression error: invalid data")]
9    BadData,
10    #[error("Insufficient buffer size, output too large")]
11    InsufficientSpace,
12}
13
14impl From<libdeflater::CompressionError> for PsDeflateError {
15    fn from(error: libdeflater::CompressionError) -> Self {
16        match error {
17            libdeflater::CompressionError::InsufficientSpace => Self::InsufficientSpace,
18        }
19    }
20}
21
22impl From<libdeflater::DecompressionError> for PsDeflateError {
23    fn from(error: libdeflater::DecompressionError) -> Self {
24        match error {
25            libdeflater::DecompressionError::BadData => Self::BadData,
26            libdeflater::DecompressionError::InsufficientSpace => Self::InsufficientSpace,
27        }
28    }
29}