deorbit-macro 0.1.4

A dependency injection framework for Rust
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use proc_macro::TokenStream;
use syn::ItemStruct;
use syn::parse_macro_input;

mod from_di;
mod utils;

#[proc_macro_attribute]
pub fn from_di(meta: TokenStream, input: TokenStream) -> TokenStream {
    let input = parse_macro_input!(input as ItemStruct);

    match from_di::transform_from_di(meta.into(), input.into()) {
        Ok(ts) => ts.into(),
        Err(err) => err.to_compile_error().into(),
    }
}