rust-auth-utils 1.0.0

A rust port of @better-auth/utils.
Documentation
#[derive(Debug, Clone, PartialEq)]
pub enum TypedArray {
    Uint8Array,
    Int8Array,
    Uint16Array,
    Int16Array,
    Uint32Array,
    Int32Array,
    Float32Array,
    Float64Array,
    BigInt64Array,
    BigUint64Array,
}

#[derive(Debug, Clone, PartialEq)]
pub enum SHAFamily {
    SHA1,
    SHA256,
    SHA384,
    SHA512,
}

#[derive(Debug, Clone, PartialEq)]
pub enum EncodingFormat {
    Hex,
    Base64,
    Base64Url,
    Base64UrlNoPad,
    None,
}

#[derive(Debug, Clone, PartialEq)]
pub enum ECDSACurve {
    P256,
    P384,
    P521,
}

#[derive(Debug, Clone, PartialEq)]
pub enum ExportKeyFormat {
    JWK,
    SPKI,
    PKCS8,
    Raw,
}

impl ToString for SHAFamily {
    fn to_string(&self) -> String {
        match self {
            SHAFamily::SHA1 => "SHA-1".to_string(),
            SHAFamily::SHA256 => "SHA-256".to_string(),
            SHAFamily::SHA384 => "SHA-384".to_string(),
            SHAFamily::SHA512 => "SHA-512".to_string(),
        }
    }
}

impl ToString for EncodingFormat {
    fn to_string(&self) -> String {
        match self {
            EncodingFormat::Hex => "hex".to_string(),
            EncodingFormat::Base64 => "base64".to_string(),
            EncodingFormat::Base64Url => "base64url".to_string(),
            EncodingFormat::Base64UrlNoPad => "base64urlnopad".to_string(),
            EncodingFormat::None => "none".to_string(),
        }
    }
}

impl ToString for ECDSACurve {
    fn to_string(&self) -> String {
        match self {
            ECDSACurve::P256 => "P-256".to_string(),
            ECDSACurve::P384 => "P-384".to_string(),
            ECDSACurve::P521 => "P-521".to_string(),
        }
    }
}

impl ToString for ExportKeyFormat {
    fn to_string(&self) -> String {
        match self {
            ExportKeyFormat::JWK => "jwk".to_string(),
            ExportKeyFormat::SPKI => "spki".to_string(),
            ExportKeyFormat::PKCS8 => "pkcs8".to_string(),
            ExportKeyFormat::Raw => "raw".to_string(),
        }
    }
}