use proc_macro::TokenStream;
use quote::quote;
#[proc_macro_attribute]
#[cfg(not(test))] pub fn handler(_args: TokenStream, item: TokenStream) -> TokenStream {
let mut handler_block = item.clone();
let input = syn::parse_macro_input!(item as syn::ItemFn);
let handler_ident = input.sig.ident;
let expanded = quote! {
#[no_mangle]
pub extern "C" fn _wasmesh_guest_handler(ctx_id: i64, size: i32) {
wasmesh::guest::handle_request(ctx_id, size, #handler_ident)
}
};
handler_block.extend(TokenStream::from(expanded));
handler_block
}