Skip to main content

Module model

Module model 

Source
Expand description

The parsed, still-textual semantic model of a tzdata source: the records the parser produces and the compiler consumes.

These types mirror the three tzdata line kinds (Rule, Zone, Link) plus the continuation structure of zones. They are intentionally close to the source — value interpretation (calendar math, transition generation) happens later, in compile.

Re-exports§

pub use leap::LeapSecond;
pub use leap::LeapTable;
pub use time::Offset;
pub use time::Save;
pub use time::TimeOfDay;
pub use time::TimeRef;

Modules§

calendar
Proleptic Gregorian calendar arithmetic, implemented in-house.
leap
The leap-second table model (T11) — a distinct time model, not a transition stream.
time
Parsing of tzdata time-ish fields: UT offsets (STDOFF), saved amounts (SAVE and inline rules), and times-of-day (AT, and the time part of UNTIL).

Structs§

Database
The whole parsed source: zones, links, and rules keyed by name.
LinkRecord
A Link line: LINK-NAME is an alias for TARGET.
Origin
Where a record came from, for diagnostics.
RuleRecord
A Rule line. Stored verbatim-ish in T1 (only validated, not yet expanded); the transition compiler in T2 consumes the typed fields.
Until
The UNTIL field: a partially-specified wall/standard/UT instant.
ZoneEra
One era of a zone (one Zone/continuation line up to its UNTIL).
ZoneRecord
A Zone plus its continuation lines.

Enums§

YearBound
Upper bound of a rule’s year range.
ZoneRules
The RULES column of a zone era.