1use proc_macro::TokenStream;
2use syn::DeriveInput;
3
4mod message;
5mod message_response;
6
7#[proc_macro_derive(Message, attributes(result_type))]
8pub fn message_derive(input: TokenStream) -> TokenStream {
9 let ast: DeriveInput = syn::parse(input).unwrap();
10
11 message::expand(&ast).into()
12}
13
14#[proc_macro_derive(MessageResponse)]
15pub fn message_response_derive(input: TokenStream) -> TokenStream {
16 let ast: DeriveInput = syn::parse(input).unwrap();
17
18 message_response::expand(&ast).into()
19}