ruotp 0.0.1

RFC-complaint one-time password algorithms written in Rust
Documentation
use thiserror::Error;

use crate::algorithm::Algorithm;

#[derive(Debug, Error)]
pub enum OTPError {
    #[error("Base32DecodeError")]
    Base32DecodeError,
    #[error("HmacError: `{0}` key length error")]
    HmacKeyLengthError(Algorithm),
    #[error("ToKeyUriError: `{0}`")]
    ToKeyUriError(String),
    #[error("Error: `{0}`")]
    Error(String),
}

impl OTPError {
    pub fn new<S: ToString>(err: S) -> Self {
        OTPError::Error(err.to_string())
    }
}