1use syn::{parse_macro_input, DeriveInput};
2
3mod max_size;
4mod schema;
5
6#[proc_macro_derive(MaxSize)]
8pub fn derive_max_size(item: proc_macro::TokenStream) -> proc_macro::TokenStream {
9 max_size::do_derive_max_size(item)
10}
11
12#[proc_macro_derive(Schema, attributes(postcard, serde))]
14pub fn derive_schema(item: proc_macro::TokenStream) -> proc_macro::TokenStream {
15 let input = parse_macro_input!(item as DeriveInput);
16 schema::do_derive_schema(input)
17 .unwrap_or_else(syn::Error::into_compile_error)
18 .into()
19}