icalendar/
lib.rs

1#![doc = include_str!("../README.md")]
2#![allow(deprecated)]
3#![warn(
4    missing_docs,
5    missing_copy_implementations,
6    trivial_casts,
7    trivial_numeric_casts,
8    unsafe_code,
9    unstable_features,
10    unused_import_braces,
11    unused_qualifications,
12    missing_debug_implementations,
13    clippy::indexing_slicing,
14    clippy::dbg_macro,
15    clippy::doc_markdown,
16    clippy::redundant_closure_for_method_calls
17)]
18
19macro_rules! print_crlf {
20    () => (print!("\r\n"));
21    ($fmt:expr) => (print!(concat!($fmt, "\r\n")));
22    ($fmt:expr, $($arg:tt)*) => (print!(concat!($fmt, "\r\n"), $($arg)*));
23}
24
25macro_rules! write_crlf {
26    ($dst:expr) => (
27        write!($dst, "\r\n")
28    );
29    ($dst:expr, $fmt:expr) => (
30        write!($dst, concat!($fmt, "\r\n"))
31    );
32    ($dst:expr, $fmt:expr, $($arg:tt)*) => (
33        write!($dst, concat!($fmt, "\r\n"), $($arg)*)
34    );
35}
36
37#[cfg(all(test, feature = "parser"))]
38#[macro_use]
39mod assert;
40
41//pub mod period;
42mod calendar;
43mod components;
44#[cfg(feature = "parser")]
45pub mod parser;
46mod properties;
47mod value_types;
48
49pub use crate::{
50    calendar::{Calendar, CalendarComponent},
51    components::{
52        alarm::{Alarm, Related, Trigger},
53        date_time::{CalendarDateTime, DatePerhapsTime},
54        Component, Event, EventLike, Todo, Venue,
55    },
56    properties::{Class, EventStatus, Parameter, Property, TodoStatus},
57    value_types::ValueType,
58};
59
60#[cfg(feature = "chrono-tz")]
61pub use crate::components::date_time::ymd_hm_tzid;
62
63// TODO Calendar TimeZone VTIMEZONE STANDARD DAYLIGHT (see thunderbird exports)