Flatten records. Not thoroughly tested though (#845)

This commit is contained in:
Stefan Stanciulescu 2022-01-25 13:07:37 +01:00 committed by GitHub
parent 69954a362d
commit f4c0538653
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -166,10 +166,18 @@ fn flat_value(columns: &[CellPath], item: &Value, _name_tag: Span) -> Vec<Value>
}
pairs
};
for (column, value) in records_iterator {
let column_requested = columns.iter().find(|c| c.into_string() == *column);
match value {
Value::Record {
cols,
vals,
span: _,
} => cols.iter().enumerate().for_each(|(idx, column)| {
out.insert(column.to_string(), vals[idx].clone());
}),
Value::List { vals, span: _ } if vals.iter().all(|f| f.as_record().is_ok()) => {
let mut cs = vec![];
let mut vs = vec![];