use thiserror::Error;
use std::io;
#[derive(Debug, Error)]
pub enum ConsulXError {
#[error("Unknown command: {0}")]
UnknownCommand(String),
#[error("Missing argument: {0}")]
MissingArgument(&'static str),
#[error(transparent)]
Other(#[from] anyhow::Error),
}
pub type Result<T> = std::result::Result<T, ConsulXError>;
impl From<serde_json::Error> for ConsulXError {
fn from(e: serde_json::Error) -> Self {
ConsulXError::Other(anyhow::Error::new(e))
}
}
impl From<io::Error> for ConsulXError {
fn from(e: io::Error) -> Self {
ConsulXError::Other(anyhow::Error::new(e))
}
}