#![allow(clippy::too_many_lines)]
#![allow(clippy::needless_pass_by_value)]
#![allow(clippy::similar_names)]
extern crate alloc;
use proc_macro::TokenStream;
mod emit_proto;
mod generic_substitutions;
mod impl_proto_ident;
mod parse;
mod proto_dump;
mod proto_import;
mod proto_message;
mod proto_rpc;
mod schema;
mod utils;
mod write_file;
#[proc_macro_attribute]
pub fn proto_message(attr: TokenStream, item: TokenStream) -> TokenStream {
proto_message::proto_message_impl(attr, item)
}
#[proc_macro]
pub fn inject_proto_import(input: TokenStream) -> TokenStream {
proto_import::inject_proto_import_impl(input)
}
#[proc_macro_attribute]
pub fn proto_rpc(attr: TokenStream, item: TokenStream) -> TokenStream {
let output = proto_rpc::proto_rpc_impl(attr, item);
TokenStream::from(output)
}
#[proc_macro_attribute]
pub fn proto_dump(attr: TokenStream, item: TokenStream) -> TokenStream {
proto_dump::proto_dump_impl(attr, item)
}
#[proc_macro]
pub fn impl_proto_ident(input: TokenStream) -> TokenStream {
impl_proto_ident::impl_proto_ident(input)
}