in avro/src/reader.rs [879:906]
fn from(obj: Value) -> TestSingleObjectReader {
if let Value::Record(fields) = obj {
let mut a = None;
let mut b = None;
let mut c = vec![];
for (field_name, v) in fields {
match (field_name.as_str(), v) {
("a", Value::Long(i)) => a = Some(i),
("b", Value::Double(d)) => b = Some(d),
("c", Value::Array(v)) => {
for inner_val in v {
if let Value::String(s) = inner_val {
c.push(s);
}
}
}
(key, value) => panic!("Unexpected pair: {key:?} -> {value:?}"),
}
}
TestSingleObjectReader {
a: a.unwrap(),
b: b.unwrap(),
c,
}
} else {
panic!("Expected a Value::Record but was {obj:?}")
}
}