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