1use proc_macro::TokenStream;
2
3mod is_variant;
4mod variant_def;
5mod variant_name;
6mod variant_props;
7
8#[proc_macro_derive(VariantName)]
9pub fn derive_variant_name(item: TokenStream) -> TokenStream {
10 variant_name::derive_variant_name_impl(item)
11}
12
13#[proc_macro_derive(DisplayVariantName)]
14pub fn derive_display_variant_name(item: TokenStream) -> TokenStream {
15 variant_name::derive_display_variant_name_impl(item)
16}
17
18#[proc_macro_derive(IsVariant)]
19pub fn derive_is_variant(item: TokenStream) -> TokenStream {
20 is_variant::derive_is_variant_impl(item)
21}
22
23#[proc_macro_derive(VariantDef, attributes(def))]
24pub fn derive_variant_def(item: TokenStream) -> TokenStream {
25 variant_def::derive_variant_def_impl(item)
26}
27
28#[proc_macro_derive(VariantPropsToJsonArray)]
29pub fn derive_variant_props_to_json_array(item: TokenStream) -> TokenStream {
30 variant_props::derive_variant_props_to_json_array_impl(item)
31}