///|
fn main {
let value = @moonbin.BinValue::Object([
("name", @moonbin.BinValue::String("moonbin")),
("version", @moonbin.BinValue::Int(1)),
(
"features",
@moonbin.BinValue::Array([
@moonbin.BinValue::String("encode"),
@moonbin.BinValue::String("decode"),
]),
),
])
let bytes = @moonbin.encode(value)
println("encoded byte length: \{bytes.length()}")
match @moonbin.decode(bytes) {
Ok(decoded) => println("decoded value kind: \{decoded.kind()}")
Err(error) => println("decode failed: \{error.message()}")
}
}