1
2
3
4
5
6
7
8
9
10
11
12
13
use crate::time::Timestamp;
use crate::types::{Argument, FormatString, FormattedString, UserEventChannel};
use derive_more::Display;

#[derive(Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Debug, Display)]
#[display(fmt = "[{timestamp}]:[{channel}]='{formatted_string}'")]
pub struct UserEvent {
    pub timestamp: Timestamp,
    pub channel: UserEventChannel,
    pub format_string: FormatString,
    pub formatted_string: FormattedString,
    pub args: Vec<Argument>,
}