aiken_lang/utils/
indexmap.rs1use 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}