rscel_macro/
lib.rs

1use proc_macro::TokenStream;
2use syn::{parse_macro_input, ItemMod};
3use types::DispatchMod;
4
5mod types;
6
7#[proc_macro_attribute]
8pub fn dispatch(_attr: TokenStream, item: TokenStream) -> TokenStream {
9    // Parse the module with functions
10    let input = parse_macro_input!(item as ItemMod);
11
12    DispatchMod::from_mod(input).into_token_stream()
13}