Skip to content

Commit

Permalink
Allow trailing comma + no events on collect_events
Browse files Browse the repository at this point in the history
  • Loading branch information
oscartbeaumont committed May 9, 2024
1 parent 3c5d9e4 commit 2fbebc8
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions src/event.rs
Original file line number Diff line number Diff line change
Expand Up @@ -181,14 +181,15 @@ pub struct EventDataType {
pub typ: DataType,
}

pub(crate) type CollectEventsTuple = (EventCollection, Vec<EventDataType>, specta::TypeMap);
#[doc(hidden)]
pub type CollectEventsTuple = (EventCollection, Vec<EventDataType>, specta::TypeMap);

#[macro_export]
macro_rules! collect_events {
($($event:ident),+) => {{
($($event:ident),* $(,)?) => {{
let mut collection: $crate::EventCollection = ::core::default::Default::default();

$(collection.register::<$event>();)+
$(collection.register::<$event>();)*

let mut type_map = Default::default();

Expand All @@ -197,10 +198,11 @@ macro_rules! collect_events {
name: <$event as $crate::Event>::NAME,
typ: <$event as ::specta::Type>::reference(&mut type_map, &[]).inner
}
),+]
),*]
.into_iter()
.collect::<Vec<_>>();

(collection, event_data_types, type_map)
let result: $crate::CollectEventsTuple = (collection, event_data_types, type_map);
result
}};
}

0 comments on commit 2fbebc8

Please sign in to comment.