Skip to main content

midi_internal/
lib.rs

1//! Procedural derive macros for midiserde.
2
3mod attr;
4mod bound;
5mod de;
6mod fallback;
7mod ser;
8
9use proc_macro::TokenStream;
10use syn::parse_macro_input;
11
12#[proc_macro_derive(Deserialize, attributes(mini))]
13pub fn derive_deserialize(input: TokenStream) -> TokenStream {
14    let input = parse_macro_input!(input as syn::DeriveInput);
15    de::derive(&input).into()
16}
17
18#[proc_macro_derive(Serialize, attributes(mini))]
19pub fn derive_serialize(input: TokenStream) -> TokenStream {
20    let input = parse_macro_input!(input as syn::DeriveInput);
21    ser::derive(&input).into()
22}