1mod action;
2mod derive_component;
3mod derive_render_once;
4mod register_action;
5mod style_helpers;
6mod test;
7
8use proc_macro::TokenStream;
9
10#[proc_macro_derive(Action)]
11pub fn action(input: TokenStream) -> TokenStream {
12 action::action(input)
13}
14
15#[proc_macro_attribute]
16pub fn register_action(attr: TokenStream, item: TokenStream) -> TokenStream {
17 register_action::register_action_macro(attr, item)
18}
19
20#[proc_macro_derive(Component, attributes(component))]
21pub fn derive_component(input: TokenStream) -> TokenStream {
22 derive_component::derive_component(input)
23}
24
25#[proc_macro_derive(RenderOnce, attributes(view))]
26pub fn derive_render_once(input: TokenStream) -> TokenStream {
27 derive_render_once::derive_render_once(input)
28}
29
30#[proc_macro]
31pub fn style_helpers(input: TokenStream) -> TokenStream {
32 style_helpers::style_helpers(input)
33}
34
35#[proc_macro_attribute]
36pub fn test(args: TokenStream, function: TokenStream) -> TokenStream {
37 test::test(args, function)
38}