miniserde_derive_enum/
lib.rs1#![recursion_limit = "128"]
21
22extern crate proc_macro;
23
24mod de;
25mod ser;
26
27use proc_macro::TokenStream;
28use syn::{parse_macro_input, DeriveInput};
29
30#[proc_macro_derive(Serialize_enum, attributes(serde))]
31pub fn derive_serialize(input: TokenStream) -> TokenStream {
32 ser::derive(parse_macro_input!(input as DeriveInput))
33 .unwrap_or_else(|err| err.to_compile_error())
34 .into()
35}
36
37#[proc_macro_derive(Deserialize_enum, attributes(serde))]
38pub fn derive_deserialize(input: TokenStream) -> TokenStream {
39 de::derive(parse_macro_input!(input as DeriveInput))
40 .unwrap_or_else(|err| err.to_compile_error())
41 .into()
42}