1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
extern crate proc_macro; use syn::parse_macro_input; mod gen_json_struct; mod gen_type_alias; pub(crate) mod utils; #[proc_macro] pub fn gen_json_struct(input: proc_macro::TokenStream) -> proc_macro::TokenStream { let input = parse_macro_input!(input as gen_json_struct::Input); let output = gen_json_struct::get_output(input); output.into() } #[proc_macro] pub fn gen_type_alias(input: proc_macro::TokenStream) -> proc_macro::TokenStream { let input = parse_macro_input!(input as gen_type_alias::Input); let output = gen_type_alias::get_output(input); output.into() }