trs_dataframe/filter/error.rs
1use thiserror::Error;
2
3use crate::filter::Rule;
4
5#[derive(Error, Debug)]
6pub enum Error {
7 #[error("Failed to parse rule: {0:?}")]
8 Pest(Box<pest::error::Error<Rule>>),
9 #[error("{0}")]
10 Parser(String),
11 #[error("{0}")]
12 Regex(#[from] regex::Error),
13 #[error("{0}")]
14 Unknown(String),
15}
16
17pub fn parser_error<S: AsRef<str>>(cause: S) -> Error {
18 let message = format!("Failed to parse Path: {}", cause.as_ref());
19 Error::Parser(message)
20}