Skip to main content

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))]
6#[derive(Default)]
7pub enum ConditionOperator {
8    #[serde(rename = "eq")]
9    #[default]
10    Eq,
11    #[serde(rename = "ne")]
12    Ne,
13    #[serde(rename = "gt")]
14    Gt,
15    #[serde(rename = "lt")]
16    Lt,
17    #[serde(rename = "cost")]
18    Cost,
19    #[serde(rename = "has_item")]
20    HasItem,
21    #[serde(rename = "achievement_unlocked")]
22    AchievementUnlocked,
23}
24
25impl std::fmt::Display for ConditionOperator {
26    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
27        match self {
28            Self::Eq => write!(f, "eq"),
29            Self::Ne => write!(f, "ne"),
30            Self::Gt => write!(f, "gt"),
31            Self::Lt => write!(f, "lt"),
32            Self::Cost => write!(f, "cost"),
33            Self::HasItem => write!(f, "has_item"),
34            Self::AchievementUnlocked => write!(f, "achievement_unlocked"),
35        }
36    }
37}