okane/import/
error.rs

1use csv::Error as CsvError;
2use regex::Error as RegexError;
3
4use super::template;
5
6#[derive(thiserror::Error, Debug)]
7pub enum ImportError {
8    #[error("failed to perform IO")]
9    IO(#[from] std::io::Error),
10    #[error("failed to parse CSV")]
11    CSV(#[from] CsvError),
12    #[error("failed to parse XML")]
13    XML(#[from] quick_xml::DeError),
14    #[error("failed to parse YAML")]
15    YAML(#[from] serde_yaml::Error),
16    #[error("failed to parse VISECA file: {0}")]
17    Viseca(String),
18    #[error("invalid flag {0}")]
19    InvalidFlag(&'static str),
20    #[error("invalid config {0}")]
21    InvalidConfig(&'static str),
22    #[error("invalid datetime")]
23    InvalidDatetime(#[from] chrono::ParseError),
24    #[error("invalid decimal")]
25    InvalidDecimal(#[from] rust_decimal::Error),
26    #[error("invalid regex")]
27    InvalidRegex(#[from] RegexError),
28    #[error("failed to parse template")]
29    TemplateParseFailed(#[from] template::ParseError),
30    #[error("failed to render template")]
31    TemplateRenderFailed(#[from] template::RenderError),
32    #[error("other error: {0}")]
33    Other(String),
34    #[error("unimplemented: {0}")]
35    Unimplemented(&'static str),
36    #[error("unknown format")]
37    UnknownFormat,
38}