use crate::convert::*;
use crate::UtcDateTime;
impl From<js_sys::Date> for UtcDateTime {
#[track_caller]
fn from(js_date: js_sys::Date) -> Self {
let timestamp_nanos = (js_date.get_time() * Nanosecond::per_t::<f64>(Millisecond)) as i128;
Self::from_unix_timestamp_nanos(timestamp_nanos)
.expect("invalid timestamp: Timestamp cannot fit in range")
}
}
impl From<UtcDateTime> for js_sys::Date {
fn from(datetime: UtcDateTime) -> Self {
let timestamp =
(datetime.unix_timestamp_nanos() / Nanosecond::per_t::<i128>(Millisecond)) as f64;
Self::new(×tamp.into())
}
}