1mod derive;
9pub(crate) mod iter_ext;
10
11use quote::ToTokens;
12use syn::{parse_macro_input, DeriveInput};
13
14#[proc_macro_derive(JsonTypedef, attributes(typedef))]
15pub fn query_responses_derive(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
16 let input = parse_macro_input!(input as DeriveInput);
17
18 let expanded = match derive::derive(input) {
19 Ok(item_impl) => item_impl.into_token_stream(),
20 Err(e) => e.into_compile_error(),
21 };
22
23 proc_macro::TokenStream::from(expanded)
24}