1use super::messages;
2
3#[derive(Debug, thiserror::Error)]
4pub enum CommonError {
5 #[error("{}", messages::CACHE_LOCK_ERROR)]
6 CacheLock,
7
8 #[error("{prefix}: {detail}", prefix = messages::SERIALIZATION_ERROR_PREFIX, detail = .0)]
9 Serialization(&'static str),
10
11 #[error("{prefix}: {detail}", prefix = messages::DESERIALIZATION_ERROR_PREFIX, detail = .0)]
12 Deserialization(&'static str),
13
14 #[error("{prefix}: {detail}", prefix = messages::IO_ERROR_PREFIX, detail = .0)]
15 Io(#[from] std::io::Error),
16
17 #[error("{prefix}: {detail}", prefix = messages::UNSUPPORTED_FILE_TYPE_PREFIX, detail = .0)]
18 UnsupportedFileType(&'static str),
19
20 #[error("{}", messages::DATA_NOT_FOUND)]
21 DataNotFound,
22
23 #[error("{}", messages::UNABLE_TO_FRESH_DATA)]
24 UnableToFreshData,
25
26 #[error("{}", messages::STALE_INTERNAL_NONE)]
27 StaleInternalNone,
28
29 #[error("{}", messages::TIMEOUT_EXCEEDED)]
30 Timeout,
31
32 #[error("{}", messages::FAILED_TO_GET_FILENAME)]
33 FilenameError,
34
35 #[error("{}", messages::INVALID_FILENAME_ENCODING)]
36 InvalidFilenameEncoding,
37
38 #[error("{}", messages::MISSING_TIMESTAMP_SEPARATOR)]
39 MissingTimestampSeparator,
40
41 #[error("{}", messages::MISSING_FILE_EXTENSION)]
42 MissingFileExtension,
43
44 #[error("{}", messages::FAILED_TO_PARSE_TIMESTAMP)]
45 TimestampParseError,
46}