macro_rules! action {
    (
		IMPL,
		$(#[$attr:meta])*
		($($vis:tt)*) $name:ident {
			$(
				$(#[$variant_attr:meta])*
				$variant:ident = $variant_val:expr
			),*
		}
	) => { ... };
    ($(#[$attr:meta])* pub enum $($toks:tt)*) => { ... };
    ($(#[$attr:meta])* pub ($($vis:tt)+) enum $($toks:tt)*) => { ... };
    ($(#[$attr:meta])* enum $($toks:tt)*) => { ... };
}
Expand description

Creates a enum with the action type

Todo remove this after replacing it in the codegen

Example

use stream_api::action;
 
action! {
	#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
	pub enum Action {
		SomeAction = 1
	}
}
 
// The type `Action::Unkown` will be added, unknown should never be used.