1extern crate proc_macro;
2
3use proc_macro::TokenStream;
4
5
6
7#[proc_macro_attribute]
8pub fn model(attr: TokenStream, item: TokenStream) -> TokenStream {
9 floz_macros_core::model::expand_model(attr.into(), item.into()).into()
10}
11
12#[proc_macro_attribute]
13pub fn route(attr: TokenStream, item: TokenStream) -> TokenStream {
14 floz_macros_core::route::expand_route(attr.into(), item.into()).into()
15}
16
17#[proc_macro_attribute]
18pub fn task(attr: TokenStream, item: TokenStream) -> TokenStream {
19 floz_macros_core::task::expand_task(attr.into(), item.into()).into()
20}
21
22#[proc_macro_attribute]
23pub fn main(_attr: TokenStream, item: TokenStream) -> TokenStream {
24 floz_macros_core::route::expand_main(item.into()).into()
25}
26
27#[proc_macro_attribute]
28pub fn channel_gate(attr: TokenStream, item: TokenStream) -> TokenStream {
29 floz_macros_core::channel::expand_channel_gate(attr.into(), item.into()).into()
30}
31
32#[proc_macro]
37pub fn embed_migrations(_input: TokenStream) -> TokenStream {
38 floz_macros_core::embed::expand_embed_migrations().into()
39}