vconfig_codegen/
lib.rs

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}