mod durationunit;
mod timetunit;
pub mod error;
use std::time::Duration;
pub use durationunit::*;
use serde::{Deserialize, Deserializer};
pub use timetunit::*;
#[cfg(feature = "chrono")]
pub use chrono;
pub fn deserialize<'de, D>(deserializer: D) -> Result<Duration, D::Error>
where
D: Deserializer<'de>,
{
let duration_unit = DurationUnit::deserialize(deserializer)?;
Ok(duration_unit.into())
}
#[cfg(feature = "chrono")]
pub mod chrono {
use chrono::Duration;
use serde::{Deserializer, Deserialize};
use crate::DateTimeUnit;
pub fn deserialize<'de, D>(deserializer: D) -> Result<Duration, D::Error>
where
D: Deserializer<'de>,
{
let datetime_unit = DateTimeUnit::deserialize(deserializer)?;
Ok(datetime_unit.into())
}
}