Skip to main content

generate_error_registry/
generate_error_registry.rs

1#![forbid(unsafe_code)]
2
3//! Prints the public error registry fixture from the semantic owner.
4
5use std::io::{self, Write};
6
7fn main() -> io::Result<()> {
8    let mut output = io::BufWriter::new(io::stdout().lock());
9    writeln!(output, "code\tcategory\trecovery_action\tfixes\tmessage")?;
10    for code in riffdb_errors::APPLICATION_ERROR_CODES {
11        let fixes = code
12            .fixes()
13            .iter()
14            .map(|fix| fix.as_str())
15            .collect::<Vec<_>>()
16            .join(",");
17        writeln!(
18            output,
19            "{}\t{}\t{}\t{}\t{}",
20            code.as_str(),
21            code.category().as_str(),
22            code.recovery_action().as_str(),
23            fixes,
24            code.safe_message()
25        )?;
26    }
27    output.flush()
28}