///|
pub fn value_kind_name(value : JsonValue) -> String {
value_kind(value)
}
///|
pub fn is_container(value : JsonValue) -> Bool {
match value {
Array(_) | Object(_) => true
_ => false
}
}
///|
pub fn child_count(value : JsonValue) -> Int {
match value {
Array(values) => values.length()
Object(entries) => entries.length()
_ => 0
}
}
///|
pub fn canonical_size(value : JsonValue) -> Result[Int, CanonicalError] {
canonical_byte_length(value)
}
///|
pub fn canonicalize_many(
inputs : Array[String],
) -> Result[Array[String], String] {
let outputs : Array[String] = []
for input in inputs {
match canonicalize_json(input) {
Ok(output) => outputs.push(output)
Err(error) => return Err(error)
}
}
Ok(outputs)
}
///|
pub fn canonicalize_many_text(inputs : Array[String]) -> String {
match canonicalize_many(inputs) {
Ok(outputs) => {
let mut output = ""
for item in outputs {
if output != "" {
output = output + "\n"
}
output = output + item
}
output
}
Err(error) => "error: " + error
}
}