enum_helper_macros/
lib.rs1extern crate proc_macro;
2
3use extract_renamings::{derive_all_variants_renamings_inner, derive_variant_name_inner};
4use proc_macro::TokenStream;
5
6mod extract_renamings;
7mod utils;
8
9#[proc_macro_derive(AllVariantsSerdeRenames)]
10pub fn extract_renamed_names(item: TokenStream) -> TokenStream {
11 let input = syn::parse_macro_input!(item as syn::DeriveInput);
12 derive_all_variants_renamings_inner(input).unwrap_or_else(|err| err.to_compile_error().into())
13}
14
15#[proc_macro_derive(VariantName)]
16pub fn derive_variant_name(item: TokenStream) -> TokenStream {
17 let syn_item: syn::DeriveInput = syn::parse_macro_input!(item as syn::DeriveInput);
18
19 derive_variant_name_inner(syn_item).unwrap_or_else(|err| err.to_compile_error().into())
20}