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}