///|
pub fn format_finding(finding : Finding) -> String {
"[\{finding.severity}] \{finding.rule} violated: \{finding.path.join(" -> ")} | \{finding.message} | suggestion=\{finding.suggestion}"
}
///|
pub fn format_report(findings : Array[Finding]) -> String {
let out = StringBuilder()
out.write_string("findings=\{findings.length()}")
for finding in findings {
out.write_char('\n')
out.write_string(format_finding(finding))
}
out.to_string()
}
///|
pub fn format_report_json(findings : Array[Finding]) -> String {
findings.to_json().stringify(indent=2)
}