use super::super::super::std::immutable::*;
use std::collections::*;
pub type QueryMap = BTreeMap<ImmutableString, BTreeSet<ImmutableString>>;
pub trait QueryMapUtilities {
fn get_single(&self, key: &str) -> Option<&ImmutableString>;
fn get_single_as_ref(&self, key: &str) -> Option<&str> {
self.get_single(key).map(|value| value.as_ref())
}
}
impl QueryMapUtilities for QueryMap {
fn get_single(&self, key: &str) -> Option<&ImmutableString> {
let values = self.get(key)?;
match values.len() {
1 => values.first(),
_ => None,
}
}
}