fire_protobuf_codegen/
lib.rs

1mod 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}