use std::time::Duration;
pub use humantime_serde::option::serialize;
use humantime_serde::Serde;
use serde::{Deserialize, Deserializer};
use super::validate;
pub fn deserialize<'a, D>(d: D) -> Result<Option<Duration>, D::Error>
where
Serde<Duration>: Deserialize<'a>,
D: Deserializer<'a>,
{
let got: Option<Serde<Duration>> = Deserialize::deserialize(d)?;
Ok(got.map(|d| validate(Serde::into_inner(d))))
}