ebi_objects/conversions/
to_compressed_event_log.rs

1use anyhow::Error;
2
3use crate::{
4    CompressedEventLogXes, EventLog, EventLogCsv, EventLogTraceAttributes, EventLogXes, ebi_objects::{
5        compressed_event_log::CompressedEventLog,
6        compressed_event_log_trace_attributes::CompressedEventLogTraceAttributes,
7    }
8};
9
10macro_rules! via {
11    ($t:ident) => {
12        impl From<$t> for CompressedEventLog {
13            fn from(value: $t) -> Self {
14                let log: EventLog = value.into();
15                Self { log }
16            }
17        }
18    };
19}
20
21via!(CompressedEventLogXes);
22via!(CompressedEventLogTraceAttributes);
23via!(EventLog);
24via!(EventLogTraceAttributes);
25via!(EventLogXes);
26
27impl TryFrom<EventLogCsv> for CompressedEventLog {
28    type Error = Error;
29
30    fn try_from(value: EventLogCsv) -> Result<Self, Self::Error> {
31        let xes: EventLogXes = value.try_into()?;
32        Ok(xes.into())
33    }
34}