mittens-query 0.6.0

CSS and Meow Meow query parsers and a host-neutral tree evaluator
Documentation
#[derive(Debug, Clone, PartialEq, Eq, Default)]
pub struct QueryAst {
    pub selector_groups: Vec<SelectorSequence>,
}

#[derive(Debug, Clone, PartialEq, Eq, Default)]
pub struct SelectorSequence {
    pub segments: Vec<SelectorSegment>,
}

#[derive(Debug, Clone, PartialEq, Eq)]
pub struct SelectorSegment {
    pub combinator: Option<Combinator>,
    pub compound: CompoundSelector,
}

#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum Combinator {
    Descendant,
    Child,
}

#[derive(Debug, Clone, PartialEq, Eq, Default)]
pub struct CompoundSelector {
    pub simple_selectors: Vec<SimpleSelector>,
}

#[derive(Debug, Clone, PartialEq, Eq)]
pub enum SimpleSelector {
    Universal,
    Type(String),
    Id(String),
    Guid(String),
    Name(String),
    Class(String),
    Attribute(AttributeSelector),
}

#[derive(Debug, Clone, PartialEq, Eq)]
pub struct AttributeSelector {
    pub name: String,
    pub value: Option<String>,
}