starbase_macros/lib.rs
1#[cfg(feature = "events")]
2mod event;
3#[cfg(feature = "events")]
4mod subscriber;
5// mod resource;
6// mod state;
7// mod system;
8
9#[allow(unused_imports)]
10use proc_macro::TokenStream;
11
12#[cfg(feature = "events")]
13#[proc_macro_derive(Event, attributes(event))]
14pub fn event(item: TokenStream) -> TokenStream {
15 event::macro_impl(item)
16}
17
18#[cfg(feature = "events")]
19#[proc_macro_attribute]
20pub fn subscriber(args: TokenStream, item: TokenStream) -> TokenStream {
21 subscriber::macro_impl(args, item)
22}
23
24// #[proc_macro_derive(Resource)]
25// pub fn resource(item: TokenStream) -> TokenStream {
26// resource::macro_impl(item)
27// }
28
29// #[proc_macro_derive(State)]
30// pub fn state(item: TokenStream) -> TokenStream {
31// state::macro_impl(item)
32// }
33
34// #[proc_macro_attribute]
35// pub fn system(args: TokenStream, item: TokenStream) -> TokenStream {
36// system::macro_impl(args, item)
37// }