1#[derive(Debug, thiserror::Error)]
5pub enum XOneError {
6 #[error("hook error: {0}")]
8 Hook(String),
9
10 #[error("config error: {0}")]
12 Config(String),
13
14 #[error("log error: {0}")]
16 Log(String),
17
18 #[error("server error: {0}")]
20 Server(String),
21
22 #[error("io error: {0}")]
24 Io(#[from] std::io::Error),
25
26 #[error("multiple errors: {}", .0.iter().map(|e| e.to_string()).collect::<Vec<_>>().join("; "))]
28 Multi(Vec<XOneError>),
29
30 #[error("{0}")]
32 Other(String),
33}
34
35impl From<String> for XOneError {
36 fn from(s: String) -> Self {
37 XOneError::Other(s)
38 }
39}
40
41pub type Result<T> = std::result::Result<T, XOneError>;