///|
pub fn issues_json(issues : Array[CanonicalIssue]) -> String {
let mut output = "["
let mut first = true
for issue in issues {
if !first {
output = output + ","
}
first = false
output = output +
"{\"path\":" +
canonical_string(issue.path) +
",\"kind\":" +
canonical_string(issue.kind.to_string()) +
",\"source\":" +
canonical_string(issue.source) +
",\"canonical\":" +
canonical_string(issue.canonical) +
"}"
}
output + "]"
}
///|
pub fn diffs_json(differences : Array[JsonDiff]) -> String {
let mut output = "["
let mut first = true
for difference in differences {
if !first {
output = output + ","
}
first = false
let left = match difference.left {
Some(value) => value
None => "null"
}
let right = match difference.right {
Some(value) => value
None => "null"
}
output = output +
"{\"path\":" +
canonical_string(difference.path) +
",\"kind\":" +
canonical_string(difference.kind.to_string()) +
",\"left\":" +
left +
",\"right\":" +
right +
"}"
}
output + "]"
}