sword_macros/
lib.rs

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}