workflow_i18n/
error.rs

1use thiserror::Error;
2
3#[derive(Error, Debug)]
4pub enum Error {
5    #[error("i18n: {0}")]
6    Custom(String),
7
8    #[error("i18n: missing translation for language code '{0}'")]
9    MissingTranslation(String),
10
11    #[error("i18n: missing language info for language code '{0}'")]
12    MissingLanguage(String),
13
14    #[error("i18n: enabling invalid language code '{0}'")]
15    EnablingUnknownLanguageCode(String),
16
17    #[error("i18n: received invalid language code '{0}'")]
18    UnknownLanguageCode(String),
19
20    #[error("i18n: unable to get storage path")]
21    StoragePath,
22
23    #[error("i18n: serde json failure: {0}")]
24    JSON(#[from] serde_json::Error),
25
26    #[error("i18n: io failure: {0}")]
27    Io(#[from] std::io::Error),
28}
29
30impl Error {
31    pub fn custom<T: ToString>(s: T) -> Self {
32        Error::Custom(s.to_string())
33    }
34}