1use proc_macro::TokenStream;
4
5mod derive;
6mod literal;
7mod encoded_eq;
8mod flags;
9
10#[proc_macro_derive(ESExprCodec, attributes(esexpr))]
11pub fn derive_esexpr_codec(input: TokenStream) -> TokenStream {
13 TokenStream::from(derive::derive_esexpr_codec_impl(proc_macro2::TokenStream::from(input)))
14}
15
16#[proc_macro_derive(ESExprEncodedEq)]
18pub fn derive_encoded_eq(input: TokenStream) -> TokenStream {
19 TokenStream::from(encoded_eq::derive_encoded_eq_impl(proc_macro2::TokenStream::from(input)))
20}
21
22#[proc_macro]
23pub fn esexpr_literal(input: TokenStream) -> TokenStream {
25 TokenStream::from(literal::esexpr_literal_impl(proc_macro2::TokenStream::from(input)))
26}
27
28#[proc_macro]
29pub fn esexpr_flags(input: TokenStream) -> TokenStream {
31 TokenStream::from(flags::esexpr_flags_impl(proc_macro2::TokenStream::from(input)))
32}