credence_lib/render/catalog/
columns.rs1use {
2 compris::{annotate::*, normal::*},
3 kutil::std::collections::*,
4};
5
6pub type ExtraColumns<'own> = FastHashMap<&'own str, RefTraversal<'own, WithAnnotations>>;
12
13pub fn flatten_columns(columns: Option<&Map<WithAnnotations>>) -> ExtraColumns<'_> {
15 let mut flat_columns = FastHashMap::<&str, _>::default();
16
17 if let Some(columns) = columns {
18 for (key, value) in columns {
19 if let Variant::Text(key) = key
20 && let Some(value_path) = to_ref_traversal(value)
21 {
22 flat_columns.insert(key.into(), value_path);
23 }
24 }
25 }
26
27 flat_columns
28}