auto-di-macros 0.1.3

Procedural macros for the auto-di dependency injection crate
Documentation
//! Procedural macro entrypoints for `auto-di`.

use proc_macro::TokenStream;

mod expansion;

macro_rules! attribute {
    ($name:ident) => {
        #[proc_macro_attribute]
        pub fn $name(attribute: TokenStream, item: TokenStream) -> TokenStream {
            expansion::$name(attribute, item)
        }
    };
}

attribute!(singleton);
attribute!(component);
attribute!(service);
attribute!(repository);
attribute!(qualifier);
attribute!(application);
attribute!(configuration_properties);
attribute!(configuration);
attribute!(beans);
attribute!(bean);

// `service`, `repository`, and `singleton` remain compatibility aliases. New
// code only needs `component` for constructor injection and `bean` for factory
// injection.