macros: Move EVENT_FIELDS out of util.rs
It was only used by the event_enum! macro anyways.
This commit is contained in:
		
							parent
							
								
									ca1159250e
								
							
						
					
					
						commit
						c787c8351e
					
				| @ -6,10 +6,30 @@ use syn::{Attribute, Data, DataEnum, DeriveInput, Ident, LitStr}; | ||||
| 
 | ||||
| use super::{ | ||||
|     event_parse::{EventEnumDecl, EventEnumEntry, EventKind, EventKindVariation}, | ||||
|     util::{has_prev_content, is_non_stripped_room_event, EVENT_FIELDS}, | ||||
|     util::{has_prev_content, is_non_stripped_room_event}, | ||||
| }; | ||||
| use crate::util::m_prefix_name_to_type_name; | ||||
| 
 | ||||
| type EventKindFn = fn(EventKind, EventKindVariation) -> bool; | ||||
| 
 | ||||
| /// This const is used to generate the accessor methods for the `Any*Event` enums.
 | ||||
| ///
 | ||||
| /// DO NOT alter the field names unless the structs in `ruma_common::events::event_kinds` have
 | ||||
| /// changed.
 | ||||
| const EVENT_FIELDS: &[(&str, EventKindFn)] = &[ | ||||
|     ("origin_server_ts", is_non_stripped_room_event), | ||||
|     ("room_id", |kind, var| { | ||||
|         matches!(kind, EventKind::MessageLike | EventKind::State | EventKind::Ephemeral) | ||||
|             && matches!(var, EventKindVariation::Full | EventKindVariation::Redacted) | ||||
|     }), | ||||
|     ("event_id", is_non_stripped_room_event), | ||||
|     ("sender", |kind, var| { | ||||
|         matches!(kind, EventKind::MessageLike | EventKind::State | EventKind::ToDevice) | ||||
|             && var != EventKindVariation::Initial | ||||
|     }), | ||||
|     ("state_key", |kind, _| matches!(kind, EventKind::State)), | ||||
| ]; | ||||
| 
 | ||||
| /// Create a content enum from `EventEnumInput`.
 | ||||
| pub fn expand_event_enums(input: &EventEnumDecl) -> syn::Result<TokenStream> { | ||||
|     use EventKindVariation as V; | ||||
|  | ||||
| @ -15,23 +15,3 @@ pub(crate) fn has_prev_content(kind: EventKind, var: EventKindVariation) -> bool | ||||
|     matches!(kind, EventKind::State) | ||||
|         && matches!(var, EventKindVariation::Full | EventKindVariation::Sync) | ||||
| } | ||||
| 
 | ||||
| pub(crate) type EventKindFn = fn(EventKind, EventKindVariation) -> bool; | ||||
| 
 | ||||
| /// This const is used to generate the accessor methods for the `Any*Event` enums.
 | ||||
| ///
 | ||||
| /// DO NOT alter the field names unless the structs in `ruma_common::events::event_kinds` have
 | ||||
| /// changed.
 | ||||
| pub(crate) const EVENT_FIELDS: &[(&str, EventKindFn)] = &[ | ||||
|     ("origin_server_ts", is_non_stripped_room_event), | ||||
|     ("room_id", |kind, var| { | ||||
|         matches!(kind, EventKind::MessageLike | EventKind::State | EventKind::Ephemeral) | ||||
|             && matches!(var, EventKindVariation::Full | EventKindVariation::Redacted) | ||||
|     }), | ||||
|     ("event_id", is_non_stripped_room_event), | ||||
|     ("sender", |kind, var| { | ||||
|         matches!(kind, EventKind::MessageLike | EventKind::State | EventKind::ToDevice) | ||||
|             && var != EventKindVariation::Initial | ||||
|     }), | ||||
|     ("state_key", |kind, _| matches!(kind, EventKind::State)), | ||||
| ]; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user