fuel_data_parser/
error.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#![allow(dead_code)]

/// Compression error types
#[derive(Debug, thiserror::Error)]
pub enum CompressionError {
    #[cfg(feature = "zlib")]
    #[error("Failed to compress or decompress data using zlib: {0}")]
    Zlib(std::io::Error),
    #[cfg(feature = "gzip")]
    #[error("Failed to compress or decompress data using gzip: {0}")]
    Gzip(std::io::Error),
    #[cfg(feature = "brotli")]
    #[error("Failed to compress or decompress data using brotli: {0}")]
    Brotli(std::io::Error),
    #[cfg(feature = "bzip2")]
    #[error("Failed to compress or decompress data using bzip2: {0}")]
    Bz(std::io::Error),
    #[cfg(feature = "lzma")]
    #[error("Failed to compress or decompress data using lzma: {0}")]
    Lzma(std::io::Error),
    #[cfg(feature = "deflate")]
    #[error("Failed to compress or decompress data using deflate: {0}")]
    Deflate(std::io::Error),
    #[cfg(feature = "zstd")]
    #[error("Failed to compress or decompress data using zstd: {0}")]
    Zstd(std::io::Error),
}

/// Serialization/Deserialization error types.
#[derive(Debug, thiserror::Error)]
pub enum SerdeError {
    #[cfg(feature = "bincode")]
    #[error(transparent)]
    Bincode(#[from] bincode::ErrorKind),
    #[cfg(feature = "postcard")]
    #[error(transparent)]
    Postcard(#[from] postcard::Error),
    #[cfg(feature = "json")]
    #[error(transparent)]
    Json(#[from] serde_json::Error),
}

/// Data parser error types.
#[derive(Debug, thiserror::Error)]
pub enum DataParserError {
    #[error(transparent)]
    Compression(#[from] CompressionError),
    #[error(transparent)]
    Serde(#[from] SerdeError),
    #[error("An error occurred during data encoding: {0}")]
    Encode(#[source] SerdeError),
    #[error("An error occurred during data decoding: {0}")]
    Decode(#[source] SerdeError),
    #[cfg(feature = "json")]
    #[error("An error occurred during data encoding to JSON: {0}")]
    EncodeJson(#[source] SerdeError),
    #[cfg(feature = "json")]
    #[error("An error occurred during data decoding from JSON: {0}")]
    DecodeJson(#[source] SerdeError),
}