calendar_types/lib.rs
1//! Date, time, and string primitive types for calendar data.
2//!
3//! This crate provides the foundational types shared by both iCalendar (RFC 5545)
4//! and JSCalendar (RFC 8984) implementations. It includes:
5//!
6//! - **Date and time types** ([`time`]): [`Year`](time::Year), [`Month`](time::Month),
7//! [`Day`](time::Day), [`Hour`](time::Hour), [`Minute`](time::Minute),
8//! [`Second`](time::Second), [`Date`](time::Date), [`Time`](time::Time), and
9//! [`DateTime`](time::DateTime) with compile-time timezone markers.
10//! - **Duration types** ([`duration`]): [`Duration`](duration::Duration) and
11//! [`SignedDuration`](duration::SignedDuration) following RFC 8984 §1.4.6–7.
12//! - **String types** ([`string`]): validated [`Uid`](string::Uid) and [`Uri`](string::Uri)
13//! newtypes.
14//! - **Primitives** ([`primitive`]): [`Sign`](primitive::Sign) for positive/negative values.
15//! - **CSS colors** ([`css`]): [`Css3Color`](css::Css3Color) enum for the W3C CSS3 color names.
16//! - **Token sets** ([`set`]): [`Token`](set::Token) for extensible enum values, and
17//! IANA registry types ([`LinkRelation`](set::LinkRelation),
18//! [`LocationType`](set::LocationType)).
19
20pub mod css;
21pub mod duration;
22pub mod primitive;
23pub mod set;
24pub mod string;
25pub mod time;