
Devel::Events::Filter - A handler role that filters events and delegates to another.

package MyFilter;
use Moose;
with qw/Devel::Events::Filter/;
sub filter_event {
my ( $self, @event ) = @_;
return (map { ... } @event);
}

This role allows you to build event filters easily:

To use this role you must provide the filter_event method.
This role provides an optional handler attribute and a new_event method, and does the Devel::Events::Handler role implicitly.
If a sub handler was provided then the filtered event will be delegated to it, but due to the usefulness of filters as debugging aids this is currently optional.
In the future this design choice might change.

A Devel::Events::Handler to delegate to.

Filters the event through filter_event.
If handler is set, delegates the filtered event to the handler. If not no_handler_error is called instead.
This method is called if no handler is present. It is a stub, but in the future it may raise an error.

Devel::Events, Devel::Events::Handler, Devel::Events::Filter::Stamp, Devel::Events::Filter::Warn