artifacts-rs 1.5.1

Rust client for Artifacts
Documentation
use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
#[cfg_attr(feature = "specta", derive(specta::Type))]
pub enum ItemType {
    #[serde(rename = "utility")]
    Utility,
    #[serde(rename = "body_armor")]
    BodyArmor,
    #[serde(rename = "weapon")]
    Weapon,
    #[serde(rename = "resource")]
    Resource,
    #[serde(rename = "leg_armor")]
    LegArmor,
    #[serde(rename = "helmet")]
    Helmet,
    #[serde(rename = "boots")]
    Boots,
    #[serde(rename = "shield")]
    Shield,
    #[serde(rename = "amulet")]
    Amulet,
    #[serde(rename = "ring")]
    Ring,
    #[serde(rename = "artifact")]
    Artifact,
    #[serde(rename = "currency")]
    Currency,
    #[serde(rename = "consumable")]
    Consumable,
    #[serde(rename = "rune")]
    Rune,
    #[serde(rename = "bag")]
    Bag,
}

impl std::fmt::Display for ItemType {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        match self {
            Self::Utility => write!(f, "utility"),
            Self::BodyArmor => write!(f, "body_armor"),
            Self::Weapon => write!(f, "weapon"),
            Self::Resource => write!(f, "resource"),
            Self::LegArmor => write!(f, "leg_armor"),
            Self::Helmet => write!(f, "helmet"),
            Self::Boots => write!(f, "boots"),
            Self::Shield => write!(f, "shield"),
            Self::Amulet => write!(f, "amulet"),
            Self::Ring => write!(f, "ring"),
            Self::Artifact => write!(f, "artifact"),
            Self::Currency => write!(f, "currency"),
            Self::Consumable => write!(f, "consumable"),
            Self::Rune => write!(f, "rune"),
            Self::Bag => write!(f, "bag"),
        }
    }
}

impl Default for ItemType {
    fn default() -> ItemType {
        Self::Utility
    }
}