use std::fmt;
#[derive(Debug)]
pub enum Argon2Error {
InvalidParameter(&'static str),
InvalidHash(&'static str),
CLibError(String),
}
impl std::error::Error for Argon2Error {}
impl fmt::Display for Argon2Error {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
Argon2Error::InvalidParameter(msg) => {
write!(f, "Argon2Error: Invalid parameter: {}", msg)
}
Argon2Error::InvalidHash(msg) => write!(f, "Argon2Error: Invalid hash: {}", msg),
Argon2Error::CLibError(msg) => {
write!(f, "Argon2Error: Error from C library: {}", msg)
}
}
}
}