sword_macros/
lib.rs

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