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}