use std::time::{Duration, SystemTime};
fn duration_since_epoch(time: SystemTime) -> Result<Duration, Duration> {
time.duration_since(SystemTime::UNIX_EPOCH).map_err(|e| e.duration())
}
pub(crate) fn unix_time(time: SystemTime) -> i64 {
match duration_since_epoch(time) {
Ok(duration) => 0i64.saturating_add_unsigned(duration.as_secs()),
Err(duration) => 0i64.saturating_sub_unsigned(duration.as_secs()),
}
}
pub(crate) fn total_nanoseconds(time: SystemTime) -> i128 {
match duration_since_epoch(time) {
Ok(duration) => 0i128.saturating_add_unsigned(duration.as_nanos()),
Err(duration) => 0i128.saturating_sub_unsigned(duration.as_nanos()),
}
}