extern crate proc_macro;
extern crate proc_macro2;
#[macro_use]
extern crate quote;
extern crate syn;
use proc_macro2::TokenStream;
#[proc_macro_attribute]
pub fn app_route(
_metadata: proc_macro::TokenStream,
input: proc_macro::TokenStream,
) -> proc_macro::TokenStream {
let input: TokenStream = input.into();
let output = quote! {
#[derive(std::fmt::Debug, Clone, PartialEq, Eq, std::hash::Hash)]
#input
};
output.into()
}
#[proc_macro_attribute]
pub fn app_event(
_metadata: proc_macro::TokenStream,
input: proc_macro::TokenStream,
) -> proc_macro::TokenStream {
let input: TokenStream = input.into();
let output = quote! {
#[derive(Clone, PartialEq)]
#input
};
output.into()
}