mod controller;
mod injectable;
use proc_macro::TokenStream;
use quote::quote;
#[proc_macro_attribute]
pub fn injectable(args: TokenStream, input: TokenStream) -> TokenStream {
injectable::expand(args, input)
}
#[proc_macro_attribute]
pub fn guard(args: TokenStream, input: TokenStream) -> TokenStream {
injectable::expand(args, input)
}
#[proc_macro_attribute]
pub fn controller(args: TokenStream, input: TokenStream) -> TokenStream {
controller::expand(args, input)
}
#[proc_macro_attribute]
pub fn main(_args: TokenStream, item: TokenStream) -> TokenStream {
let item = proc_macro2::TokenStream::from(item);
quote! {
#[caelix::__actix_web::rt::main(system = "caelix::__actix_web::rt::System")]
#item
}
.into()
}
#[proc_macro_attribute]
pub fn test(_args: TokenStream, item: TokenStream) -> TokenStream {
let item = proc_macro2::TokenStream::from(item);
quote! {
#[caelix::__actix_web::rt::test(system = "caelix::__actix_web::rt::System")]
#item
}
.into()
}