use verit::{codegen, Dt, SchemaBuilder};
fn main() {
let schema = SchemaBuilder::new()
.add_dense_struct("Point", vec![(1, "x", Dt::F64), (2, "y", Dt::F64)])
.add_struct(
"LogEvent",
vec![
(1, "service", Dt::Str),
(2, "level", Dt::U32),
(3, "message", Dt::Str),
(4, "latency_us", Dt::U32),
(5, "points", Dt::list(Dt::named("Point"))),
(6, "codes", Dt::list(Dt::U32)),
],
)
.build("LogEvent")
.unwrap();
let code = codegen::generate_rust(&schema).unwrap();
let out = concat!(env!("CARGO_MANIFEST_DIR"), "/examples/bench/verit_gen.rs");
std::fs::write(out, &code).unwrap();
println!(
"wrote {out} ({} lines, schema id {:#034x})",
code.lines().count(),
schema.id()
);
}