leetup/
error.rs

1use std::io;
2
3use thiserror::Error;
4
5/// Represent all LeetUp error
6#[derive(Error, Debug)]
7#[error("{0}")]
8pub enum LeetUpError {
9    /// Any Error
10    Any(#[from] anyhow::Error),
11
12    /// IO Error
13    Io(#[from] io::Error),
14
15    /// Serde Error
16    Serde(#[from] serde_json::Error),
17
18    /// Regex Error
19    Regex(#[from] regex::Error),
20
21    /// Reqwest Error
22    Reqwest(#[from] reqwest::Error),
23
24    /// Invalid header value error
25    InvalidHeaderValue(#[from] reqwest::header::InvalidHeaderValue),
26
27    /// Option None Error
28    #[error("Tried to unwrap None")]
29    OptNone,
30
31    /// Unexpected Command Error
32    #[error("Unexpected command")]
33    UnexpectedCommand,
34}
35
36/// Handle Result<T, LeetUpError>
37pub type Result<T> = anyhow::Result<T, LeetUpError>;