pub mod analyser;
pub mod buffer;
pub mod group;
pub mod indenter;
pub mod indexer;
pub mod output;
#[cfg(feature = "with_regex")]
pub mod regex;
pub mod replace;
pub mod shorten;
pub mod unstringify;
use std::any::Any;
use crate::{error, path::Path, streamer::Token};
pub use self::analyser::Analyser;
pub use self::buffer::Buffer;
pub use self::group::Group;
pub use self::indenter::Indenter;
pub use self::indexer::Indexer;
pub use self::output::Output;
#[cfg(feature = "with_regex")]
pub use self::regex::Regex;
pub use self::replace::Replace;
pub use self::shorten::Shorten;
pub use self::unstringify::Unstringify;
pub trait Handler: Send {
fn start(
&mut self,
_path: &Path,
_matcher_idx: usize,
_token: Token,
) -> Result<Option<Vec<u8>>, error::Handler> {
Ok(None)
}
fn feed(
&mut self,
_data: &[u8],
_matcher_idx: usize,
) -> Result<Option<Vec<u8>>, error::Handler> {
Ok(None)
}
fn end(
&mut self,
_path: &Path,
_matcher_idx: usize,
_token: Token,
) -> Result<Option<Vec<u8>>, error::Handler> {
Ok(None)
}
fn is_converter(&self) -> bool {
false
}
fn as_any(&self) -> &dyn Any;
}