Skip to main content

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}