steamid-rs 2.1.2

A SteamID library for parsing, validating, and converting Steam IDs between Steam2, Steam3, and SteamID64 formats.
Documentation
//! Error types for SteamID parsing and rendering.

use std::fmt;

/// Errors that can occur when working with SteamIDs.
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum SteamIdError {
    /// The input string format was not recognized as a valid SteamID format.
    InvalidFormat(String),
    /// Cannot render Steam2 ID for non-individual account types.
    NotIndividual,
}

impl fmt::Display for SteamIdError {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        match self {
            SteamIdError::InvalidFormat(input) => {
                write!(f, "Unknown SteamID input format \"{}\"", input)
            }
            SteamIdError::NotIndividual => {
                write!(f, "Can't get Steam2 rendered ID for non-individual ID")
            }
        }
    }
}

impl std::error::Error for SteamIdError {}