interstice_sdk_macros/
lib.rs1mod index_key;
2mod init;
3mod interstice_type;
4mod query;
5mod reducer;
6mod table;
7
8use proc_macro::TokenStream;
9
10use crate::{
11 init::init_macro, interstice_type::derive_interstice_type_macro, query::query_macro,
12 reducer::reducer_macro, table::table_macro,
13};
14
15#[proc_macro_attribute]
16pub fn init(_attr: TokenStream, item: TokenStream) -> TokenStream {
17 init_macro(item)
18}
19
20#[proc_macro_attribute]
21pub fn table(attr: TokenStream, item: TokenStream) -> TokenStream {
22 table_macro(attr, item)
23}
24
25#[proc_macro_attribute]
26pub fn reducer(attr: TokenStream, item: TokenStream) -> TokenStream {
27 reducer_macro(attr, item)
28}
29
30#[proc_macro_attribute]
31pub fn query(_attr: TokenStream, item: TokenStream) -> TokenStream {
32 query_macro(item)
33}
34
35#[proc_macro_attribute]
36pub fn interstice_type(_attr: TokenStream, input: TokenStream) -> TokenStream {
37 derive_interstice_type_macro(input)
38}