error-kit 0.1.0

A comprehensive error handling library for Rust applications
Documentation
use super::messages;

#[derive(Debug, thiserror::Error)]
pub enum CommonError {
    #[error("{}", messages::CACHE_LOCK_ERROR)]
    CacheLock,

    #[error("{prefix}: {detail}", prefix = messages::SERIALIZATION_ERROR_PREFIX, detail = .0)]
    Serialization(&'static str),

    #[error("{prefix}: {detail}", prefix = messages::DESERIALIZATION_ERROR_PREFIX, detail = .0)]
    Deserialization(&'static str),

    #[error("{prefix}: {detail}", prefix = messages::IO_ERROR_PREFIX, detail = .0)]
    Io(#[from] std::io::Error),

    #[error("{prefix}: {detail}", prefix = messages::UNSUPPORTED_FILE_TYPE_PREFIX, detail = .0)]
    UnsupportedFileType(&'static str),

    #[error("{}", messages::DATA_NOT_FOUND)]
    DataNotFound,

    #[error("{}", messages::UNABLE_TO_FRESH_DATA)]
    UnableToFreshData,

    #[error("{}", messages::STALE_INTERNAL_NONE)]
    StaleInternalNone,

    #[error("{}", messages::TIMEOUT_EXCEEDED)]
    Timeout,

    #[error("{}", messages::FAILED_TO_GET_FILENAME)]
    FilenameError,

    #[error("{}", messages::INVALID_FILENAME_ENCODING)]
    InvalidFilenameEncoding,

    #[error("{}", messages::MISSING_TIMESTAMP_SEPARATOR)]
    MissingTimestampSeparator,

    #[error("{}", messages::MISSING_FILE_EXTENSION)]
    MissingFileExtension,

    #[error("{}", messages::FAILED_TO_PARSE_TIMESTAMP)]
    TimestampParseError,
}