deep-time 0.1.0-beta.4

High-precision, no-std, no-alloc date-time library, leap-seconds, time scales, relativistic time, and a powerful date & duration parser
Documentation
use crate::en_lang_data;
use crate::{Lang, LangData};
use alloc::boxed::Box;
use hashbrown::HashMap;
use once_cell::race::OnceBox;

#[allow(unused_imports)]
use crate::alloc_parse::multi_lang::*;

static LANG_MAP: OnceBox<HashMap<Lang, &'static LangData>> = OnceBox::new();
pub(crate) fn lang_map() -> &'static HashMap<Lang, &'static LangData> {
    LANG_MAP.get_or_init(|| {
        let mut m = HashMap::new();

        m.insert(Lang::En, en_lang_data());

        #[cfg(feature = "de")]
        {
            m.insert(Lang::De, de::de_lang_data());
        }

        #[cfg(feature = "es")]
        {
            m.insert(Lang::Es, es::es_lang_data());
        }

        #[cfg(feature = "fr")]
        {
            m.insert(Lang::Fr, fr::fr_lang_data());
        }

        Box::new(m)
    })
}