use indexmap::{indexset, IndexSet}; use nu_protocol::Value; pub fn merge_descriptors(values: &[Value]) -> Vec { let mut ret: Vec = vec![]; let mut seen: IndexSet = indexset! {}; for value in values { let data_descriptors = match value { Value::Record { val, .. } => val.columns().cloned().collect(), _ => vec!["".to_string()], }; for desc in data_descriptors { if !desc.is_empty() && !seen.contains(&desc) { seen.insert(desc.to_string()); ret.push(desc.to_string()); } } } ret }