branch: main
worker-codegen.rs
830 bytesRaw
use anyhow::Context;
use clap::Parser;
use worker_codegen::wit::expand_wit_source;
/// Simple program to greet a person
#[derive(Parser, Debug)]
#[command(
version,
about="Generate RPC service interfaces from WIT definitions for use in RPC clients workers.",
long_about = None
)]
struct Args {
/// WIT file to read
#[arg(short, long)]
input: String,
/// Rust file to write
#[arg(short, long)]
output: String,
}
pub fn main() -> Result<(), anyhow::Error> {
let args = Args::parse();
println!("Parsing schema from '{}'.", args.input);
let source = expand_wit_source(&args.input)?;
println!("Writing Rust code to '{}'.", args.output);
std::fs::write(&args.output, &source)
.with_context(|| format!("Failed to write generated code to {}", args.output))?;
Ok(())
}