artifacts/models/
condition_operator.rs1use 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}