use std::fmt;
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct CliError {
pub code: i32,
pub message: String,
}
impl CliError {
pub fn new(code: i32, message: impl Into<String>) -> Self {
Self {
code,
message: message.into(),
}
}
pub fn input(message: impl Into<String>) -> Self {
Self::new(4, message)
}
pub fn integrity(message: impl Into<String>) -> Self {
Self::new(1, message)
}
pub fn network(message: impl Into<String>) -> Self {
Self::new(2, message)
}
}
impl fmt::Display for CliError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(f, "{}", self.message)
}
}
impl std::error::Error for CliError {}