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 ItemSlot {
    #[serde(rename = "weapon")]
    Weapon,
    #[serde(rename = "shield")]
    Shield,
    #[serde(rename = "helmet")]
    Helmet,
    #[serde(rename = "body_armor")]
    BodyArmor,
    #[serde(rename = "leg_armor")]
    LegArmor,
    #[serde(rename = "boots")]
    Boots,
    #[serde(rename = "ring1")]
    Ring1,
    #[serde(rename = "ring2")]
    Ring2,
    #[serde(rename = "amulet")]
    Amulet,
    #[serde(rename = "artifact1")]
    Artifact1,
    #[serde(rename = "artifact2")]
    Artifact2,
    #[serde(rename = "artifact3")]
    Artifact3,
    #[serde(rename = "utility1")]
    Utility1,
    #[serde(rename = "utility2")]
    Utility2,
    #[serde(rename = "bag")]
    Bag,
    #[serde(rename = "rune")]
    Rune,
}

impl std::fmt::Display for ItemSlot {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        match self {
            Self::Weapon => write!(f, "weapon"),
            Self::Shield => write!(f, "shield"),
            Self::Helmet => write!(f, "helmet"),
            Self::BodyArmor => write!(f, "body_armor"),
            Self::LegArmor => write!(f, "leg_armor"),
            Self::Boots => write!(f, "boots"),
            Self::Ring1 => write!(f, "ring1"),
            Self::Ring2 => write!(f, "ring2"),
            Self::Amulet => write!(f, "amulet"),
            Self::Artifact1 => write!(f, "artifact1"),
            Self::Artifact2 => write!(f, "artifact2"),
            Self::Artifact3 => write!(f, "artifact3"),
            Self::Utility1 => write!(f, "utility1"),
            Self::Utility2 => write!(f, "utility2"),
            Self::Bag => write!(f, "bag"),
            Self::Rune => write!(f, "rune"),
        }
    }
}

impl Default for ItemSlot {
    fn default() -> ItemSlot {
        Self::Weapon
    }
}