selium_userland_macros/lib.rs
1use proc_macro::TokenStream;
2
3mod dependency_id;
4mod entrypoint;
5mod schema;
6
7/// Compute a singleton dependency identifier from a string literal.
8#[proc_macro]
9pub fn dependency_id(item: TokenStream) -> TokenStream {
10 dependency_id::expand(item)
11}
12
13/// Struct-level schema annotation declaring a message type.
14#[proc_macro_attribute]
15pub fn schema(attr: TokenStream, item: TokenStream) -> TokenStream {
16 schema::expand(attr, item)
17}
18
19#[proc_macro_attribute]
20pub fn entrypoint(attr: TokenStream, item: TokenStream) -> TokenStream {
21 entrypoint::expand(attr, item)
22}