Skip to main content

canic_macros/
lib.rs

1mod endpoint;
2
3use crate::endpoint::{EndpointKind, expand_entry};
4use proc_macro::TokenStream;
5
6/// Define a Canic query endpoint.
7///
8/// See `canic::endpoint` for supported attributes.
9#[proc_macro_attribute]
10pub fn canic_query(attr: TokenStream, item: TokenStream) -> TokenStream {
11    expand_entry(EndpointKind::Query, attr, item)
12}
13
14/// Define a Canic update endpoint.
15///
16/// See `canic::endpoint` for supported attributes.
17#[proc_macro_attribute]
18pub fn canic_update(attr: TokenStream, item: TokenStream) -> TokenStream {
19    expand_entry(EndpointKind::Update, attr, item)
20}