diff --git a/crates/ical/src/icalendar/object.rs b/crates/ical/src/icalendar/object.rs index 7f7f2f9..20be88e 100644 --- a/crates/ical/src/icalendar/object.rs +++ b/crates/ical/src/icalendar/object.rs @@ -63,6 +63,16 @@ pub enum CalendarObjectComponent { Journal(IcalJournal, Vec), } +impl From<&CalendarObjectComponent> for CalendarObjectType { + fn from(value: &CalendarObjectComponent) -> Self { + match value { + CalendarObjectComponent::Event(..) => CalendarObjectType::Event, + CalendarObjectComponent::Todo(..) => CalendarObjectType::Todo, + CalendarObjectComponent::Journal(..) => CalendarObjectType::Journal, + } + } +} + impl CalendarObjectComponent { fn from_events(mut events: Vec) -> Result { let main_event = events @@ -232,11 +242,7 @@ impl CalendarObject { } pub fn get_object_type(&self) -> CalendarObjectType { - match self.data { - CalendarObjectComponent::Todo(_, _) => CalendarObjectType::Todo, - CalendarObjectComponent::Event(_, _) => CalendarObjectType::Event, - CalendarObjectComponent::Journal(_, _) => CalendarObjectType::Journal, - } + (&self.data).into() } pub fn get_first_occurence(&self) -> Result, Error> {