pub struct Predicate<P, PI, H, HI> { /* private fields */ }
Expand description
Decorates a handler with a predicate, allowing control over whether the handler should run.
The predicate must return a PredicateResult
.
Implementations§
Trait Implementations§
source§impl<P, PI, H, HI> Handler<(PI, HI)> for Predicate<P, PI, H, HI>where
P: Handler<PI> + Sync + 'static,
P::Output: Into<PredicateResult>,
PI: TryFromInput + Sync + 'static,
PI::Error: 'static,
H: Handler<HI> + Sync + 'static,
H::Output: IntoHandlerResult,
HI: TryFromInput + Sync + 'static,
HI::Error: 'static,
impl<P, PI, H, HI> Handler<(PI, HI)> for Predicate<P, PI, H, HI>where
P: Handler<PI> + Sync + 'static,
P::Output: Into<PredicateResult>,
PI: TryFromInput + Sync + 'static,
PI::Error: 'static,
H: Handler<HI> + Sync + 'static,
H::Output: IntoHandlerResult,
HI: TryFromInput + Sync + 'static,
HI::Error: 'static,
Auto Trait Implementations§
impl<P, PI, H, HI> Freeze for Predicate<P, PI, H, HI>
impl<P, PI, H, HI> RefUnwindSafe for Predicate<P, PI, H, HI>
impl<P, PI, H, HI> Send for Predicate<P, PI, H, HI>
impl<P, PI, H, HI> Sync for Predicate<P, PI, H, HI>
impl<P, PI, H, HI> Unpin for Predicate<P, PI, H, HI>
impl<P, PI, H, HI> UnwindSafe for Predicate<P, PI, H, HI>
Blanket Implementations§
source§impl<P, H, HI> AccessExt<P, HI> for Hwhere
H: Handler<HI>,
HI: TryFromInput,
impl<P, H, HI> AccessExt<P, HI> for Hwhere
H: Handler<HI>,
HI: TryFromInput,
source§fn with_access_policy(
self,
policy: P
) -> Predicate<AccessPredicate<P>, HandlerInput, Self, HI>
fn with_access_policy( self, policy: P ) -> Predicate<AccessPredicate<P>, HandlerInput, Self, HI>
Available on crate feature
access
only.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<H, I> CommandExt<I> for Hwhere
H: Handler<I>,
I: TryFromInput,
impl<H, I> CommandExt<I> for Hwhere
H: Handler<I>,
I: TryFromInput,
source§fn with_command<S: Into<String>>(
self,
name: S
) -> Predicate<CommandPredicate, Command, Self, I>
fn with_command<S: Into<String>>( self, name: S ) -> Predicate<CommandPredicate, Command, Self, I>
Shortcut to create a command handler. Read more
source§impl<P, PI, H, HI, HS> DialogueExt<P, PI, HI, HS> for H
impl<P, PI, H, HI, HS> DialogueExt<P, PI, HI, HS> for H
source§fn with_dialogue<B>(
self,
predicate: P
) -> Predicate<DialoguePredicate<B, P, PI, HS>, HandlerInput, DialogueDecorator<B, Self, HI, HS>, HandlerInput>
fn with_dialogue<B>( self, predicate: P ) -> Predicate<DialoguePredicate<B, P, PI, HS>, HandlerInput, DialogueDecorator<B, Self, HI, HS>, HandlerInput>
Available on crate feature
dialogue
only.source§impl<E, H, HI> ErrorExt<E, HI> for Hwhere
H: Handler<HI>,
HI: TryFromInput,
impl<E, H, HI> ErrorExt<E, HI> for Hwhere
H: Handler<HI>,
HI: TryFromInput,
source§fn on_error(self, error_handler: E) -> ErrorDecorator<E, Self, HI>
fn on_error(self, error_handler: E) -> ErrorDecorator<E, Self, HI>
A shortcut to create a new error decorator. Read more
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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