artifacts/models/
condition_operator.rs

1use crate::models;
2use serde::{Deserialize, Serialize};
3
4#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
5#[cfg_attr(feature = "specta", derive(specta::Type))]
6pub enum ConditionOperator {
7    #[serde(rename = "eq")]
8    Eq,
9    #[serde(rename = "ne")]
10    Ne,
11    #[serde(rename = "gt")]
12    Gt,
13    #[serde(rename = "lt")]
14    Lt,
15    #[serde(rename = "cost")]
16    Cost,
17    #[serde(rename = "has_item")]
18    HasItem,
19    #[serde(rename = "achievement_unlocked")]
20    AchievementUnlocked,
21}
22
23impl std::fmt::Display for ConditionOperator {
24    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
25        match self {
26            Self::Eq => write!(f, "eq"),
27            Self::Ne => write!(f, "ne"),
28            Self::Gt => write!(f, "gt"),
29            Self::Lt => write!(f, "lt"),
30            Self::Cost => write!(f, "cost"),
31            Self::HasItem => write!(f, "has_item"),
32            Self::AchievementUnlocked => write!(f, "achievement_unlocked"),
33        }
34    }
35}
36
37impl Default for ConditionOperator {
38    fn default() -> ConditionOperator {
39        Self::Eq
40    }
41}