aiken_lang/utils/
indexmap.rs

1use indexmap::IndexMap;
2use std::{collections::HashMap, hash::Hash};
3
4pub fn as_ref_values<'a, K, V>(iter: &'a IndexMap<K, V>) -> IndexMap<&'a K, &'a V>
5where
6    K: Eq + Hash + Clone + 'a,
7{
8    let mut refs = IndexMap::new();
9    for (k, v) in iter {
10        refs.insert(k, v);
11    }
12    refs
13}
14
15pub fn as_str_ref_values<V>(iter: &'_ HashMap<String, V>) -> IndexMap<&'_ str, &'_ V> {
16    let mut refs = IndexMap::new();
17    for (k, v) in iter {
18        refs.insert(k.as_str(), v);
19    }
20    refs
21}