multer_derive_macros/
lib.rs

1use proc_macro::TokenStream;
2use syn::DeriveInput;
3
4mod impls;
5
6/// Provide an implementation of `FromMultipart` for construct types from [`multer::Multipart`].
7/// 
8/// [`multer::Multipart`]: https://docs.rs/multer/2.1.0/multer/struct.Multipart.html
9#[proc_macro_derive(FromMultipart, attributes(multer))]
10pub fn derive_from_multipart(input: TokenStream) -> TokenStream {
11    let input = syn::parse_macro_input!(input as DeriveInput);
12
13    match impls::derive_from_multipart(input) {
14        Ok(tokens) => tokens.into(),
15        Err(err) => err.into_compile_error().into(),
16    }
17}