1mod controller;
2mod utils;
3
4use crate::controller::implementation;
5use proc_macro::TokenStream;
6
7#[proc_macro_attribute]
8pub fn get(attr: TokenStream, item: TokenStream) -> TokenStream {
9 let _ = attr;
10 item
11}
12
13#[proc_macro_attribute]
14pub fn post(attr: TokenStream, item: TokenStream) -> TokenStream {
15 let _ = attr;
16 item
17}
18
19#[proc_macro_attribute]
20pub fn put(attr: TokenStream, item: TokenStream) -> TokenStream {
21 let _ = attr;
22 item
23}
24
25#[proc_macro_attribute]
26pub fn delete(attr: TokenStream, item: TokenStream) -> TokenStream {
27 let _ = attr;
28 item
29}
30
31#[proc_macro_attribute]
32pub fn patch(attr: TokenStream, item: TokenStream) -> TokenStream {
33 let _ = attr;
34 item
35}
36
37#[proc_macro_attribute]
38pub fn controller(attr: TokenStream, item: TokenStream) -> TokenStream {
39 controller::expand_controller(attr, item)
40}
41
42#[deprecated(since = "0.1.5", note = "Use `#[routes]` instead")]
43#[proc_macro_attribute]
44pub fn controller_impl(attr: TokenStream, item: TokenStream) -> TokenStream {
45 implementation::expand_controller_impl(attr, item)
46}
47
48#[proc_macro_attribute]
49pub fn routes(attr: TokenStream, item: TokenStream) -> TokenStream {
50 implementation::expand_controller_impl(attr, item)
51}
52
53#[proc_macro_attribute]
54pub fn middleware(attr: TokenStream, item: TokenStream) -> TokenStream {
55 let _ = attr;
56 item
57}