in src/serialization.rs [462:502]
fn visit_table_mut(&mut self, node: &mut toml_edit::Table) {
// Hide unnecessary implicit table headers for tables containing
// only other tables. We don't do this for empty tables as otherwise
// they could be hidden.
if !node.is_empty() {
node.set_implicit(true);
}
let is_publisher_entry = node.get("user-login").is_some();
for (k, v) in node.iter_mut() {
if !table_should_be_inline(&k, v) {
// Try to convert the value into either a table or an array of
// tables if it is currently an inline table or inline array of
// tables.
*v = std::mem::take(v)
.into_table()
.map(toml_edit::Item::Table)
.unwrap_or_else(|i| i)
.into_array_of_tables()
.map(toml_edit::Item::ArrayOfTables)
.unwrap_or_else(|i| i);
}
// If we didn't convert the array into an array of tables above,
// check if it would be too long and wrap it onto multiple lines
// if it would.
if v.is_array() && inline_length(&k, v) > ARRAY_WRAP_THRESHOLD {
let array = v.as_array_mut().unwrap();
for item in array.iter_mut() {
item.decor_mut().set_prefix("\n ");
}
array.set_trailing("\n");
array.set_trailing_comma(true);
}
if k == "user-id" && !is_publisher_entry {
self.add_user_login_comments(v);
}
self.visit_item_mut(v);
}
}