1mod controller;
2
3use proc_macro::TokenStream;
4use syn::{Item, parse_macro_input};
5use crate::controller::generate_init_fn_for_controller;
6
7#[proc_macro_attribute]
8pub fn controller(attr: TokenStream, input: TokenStream) -> TokenStream {
9 let item = parse_macro_input!(input as Item);
10
11 match item {
12 Item::Impl(item_impl) => generate_init_fn_for_controller(attr, item_impl),
13 _ => panic!("unsupported...")
14 }
15}
16
17#[proc_macro_attribute]
18pub fn get(_attr: TokenStream, input: TokenStream) -> TokenStream {
19 input
20}
21
22#[proc_macro_attribute]
23pub fn head(_attr: TokenStream, input: TokenStream) -> TokenStream {
24 input
25}
26
27#[proc_macro_attribute]
28pub fn post(_attr: TokenStream, input: TokenStream) -> TokenStream {
29 input
30}
31
32#[proc_macro_attribute]
33pub fn put(_attr: TokenStream, input: TokenStream) -> TokenStream {
34 input
35}
36
37#[proc_macro_attribute]
38pub fn delete(_attr: TokenStream, input: TokenStream) -> TokenStream {
39 input
40}