use chrono::{DateTime, Duration, Utc};

pub fn set_panic_hook() {
    // When the `console_error_panic_hook` feature is enabled, we can call the
    // `set_panic_hook` function at least once during initialization, and then
    // we will get better error messages if our code ever panics.
    //
    // For more details see
    // https://github.com/rustwasm/console_error_panic_hook#readme
    #[cfg(feature = "console_error_panic_hook")]
    console_error_panic_hook::set_once();
}

pub const MILLIS_PER_DAY: u128 = 86_400_000;

pub fn parse_date(julian: u32, millis: u32) -> DateTime<Utc> {
    let mut date = DateTime::UNIX_EPOCH;
    date += Duration::days(julian as i64 - 1);
    date += Duration::milliseconds(millis as i64);
    date
}
