1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
//! JMAP Calendars extension data types.
//!
//! Implements the data model from draft-ietf-jmap-calendars-26 and the
//! JSCalendar Event format of RFC 8984. Types only — no method handlers,
//! no async, no network I/O.
//!
//! ## Crate family position
//!
//! ```text
//! jmap-types (RFC 8620 wire primitives)
//! └── jmap-calendars-types ← this crate
//! ├── jmap-calendars-server (method handlers)
//! └── jmap-calendars-client (client extension trait)
//! ```
//!
//! ## Modules
//!
//! | Module | Contents |
//! |---|---|
//! | [`calendar`] | [`Calendar`], [`CalendarRights`], [`IncludeInAvailability`], [`CalendarFilterCondition`] |
//! | [`event`] | [`CalendarEvent`], [`CalendarEventFilterCondition`], [`CalendarEventComparator`] |
//! | [`jscalendar`] | Module alias re-exporting `jmap-jscalendar-types`: [`RecurrenceRule`], [`NDay`], [`Location`], [`VirtualLocation`], [`Link`], [`Participant`], [`Alert`], [`AlertTrigger`], [`OffsetTrigger`], [`AbsoluteTrigger`], [`Relation`], [`LocalDateTime`], [`Duration`], [`SignedDuration`] |
//! | [`notification`] | [`CalendarEventNotification`], [`Person`], [`NotificationType`], [`NotificationFilterCondition`] |
//! | [`participant_identity`] | [`ParticipantIdentity`] |
//! | [`capability`] | [`CalendarsCapability`], [`CalendarsAccountCapability`], URI constants |
//!
//! The JSCalendar sub-object types (RFC 8984) live in the dedicated
//! `jmap-jscalendar-types` crate so `jmap-tasks-types` can also consume
//! them without depending on this crate. They are re-exported here both
//! at the crate root (top-level names like `Location`, `Participant`,
//! `Alert`) and via the `jscalendar` module alias for backwards
//! compatibility with any consumer that imported via the nested path.
/// Re-export module for JSCalendar sub-object types under the legacy
/// nested path `jmap_calendars_types::jscalendar::*`.
///
/// Preserved for backwards compatibility with consumers that imported
/// JSCalendar types via this path before the types were moved into the
/// shared `jmap-jscalendar-types` crate. New code should prefer the
/// top-level re-exports (`jmap_calendars_types::Location`, etc.) or the
/// direct path `jmap_jscalendar_types::Location`.
///
/// **Bounded surface.** This module re-exports exactly the same set of
/// names as the top-level re-exports below — it does NOT alias the
/// entire `jmap_jscalendar_types` crate. If a future addition to
/// `jmap_jscalendar_types` (e.g. a task-specific sub-type) should also
/// appear here, add it explicitly to both this module and the top-level
/// re-export list, with an intentional choice. See bd:JMAP-1rwf.2 for
/// the rationale.
// ── Top-level re-exports ──────────────────────────────────────────────────────
pub use BusyPeriod;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ParticipantIdentity;
/// Generic filter algebra from `jmap-types::query` (RFC 8620 §5.5).
///
/// Re-exported here so callers of `jmap-calendars-types` do not need a
/// direct dependency on `jmap-types`. Mirrors the canonical
/// [`jmap_mail_types::query`] re-exports from the workspace canonical
/// extension-types template.
///
/// [`jmap_mail_types::query`]: https://docs.rs/jmap-mail-types/latest/jmap_mail_types/query/index.html
pub use ;
// ── Backend re-exports ────────────────────────────────────────────────────────
pub use ;