in ingester/src/main.rs [73:97]
fn toml_merge(target: &mut toml::Value, from: toml::Value) {
use toml::Value::*;
if from.same_type(target) {
match from {
Array(a) => {
target.as_array_mut().unwrap().extend(a);
return;
}
Table(t) => {
let target = target.as_table_mut().unwrap();
for (k, v) in t {
match target.entry(k) {
toml::map::Entry::Vacant(e) => {
e.insert(v);
}
toml::map::Entry::Occupied(e) => toml_merge(e.into_mut(), v),
}
}
return;
}
_ => (),
}
}
*target = from;
}