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
41mod 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