Skip to main content

steamid/
error.rs

1//! Error types for SteamID parsing and rendering.
2
3use std::fmt;
4
5/// Errors that can occur when working with SteamIDs.
6#[derive(Debug, Clone, PartialEq, Eq)]
7pub enum SteamIdError {
8    /// The input string format was not recognized as a valid SteamID format.
9    InvalidFormat(String),
10    /// Cannot render Steam2 ID for non-individual account types.
11    NotIndividual,
12}
13
14impl fmt::Display for SteamIdError {
15    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
16        match self {
17            SteamIdError::InvalidFormat(input) => {
18                write!(f, "Unknown SteamID input format \"{}\"", input)
19            }
20            SteamIdError::NotIndividual => {
21                write!(f, "Can't get Steam2 rendered ID for non-individual ID")
22            }
23        }
24    }
25}
26
27impl std::error::Error for SteamIdError {}