use crate::{Duration, Epoch, HifitimeError};
#[allow(clippy::unnecessary_fallible_conversions)]
pub(crate) fn duration_since_unix_epoch() -> Result<Duration, HifitimeError> {
web_time::SystemTime::now()
.duration_since(web_time::SystemTime::UNIX_EPOCH)
.map_err(|_| HifitimeError::SystemTimeError)
.and_then(|d| d.try_into().map_err(|_| HifitimeError::SystemTimeError))
}
#[cfg(feature = "std")]
impl Epoch {
pub fn now() -> Result<Self, HifitimeError> {
let duration = duration_since_unix_epoch()?;
Ok(Self::from_unix_duration(duration))
}
}