Struct ContextPattern

Source
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>

Source

pub const fn new(pattern: &'src str) -> Self

Creates a new ContextPattern from the given string.

Panics if the pattern is invalid.

Source

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.

Source

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.

Source

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§

Source§

impl<'src> TryFrom<&'src str> for ContextPattern<'src>

Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

fn try_from(val: &'src str) -> Result<Self>

Performs the conversion.

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> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.