1#[derive(Debug, thiserror::Error)]
10pub enum XOneError {
11 #[error("hook error: {0}")]
13 Hook(String),
14
15 #[error("config error: {0}")]
17 Config(String),
18
19 #[error("log error: {0}")]
21 Log(String),
22
23 #[error("server error: {0}")]
25 Server(String),
26
27 #[error("io error: {0}")]
29 Io(#[from] std::io::Error),
30
31 #[error("multiple errors: {}", .0.iter().map(|e| e.to_string()).collect::<Vec<_>>().join("; "))]
33 Multi(Vec<XOneError>),
34
35 #[error("{0}")]
37 Other(String),
38}
39
40impl From<String> for XOneError {
41 fn from(s: String) -> Self {
42 XOneError::Other(s)
43 }
44}
45
46pub type Result<T> = std::result::Result<T, XOneError>;