use core::fmt;
#[cfg(doc)]
use crate::Params;
pub type Result<T> = core::result::Result<T, Error>;
#[derive(Clone, Copy, Debug)]
pub enum Error {
ParamsInvalid,
RoundsInvalid,
}
impl core::error::Error for Error {}
impl fmt::Display for Error {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
Error::ParamsInvalid => write!(f, "parameters are invalid"),
Error::RoundsInvalid => write!(f, "rounds error"),
}
}
}
#[cfg(feature = "password-hash")]
impl From<Error> for password_hash::Error {
fn from(err: Error) -> Self {
match err {
Error::RoundsInvalid => password_hash::Error::ParamInvalid { name: "rounds" },
Error::ParamsInvalid => password_hash::Error::ParamsInvalid,
}
}
}