diff --git a/macro/src/route.rs b/macro/src/route.rs index 41295bf..9a2ff3e 100644 --- a/macro/src/route.rs +++ b/macro/src/route.rs @@ -18,7 +18,7 @@ struct Args { impl Parse for Args { fn parse(input: ParseStream) -> syn::parse::Result { let vars = Punctuated::::parse_terminated(input)?; - + Ok(Args { vars: vars.into_iter().collect(), }) @@ -31,7 +31,7 @@ impl Args { Some(var) => Ok(var.clone()), None => return Err(syn::Error::new( Span::call_site().into(), - "No Route was provided" + "route must have one argument" )) } } @@ -41,26 +41,26 @@ impl Args { pub fn gen_route(attr: TokenStream, item: TokenStream) -> TokenStream { let args = parse_macro_input!(attr as Args); let func = parse_macro_input!(item as ItemFn); - + let vis = func.vis.clone(); let ident = func.sig.ident.clone(); - + let method = args.get_arg(0).unwrap(); let route = args.get_arg(1).unwrap(); let expanded = quote! { #[allow(non_camel_case_types)] #vis struct #ident; - + impl #ident { #vis fn route() -> axum::Router { #func - + axum::Router::new().route(#route, #method (#ident)) } } }; - + expanded.into() }