pedronauck_data_parser/
error.rs

1#![allow(dead_code)]
2
3/// Compression error types
4#[derive(Debug, thiserror::Error)]
5pub enum CompressionError {
6    #[cfg(feature = "zlib")]
7    #[error("Failed to compress or decompress data using zlib: {0}")]
8    Zlib(std::io::Error),
9    #[cfg(feature = "gzip")]
10    #[error("Failed to compress or decompress data using gzip: {0}")]
11    Gzip(std::io::Error),
12    #[cfg(feature = "brotli")]
13    #[error("Failed to compress or decompress data using brotli: {0}")]
14    Brotli(std::io::Error),
15    #[cfg(feature = "bzip2")]
16    #[error("Failed to compress or decompress data using bzip2: {0}")]
17    Bz(std::io::Error),
18    #[cfg(feature = "lzma")]
19    #[error("Failed to compress or decompress data using lzma: {0}")]
20    Lzma(std::io::Error),
21    #[cfg(feature = "deflate")]
22    #[error("Failed to compress or decompress data using deflate: {0}")]
23    Deflate(std::io::Error),
24    #[cfg(feature = "zstd")]
25    #[error("Failed to compress or decompress data using zstd: {0}")]
26    Zstd(std::io::Error),
27}
28
29/// Serialization/Deserialization error types.
30#[derive(Debug, thiserror::Error)]
31pub enum SerdeError {
32    #[cfg(feature = "bincode")]
33    #[error(transparent)]
34    Bincode(#[from] bincode::ErrorKind),
35    #[cfg(feature = "postcard")]
36    #[error(transparent)]
37    Postcard(#[from] postcard::Error),
38    #[cfg(feature = "json")]
39    #[error(transparent)]
40    Json(#[from] serde_json::Error),
41}
42
43/// Data parser error types.
44#[derive(Debug, thiserror::Error)]
45pub enum DataParserError {
46    #[error(transparent)]
47    Compression(#[from] CompressionError),
48    #[error(transparent)]
49    Serde(#[from] SerdeError),
50    #[error("An error occurred during data encoding: {0}")]
51    Encode(#[source] SerdeError),
52    #[error("An error occurred during data decoding: {0}")]
53    Decode(#[source] SerdeError),
54    #[cfg(feature = "json")]
55    #[error("An error occurred during data encoding to JSON: {0}")]
56    EncodeJson(#[source] SerdeError),
57    #[cfg(feature = "json")]
58    #[error("An error occurred during data decoding from JSON: {0}")]
59    DecodeJson(#[source] SerdeError),
60}