Skip to main content

Crate chrono_node

Crate chrono_node 

Source
Expand description

A Rust port of chrono-node: natural-language date parsing.

use chrono_node::{parse, JsDate, ReferenceInput};

let reference = ReferenceInput::Date(JsDate::parse_iso("2012-08-10T09:00:00.000Z").unwrap());
let results = parse("Let's meet", &reference);
assert!(results.is_empty() || results[0].index > 0);

The port follows upstream closely, file by file. The system time zone is always UTC: a reference without a time zone is read as UTC (see PORTING.md).

Re-exports§

pub use crate::core::chrono::Chrono;
pub use crate::core::chrono::Extracted;
pub use crate::core::chrono::Parser;
pub use crate::core::chrono::Refiner;
pub use crate::core::components::Component;
pub use crate::core::components::ParsingComponents;
pub use crate::core::context::ParsingContext;
pub use crate::core::context::ParsingOption;
pub use crate::core::js_date::JsDate;
pub use crate::core::reference::ParsingReference;
pub use crate::core::reference::ReferenceInput;
pub use crate::core::reference::ReferenceWithTimezone;
pub use crate::core::result::ParsingResult;
pub use crate::core::timezone::TimezoneInput;

Modules§

calculation
Date calculations (upstream src/calculation/).
common
Steps shared by all locales (upstream src/common/).
core
The engine: types, JS Date and regex emulation, configuration and the parse loop.
locales
Locales. One module per language; each has configuration.rs, parsers/ and refiners/.

Macros§

js_regex
A lazily compiled &'static JsRegex: js_regex!(r"(\d+)\s*days?", "i").

Functions§

casual
chrono.casual (English).
configuration
A named configuration: en.casual, en.strict, en.GB.casual, en.GB.strict, de.casual, … (see configuration_names).
configuration_names
Every named configuration configuration knows: the hand-scaffolded ones, then the generated locales’ (harness/onboard/onboard.js).
parse
chrono.parse(text, ref) with the casual English configuration.
parse_date
chrono.parseDate(text, ref) with the casual English configuration.
strict
chrono.strict (English).