ebi_objects/conversions/
to_compressed_event_log.rs1use 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}