credence_lib/util/
compris.rs

1use {::compris::normal::*, kutil::http::*, std::cmp::*};
2
3/// Compare [Variant] as lowercase.
4pub fn cmp_variant_lowercase<AnnotatedT>(a: &Variant<AnnotatedT>, b: &Variant<AnnotatedT>) -> Ordering {
5    if let Variant::Text(a) = a
6        && let Variant::Text(b) = b
7    {
8        return a.inner.to_lowercase().cmp(&b.inner.to_lowercase());
9    }
10
11    a.cmp(b)
12}
13
14/// [QueryMap] to [Variant].
15pub fn query_map_to_variant<AnnotatedT>(query: &QueryMap) -> Variant<AnnotatedT>
16where
17    AnnotatedT: Default,
18{
19    query
20        .into_iter()
21        .map(|(key, values)| {
22            (key.clone().into(), values.into_iter().map(|value| Variant::from(value.clone())).collect())
23        })
24        .collect()
25}