kudi_macros/lib.rs
1mod target;
2mod utils;
3
4use proc_macro::TokenStream;
5use syn::parse_macro_input;
6use target::{stateful_target, stateless_target};
7
8#[proc_macro_derive(DepInj, attributes(target))]
9pub fn dep_inj(input: TokenStream) -> TokenStream {
10 stateful_target(parse_macro_input!(input)).into()
11}
12
13#[proc_macro_attribute]
14pub fn target(_attr: TokenStream, item: TokenStream) -> TokenStream {
15 stateless_target(parse_macro_input!(item)).into()
16}