Skip to main content

deorbit_macro/
lib.rs

1use proc_macro::TokenStream;
2use syn::ItemStruct;
3use syn::parse_macro_input;
4
5mod from_di;
6mod utils;
7
8#[proc_macro_attribute]
9pub fn from_di(meta: TokenStream, input: TokenStream) -> TokenStream {
10    let input = parse_macro_input!(input as ItemStruct);
11
12    match from_di::transform_from_di(meta.into(), input.into()) {
13        Ok(ts) => ts.into(),
14        Err(err) => err.to_compile_error().into(),
15    }
16}