Derive Macro Event

Source
#[derive(Event)]
{
    // Attributes available to this derive:
    #[event]
}
Expand description

Derives Event trait. It is required to also implement FieldGetter.

NB: FieldGetter can be derived with FieldGetter derive macro

§Structure Attributes

#[event(id = expr, source = expr)] both id and source are mandatory to respectively implement the fn id() -> i64 and fn source() -> Cow<'_, str> from trait

§Example

use gene_derive::{Event, FieldGetter};
use gene::{Event,FieldGetter,FieldValue};
use std::borrow::Cow;

#[derive(Event, FieldGetter)]
#[event(id = self.event_id, source = "whatever".into())]
struct LogEvent<T> {
    name: String,
    some_field: u32,
    event_id: i64,
    some_gen: T,
}