///|
fn main {
let source = "{\"definitions\":{\"status\":{\"enum\":[\"pending\",\"ready\",\"failed\"]}},\"properties\":{\"id\":{\"type\":\"uint32\"},\"status\":{\"ref\":\"status\"}},\"optionalProperties\":{\"message\":{\"type\":\"string\"}}}"
let document = match @jtd.parse_checked_schema(source) {
Ok(value) => value
Err(errors) => {
for error in errors {
println(error.to_string())
}
return
}
}
println(@jtd.schema_report_markdown(document))
match @jtd.generate_moonbit_types(document, root_name="Job") {
Ok(generated) => {
println("\nGenerated MoonBit:\n")
println(generated)
}
Err(@jtd.CodegenDiagnostic(error)) => println(error.to_string())
}
}