1#![allow(dead_code)]
2#[macro_use]
3extern crate quote;
4
5#[macro_use]
6mod attribute;
7
8#[doc(hidden)]
9#[proc_macro_attribute]
10pub fn actix_web_variant_config(
11 args: proc_macro::TokenStream,
12 input: proc_macro::TokenStream,
13) -> proc_macro::TokenStream {
14 if cfg!(feature = "actix_web") {
15 attribute::actix_web::variant_config(args.into(), input.into()).into()
16 } else {
17 input
18 }
19}
20
21#[doc(hidden)]
22#[proc_macro_attribute]
23pub fn axum_variant_config(
24 args: proc_macro::TokenStream,
25 input: proc_macro::TokenStream,
26) -> proc_macro::TokenStream {
27 if cfg!(feature = "axum") {
28 attribute::axum::variant_config(args.into(), input.into()).into()
29 } else {
30 input
31 }
32}
33
34#[doc(hidden)]
35#[proc_macro_attribute]
36pub fn rocket_variant_config(
37 args: proc_macro::TokenStream,
38 input: proc_macro::TokenStream,
39) -> proc_macro::TokenStream {
40 if cfg!(feature = "rocket") {
41 attribute::rocket::variant_config(args.into(), input.into()).into()
42 } else {
43 input
44 }
45}