use std::sync::Arc; use crate::{error::RuntimeError, event::Event}; pub mod globset; pub mod tagged; pub trait Filterer: std::fmt::Debug + Send + Sync { fn check_event(&self, event: &Event) -> Result; } impl Filterer for () { fn check_event(&self, _event: &Event) -> Result { Ok(true) } } impl Filterer for Arc { fn check_event(&self, event: &Event) -> Result { Arc::as_ref(self).check_event(event) } }