storekey_derive/
lib.rs

1use proc_macro::TokenStream;
2
3mod impls;
4
5#[proc_macro_derive(Encode, attributes(storekey))]
6pub fn encode(input: TokenStream) -> TokenStream {
7	match impls::encode(input.into()) {
8		Ok(x) => x.into(),
9		Err(e) => e.into_compile_error().into(),
10	}
11}
12
13#[proc_macro_derive(Decode, attributes(storekey))]
14pub fn decode(input: TokenStream) -> TokenStream {
15	match impls::decode(input.into()) {
16		Ok(x) => x.into(),
17		Err(e) => e.into_compile_error().into(),
18	}
19}
20
21#[proc_macro_derive(BorrowDecode, attributes(storekey))]
22pub fn borrow_decode(input: TokenStream) -> TokenStream {
23	match impls::borrow_decode(input.into()) {
24		Ok(x) => x.into(),
25		Err(e) => e.into_compile_error().into(),
26	}
27}
28
29#[proc_macro_derive(ToEscaped)]
30pub fn to_escaped(input: TokenStream) -> TokenStream {
31	match impls::to_escaped(input.into()) {
32		Ok(x) => x.into(),
33		Err(e) => e.into_compile_error().into(),
34	}
35}