use std::sync::LazyLock;
use crate::core::chrono::Chrono;
use crate::locales::NamedConfiguration;
pub mod configuration;
include!(concat!(env!("OUT_DIR"), "/registry/id_support.rs"));
pub mod parsers {
include!(concat!(env!("OUT_DIR"), "/registry/id_parsers.rs"));
}
pub mod refiners {
include!(concat!(env!("OUT_DIR"), "/registry/id_refiners.rs"));
}
static CASUAL: LazyLock<Chrono> = LazyLock::new(|| configuration::casual().build());
static STRICT: LazyLock<Chrono> = LazyLock::new(|| configuration::strict().build());
pub fn casual() -> &'static Chrono {
&CASUAL
}
pub fn strict() -> &'static Chrono {
&STRICT
}
pub const NAMED: &[NamedConfiguration] = &[
NamedConfiguration {
name: "id.casual",
chrono: casual,
configuration: configuration::casual,
},
NamedConfiguration {
name: "id.strict",
chrono: strict,
configuration: configuration::strict,
},
];