use serde::{Deserialize, Serialize};
#[derive(Copy, Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize, Deserialize)]
#[repr(u8)]
pub enum DurationUnit {
Days = 0,
Hours = 1,
Milliseconds = 2,
Minutes = 3,
Months = 4,
Seconds = 5,
Weeks = 6,
Years = 7,
}
impl std::convert::From<&DurationUnit> for String {
fn from(duration_unit: &DurationUnit) -> Self {
match duration_unit {
DurationUnit::Days => Self::from("days"),
DurationUnit::Hours => Self::from("hours"),
DurationUnit::Milliseconds => Self::from("milliseconds"),
DurationUnit::Minutes => Self::from("minutes"),
DurationUnit::Months => Self::from("months"),
DurationUnit::Seconds => Self::from("seconds"),
DurationUnit::Weeks => Self::from("weeks"),
DurationUnit::Years => Self::from("years"),
} } }
impl std::default::Default for DurationUnit {
fn default() -> Self {
Self::Seconds
} }
impl std::fmt::Display for DurationUnit {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
write!(f, "{}", String::from(self))
} }