chrono-node-rs 0.1.0

Behaviour-matched Rust port of chrono-node: natural-language date parsing, checked against chrono-node's own output
Documentation
//! Chinese (Simplified) (upstream `src/locales/zh/hans/`), generated by `harness/onboard/onboard.js`. Do not edit.
//!
//! `parsers/` and `refiners/` are auto-registered, and every other `.rs` file in this directory
//! (`constants.rs`, a shared base) is declared by `build.rs`: a task adds one file and edits no shared line.

use std::sync::LazyLock;

use crate::core::chrono::Chrono;
use crate::locales::NamedConfiguration;

pub mod configuration;

include!(concat!(env!("OUT_DIR"), "/registry/zh_hans_support.rs"));

pub mod parsers {
    //! Auto-registered Chinese (Simplified) parsers.
    include!(concat!(env!("OUT_DIR"), "/registry/zh_hans_parsers.rs"));
}

pub mod refiners {
    //! Auto-registered Chinese (Simplified) refiners.
    include!(concat!(env!("OUT_DIR"), "/registry/zh_hans_refiners.rs"));
}

static CASUAL: LazyLock<Chrono> = LazyLock::new(|| configuration::casual().build());
static STRICT: LazyLock<Chrono> = LazyLock::new(|| configuration::strict().build());

/// `chrono.zh.hans.casual` (`zh.hans.casual`).
pub fn casual() -> &'static Chrono {
    &CASUAL
}

/// `chrono.zh.hans.strict` (`zh.hans.strict`).
pub fn strict() -> &'static Chrono {
    &STRICT
}

/// This locale's named configurations (`crate::configuration`).
pub const NAMED: &[NamedConfiguration] = &[
    NamedConfiguration {
        name: "zh.hans.casual",
        chrono: casual,
        configuration: configuration::casual,
    },
    NamedConfiguration {
        name: "zh.hans.strict",
        chrono: strict,
        configuration: configuration::strict,
    },
];