use std::fmt;
#[derive(Debug, Clone, PartialEq)]
pub enum SynapseError {
MissingField(&'static str),
InvalidValue {
field: &'static str,
reason: &'static str,
},
}
impl fmt::Display for SynapseError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
Self::MissingField(field) => write!(f, "missing required field: {field}"),
Self::InvalidValue { field, reason } => {
write!(f, "invalid value for {field}: {reason}")
}
}
}
}
impl std::error::Error for SynapseError {}
pub type Result<T> = std::result::Result<T, SynapseError>;