use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(untagged)]
pub enum FieldDateMath {
DateMathValue(String),
ValueValue(u64),
}
impl Default for FieldDateMath {
fn default() -> Self {
FieldDateMath::ValueValue(0)
}
}
impl std::fmt::Display for FieldDateMath {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
FieldDateMath::DateMathValue(val) => write!(f, "{}", val),
FieldDateMath::ValueValue(val) => write!(f, "{}", val),
}
}
}
impl FieldDateMath {
pub fn as_str(&self) -> String {
match self {
FieldDateMath::DateMathValue(s) => s.clone(),
FieldDateMath::ValueValue(n) => n.to_string(),
}
}
pub fn as_num(&self) -> Option<u64> {
match self {
FieldDateMath::ValueValue(n) => Some(*n),
_ => None,
}
}
}