1mod artifact;
13mod catalog;
14mod identity;
15mod message;
16mod operation;
17mod path;
18mod presentation;
19
20use proc_macro::TokenStream;
28use identity::Sort;
30
31#[proc_macro_attribute]
48pub fn catalog(attribute: TokenStream, item: TokenStream) -> TokenStream {
49 catalog::typed::declare(attribute.into(), item.into()).into()
50}
51
52#[proc_macro_attribute]
53pub fn sidecar_catalog(attribute: TokenStream, item: TokenStream) -> TokenStream {
54 catalog::typed::declare_runtime(attribute.into(), item.into()).into()
55}
56
57#[proc_macro_attribute]
58pub fn guest_catalog(attribute: TokenStream, item: TokenStream) -> TokenStream {
59 catalog::typed::declare_runtime(attribute.into(), item.into()).into()
60}
61
62#[proc_macro_attribute]
63pub fn domain_catalog(attribute: TokenStream, item: TokenStream) -> TokenStream {
64 catalog::typed::declare_domain(attribute.into(), item.into()).into()
65}
66
67#[proc_macro_attribute]
68pub fn runtime_catalog(attribute: TokenStream, item: TokenStream) -> TokenStream {
69 catalog::typed::declare_runtime(attribute.into(), item.into()).into()
70}
71
72#[proc_macro_attribute]
73pub fn operation(attribute: TokenStream, item: TokenStream) -> TokenStream {
74 operation::declare(attribute.into(), item.into()).into()
75}
76
77#[proc_macro_attribute]
78pub fn sidecar_operation(attribute: TokenStream, item: TokenStream) -> TokenStream {
79 operation::declare_runtime(attribute.into(), item.into()).into()
80}
81
82#[proc_macro_attribute]
83pub fn guest_operation(attribute: TokenStream, item: TokenStream) -> TokenStream {
84 operation::declare_runtime(attribute.into(), item.into()).into()
85}
86
87#[proc_macro_attribute]
88pub fn domain_operation(attribute: TokenStream, item: TokenStream) -> TokenStream {
89 operation::declare_domain(attribute.into(), item.into()).into()
90}
91
92#[proc_macro_attribute]
93pub fn runtime_operation(attribute: TokenStream, item: TokenStream) -> TokenStream {
94 operation::declare_runtime(attribute.into(), item.into()).into()
95}
96
97#[proc_macro_attribute]
98pub fn lanes(attribute: TokenStream, item: TokenStream) -> TokenStream {
99 catalog::lanes::close(attribute.into(), item.into()).into()
100}
101
102#[proc_macro_attribute]
103pub fn transaction(attribute: TokenStream, item: TokenStream) -> TokenStream {
104 identity::stamp(attribute.into(), item.into(), Sort::Transaction).into()
105}
106
107#[proc_macro_attribute]
108pub fn record(attribute: TokenStream, item: TokenStream) -> TokenStream {
109 identity::stamp(attribute.into(), item.into(), Sort::Record).into()
110}
111
112#[proc_macro_attribute]
113pub fn stream(attribute: TokenStream, item: TokenStream) -> TokenStream {
114 identity::stream::stamp(attribute.into(), item.into()).into()
115}
116
117#[proc_macro_attribute]
118pub fn transactions(attribute: TokenStream, item: TokenStream) -> TokenStream {
119 catalog::close(attribute.into(), item.into(), Sort::Transaction).into()
120}
121
122#[proc_macro_attribute]
123pub fn records(attribute: TokenStream, item: TokenStream) -> TokenStream {
124 catalog::close(attribute.into(), item.into(), Sort::Record).into()
125}
126
127#[proc_macro_attribute]
128pub fn streams(attribute: TokenStream, item: TokenStream) -> TokenStream {
129 catalog::streams::close(attribute.into(), item.into()).into()
130}
131
132#[proc_macro_attribute]
133pub fn plugin(attribute: TokenStream, item: TokenStream) -> TokenStream {
134 artifact::plugin::declare(attribute.into(), item.into()).into()
135}
136
137#[proc_macro_attribute]
138pub fn observer(attribute: TokenStream, item: TokenStream) -> TokenStream {
139 artifact::observer::declare(attribute.into(), item.into()).into()
140}
141
142#[proc_macro_attribute]
143pub fn listener(attribute: TokenStream, item: TokenStream) -> TokenStream {
144 artifact::listener::declare(attribute.into(), item.into()).into()
145}
146
147#[proc_macro_attribute]
148pub fn message(attribute: TokenStream, item: TokenStream) -> TokenStream {
149 message::declare(attribute.into(), item.into()).into()
150}
151
152