From 660ac9b121b95ea6af6a930182f45ebfdf2132af Mon Sep 17 00:00:00 2001 From: Lennart <18233294+lennart-k@users.noreply.github.com> Date: Sun, 21 Sep 2025 20:31:45 +0200 Subject: [PATCH] ical: Refactor calendar object type --- crates/ical/src/icalendar/object.rs | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) 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> {