ebi_objects 0.3.182

Objects for Ebi - a stochastic process mining utility
Documentation
use crate::{
    CompressedEventLogXes, EventLog, EventLogCsv, EventLogTraceAttributes, EventLogXes,
    ebi_objects::{
        compressed_event_log::CompressedEventLog,
        compressed_event_log_event_attributes::CompressedEventLogEventAttributes,
        compressed_event_log_trace_attributes::CompressedEventLogTraceAttributes,
        event_log_event_attributes::EventLogEventAttributes,
    },
};
use ebi_arithmetic::anyhow::Error;

macro_rules! via {
    ($t:ident) => {
        impl From<$t> for CompressedEventLog {
            fn from(value: $t) -> Self {
                let log: EventLog = value.into();
                Self { log }
            }
        }
    };
}

via!(CompressedEventLogXes);
via!(CompressedEventLogTraceAttributes);
via!(EventLog);
via!(EventLogTraceAttributes);
via!(EventLogXes);
via!(EventLogEventAttributes);
via!(CompressedEventLogEventAttributes);

impl TryFrom<EventLogCsv> for CompressedEventLog {
    type Error = Error;

    fn try_from(value: EventLogCsv) -> Result<Self, Self::Error> {
        let xes: EventLogXes = value.try_into()?;
        Ok(xes.into())
    }
}