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
//! Italian (upstream `src/locales/it/`), 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/it_support.rs"));

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

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

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

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

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

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