use std::borrow::Cow;
use ical::{
component::{IcalComponent, IcalComponentKind},
ical::Ical,
prop::IcalProp,
value::{IcalValue, datetime::IcalDateTime, text::IcalText},
version::IcalVersion,
};
fn main() {
let cal = Ical {
version: IcalVersion::V2_0,
props: vec![IcalProp {
name: "PRODID".into(),
params: vec![],
value: IcalValue::Text(IcalText(Cow::Borrowed("-//Example//EN"))),
}],
components: vec![IcalComponent {
name: IcalComponentKind::VEvent.into(),
props: vec![
IcalProp {
name: "UID".into(),
params: vec![],
value: IcalValue::Text(IcalText(Cow::Borrowed("42@example.com"))),
},
IcalProp {
name: "DTSTAMP".into(),
params: vec![],
value: IcalValue::DateTime(IcalDateTime(Cow::Borrowed("20260101T000000Z"))),
},
IcalProp {
name: "X-CUSTOM".into(),
params: vec![],
value: IcalValue::Text(IcalText(Cow::Borrowed("anything"))),
},
],
components: vec![],
}],
};
print!("{cal}");
}