1extern crate proc_macro;
5use proc_macro::TokenStream;
6mod hook;
7mod inject;
8mod application;
9
10#[proc_macro_derive(Hooks)]
12pub fn derive_hooks(input: TokenStream) -> TokenStream {
13 hook::derive_hooks_impl(input)
14}
15
16#[proc_macro_derive(Inject, attributes(component))]
17pub fn inject(item: TokenStream) -> TokenStream {
18 inject::inject_derive(item)
19}
20
21#[proc_macro_derive(App, attributes(component))]
22pub fn app(item: TokenStream) -> TokenStream {
23 application::app_impl(item)
24}