mini_internal/
lib.rs

1#![allow(
2    clippy::module_name_repetitions,
3    clippy::needless_pass_by_value,
4    clippy::unseparated_literal_suffix
5)]
6
7extern crate proc_macro;
8
9mod attr;
10mod bound;
11mod de;
12mod fallback;
13mod ser;
14
15use proc_macro::TokenStream;
16use syn::{parse_macro_input, DeriveInput};
17
18#[proc_macro_derive(Serialize, attributes(serde))]
19pub fn derive_serialize(input: TokenStream) -> TokenStream {
20    let input = parse_macro_input!(input as DeriveInput);
21    ser::derive(&input).into()
22}
23
24#[proc_macro_derive(Deserialize, attributes(serde))]
25pub fn derive_deserialize(input: TokenStream) -> TokenStream {
26    let input = parse_macro_input!(input as DeriveInput);
27    de::derive(&input).into()
28}