1mod common;
2mod generators;
3mod mem_stat;
4mod migration_engine;
5mod persist_index;
6mod persist_table;
7#[cfg(feature = "s3-support")]
8mod s3_persistence;
9mod worktable;
10mod worktable_version;
11
12use proc_macro::TokenStream;
13#[proc_macro]
16pub fn worktable(input: TokenStream) -> TokenStream {
17 worktable::expand(input.into())
18 .unwrap_or_else(|e| e.to_compile_error())
19 .into()
20}
21
22#[cfg(feature = "s3-support")]
23#[proc_macro]
24pub fn s3_sync_persistence(input: TokenStream) -> TokenStream {
25 s3_persistence::expand(input.into())
26 .unwrap_or_else(|e| e.to_compile_error())
27 .into()
28}
29
30#[proc_macro_derive(PersistIndex, attributes(index))]
31pub fn persist_index(input: TokenStream) -> TokenStream {
32 persist_index::expand(input.into())
33 .unwrap_or_else(|e| e.to_compile_error())
34 .into()
35}
36
37#[proc_macro_derive(PersistTable, attributes(table))]
38pub fn persist_table(input: TokenStream) -> TokenStream {
39 persist_table::expand(input.into())
40 .unwrap_or_else(|e| e.to_compile_error())
41 .into()
42}
43
44#[proc_macro_derive(MemStat)]
45pub fn mem_stat(input: TokenStream) -> TokenStream {
46 mem_stat::expand(input.into())
47 .unwrap_or_else(|e| e.to_compile_error())
48 .into()
49}
50
51#[proc_macro]
52pub fn worktable_version(input: TokenStream) -> TokenStream {
53 worktable_version::expand(input.into())
54 .unwrap_or_else(|e| e.to_compile_error())
55 .into()
56}
57
58#[proc_macro]
59pub fn migration_engine(input: TokenStream) -> TokenStream {
60 migration_engine::expand(input.into())
61 .unwrap_or_else(|e| e.to_compile_error())
62 .into()
63}