Skip to main content

tzif_codec/
lib.rs

1//! Encoder and parser for the Time Zone Information Format (`TZif`).
2//!
3//! This crate focuses on the RFC 9636 binary interchange format. It keeps the
4//! data model close to the on-the-wire layout so callers can build, inspect,
5//! parse, and encode `TZif` files without pulling in a timezone engine.
6//!
7//! ```compile_fail
8//! let _ = tzif_codec::APPLICATION_TZIF;
9//! ```
10
11mod builder;
12mod common;
13mod error;
14mod footer;
15mod interop;
16mod leap;
17mod model;
18mod parse;
19mod tzdist;
20mod validate;
21mod write;
22
23pub use builder::{
24    ExplicitTransitionsBuilder, FixedOffsetBuilder, PosixFooter, PosixTransitionRule,
25    PosixTransitionTime, TzifBuilder, VersionPolicy,
26};
27pub use error::{TzdistError, TzifBuildError, TzifError};
28pub use interop::InteroperabilityWarning;
29pub use model::{DataBlock, LeapSecond, LocalTimeType, TzifFile, Version};
30pub use tzdist::{validate_tzdist_capability_formats, TzdistTruncation, TzifMediaType};