use std::io::{Read, Write};
use prost::Message;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut buf = Vec::new();
std::io::stdin().read_to_end(&mut buf)?;
let request =
prost_types::compiler::CodeGeneratorRequest::decode(buf.as_slice())?;
let code =
foundation_connectrpc_codegen::generate_services(&request.proto_file);
let response = prost_types::compiler::CodeGeneratorResponse {
file: vec![prost_types::compiler::code_generator_response::File {
name: Some("_connectrpc.rs".to_string()),
content: Some(code),
..Default::default()
}],
..Default::default()
};
let mut out = Vec::new();
response.encode(&mut out)?;
std::io::stdout().write_all(&out)?;
Ok(())
}