fire_protobuf_codegen/
lib.rs1mod encode;
2mod decode;
3mod attr;
4mod util;
5
6use proc_macro::TokenStream;
7
8use syn::{parse_macro_input, DeriveInput};
9
10const FIELD: &str = "field";
11
12#[proc_macro_derive(EncodeMessage, attributes(field))]
13pub fn derive_encode_message(input: TokenStream) -> TokenStream {
14 let input = parse_macro_input!(input as DeriveInput);
15
16 encode::expand(input)
17 .unwrap_or_else(|e| e.to_compile_error())
18 .into()
19}
20
21#[proc_macro_derive(DecodeMessage, attributes(field))]
22pub fn derive_decode_message(input: TokenStream) -> TokenStream {
23 let input = parse_macro_input!(input as DeriveInput);
24
25 decode::expand(input)
26 .unwrap_or_else(|e| e.to_compile_error())
27 .into()
28}