transformer_derive/
lib.rs

1mod transform;
2
3use proc_macro::TokenStream;
4use proc_macro_error2::proc_macro_error;
5use syn::{parse_macro_input, DeriveInput};
6use transform::expand_transform;
7
8#[proc_macro_error]
9#[proc_macro_derive(Transform, attributes(transform))]
10pub fn derive_transform(input: TokenStream) -> TokenStream {
11    let input = parse_macro_input!(input as DeriveInput);
12    expand_transform(input)
13        .unwrap_or_else(syn::Error::into_compile_error)
14        .into()
15}