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}