pub enum Selector {
Expr(Expr),
Step(Key),
}Expand description
AST nodes representing selector expressions
Variants§
Expr(Expr)
A conjunction or disjunction selector expression
Step(Key)
A single-step primitive selector expression
Trait Implementations§
Source§impl TryFrom<Pair<'_, Rule>> for Selector
This builds a chain of selector_components left-associatively, so the resulting expression
is initially nested from the left. It then flattens them to make things a bit more
consistent.
impl TryFrom<Pair<'_, Rule>> for Selector
This builds a chain of selector_components left-associatively, so the resulting expression is initially nested from the left. It then flattens them to make things a bit more consistent.
Examples:
a.b->a.b(a.b a.c), c.d->OR!(AND!(a.b, a.c), c.d)c.d, (a.b a.c)->OR!(c.d, AND!(a.b, a.c))a.b a.c a.d a.e->AND!(AND!(AND!(a.b, a.c), a.d), a.e)->AND!(a.b, a.c, a.d, a.e)
impl Eq for Selector
impl StructuralPartialEq for Selector
Auto Trait Implementations§
impl Freeze for Selector
impl RefUnwindSafe for Selector
impl Send for Selector
impl Sync for Selector
impl Unpin for Selector
impl UnwindSafe for Selector
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more