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