use {super::LanguageRange, cssparser::ToCss, std::fmt};
#[derive(Debug, Clone, Ord, PartialOrd, Eq, PartialEq, Hash)]
pub struct LanguageRanges(pub Vec<LanguageRange>);
impl ToCss for LanguageRanges {
fn to_css<W: fmt::Write>(&self, dest: &mut W) -> fmt::Result {
if self.0.is_empty() {
return Ok(());
}
let mut iterator = self.0.iter();
iterator.next().unwrap().to_css(dest)?;
for languageRange in iterator {
dest.write_char(',')?;
languageRange.to_css(dest)?;
}
Ok(())
}
}
impl LanguageRanges {
pub fn matches_language(&self, tag: &str) -> bool {
self.0
.iter()
.any(|languageRange| languageRange.matches_language(tag))
}
}