pub struct ContextPattern<'src>(/* private fields */);
Expand description
A ContextPattern
is a pattern that matches one or more contexts.
It uses a restricted subset of the syntax used by contexts themselves: a pattern is always in dotted form and can only contain identifiers and wildcards.
Indices are not allowed in patterns themselves, although contexts
that contain indices can be matched against patterns. For example,
github.event.pull_request.assignees.*.name
will match the context
github.event.pull_request.assignees[0].name
.
Implementations§
Source§impl<'src> ContextPattern<'src>
impl<'src> ContextPattern<'src>
Sourcepub const fn new(pattern: &'src str) -> Self
pub const fn new(pattern: &'src str) -> Self
Creates a new ContextPattern
from the given string.
Panics if the pattern is invalid.
Sourcepub const fn try_new(pattern: &'src str) -> Option<Self>
pub const fn try_new(pattern: &'src str) -> Option<Self>
Creates a new ContextPattern
from the given string.
Returns None
if the pattern is invalid.
Sourcepub fn parent_of(&self, ctx: &Context<'src>) -> bool
pub fn parent_of(&self, ctx: &Context<'src>) -> bool
Returns true if the given context is a child of the pattern.
This is a loose parent-child relationship; for example, foo
is its
own parent, as well as the parent of foo.bar
and foo.bar.baz
.
Sourcepub fn matches(&self, ctx: &Context<'src>) -> bool
pub fn matches(&self, ctx: &Context<'src>) -> bool
Returns true if the given context exactly matches the pattern.
See ContextPattern
for a description of the matching rules.
Trait Implementations§
Auto Trait Implementations§
impl<'src> Freeze for ContextPattern<'src>
impl<'src> RefUnwindSafe for ContextPattern<'src>
impl<'src> Send for ContextPattern<'src>
impl<'src> Sync for ContextPattern<'src>
impl<'src> Unpin for ContextPattern<'src>
impl<'src> UnwindSafe for ContextPattern<'src>
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
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>
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>
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