#[non_exhaustive]pub enum BracketSelector {
Union(Vec<UnionComponent>),
StepRange(StepRange),
Range(Range),
Wildcard(Star),
Parent(Caret),
Path(SubPath),
Filter(Filter),
Literal(BracketLit),
}
Expand description
The inside of a bracket selector segment
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Union(Vec<UnionComponent>)
A union of multiple selectors, [1, 3, 9]
StepRange(StepRange)
A range selector with explicit step, [1:5:2]
Range(Range)
A range selector with implicit step, [2:8]
Wildcard(Star)
A wildcard selector to get all children, [*]
Parent(Caret)
A parent selector to retrieve the parent of the matched item, [^]
Path(SubPath)
A sub-path selector to retrieve keys from a matched path, [$.foo.bar]
Filter(Filter)
A filter selector to retrieve items matching a predicate, [?(expr)]
Literal(BracketLit)
A literal selector to retrieve the mentioned keys, [6]
or ['qux']
Trait Implementations§
Source§impl Spanned for BracketSelector
Available on crate feature spanned
only.
impl Spanned for BracketSelector
Available on crate feature
spanned
only.Source§impl TryFrom<BracketSelector> for UnionComponent
impl TryFrom<BracketSelector> for UnionComponent
Auto Trait Implementations§
impl Freeze for BracketSelector
impl RefUnwindSafe for BracketSelector
impl Send for BracketSelector
impl Sync for BracketSelector
impl Unpin for BracketSelector
impl UnwindSafe for BracketSelector
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> 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