binhoc_macros/lib.rs
1use proc_macro::TokenStream;
2use syn::parse_macro_input;
3use syn::{AttributeArgs, ItemFn};
4use crate::adhoc_reqwest_fn::impl_adhoc_reqwest_fn;
5
6mod adhoc_reqwest_fn;
7
8
9#[proc_macro_attribute]
10pub fn binhoc(attr: TokenStream, item:TokenStream) -> TokenStream {
11 // Construct a representation of Rust code as a syntax tree
12 // that we can manipulate
13 let attr = parse_macro_input!(attr as AttributeArgs);
14 let item = parse_macro_input!(item as ItemFn);
15
16 // Build the trait implementation
17 impl_adhoc_reqwest_fn(&attr,&item)
18}