#[derive(Debug, thiserror::Error)]
#[non_exhaustive]
pub enum RecognizerError {
#[error("invalid regex: {0}")]
InvalidRegex(#[source] regex::Error),
#[error("unsupported validator: {kind}")]
UnsupportedValidator {
kind: String,
},
#[error("unsupported normalizer: {kind}")]
UnsupportedNormalizer {
kind: String,
},
}
pub type Result<T> = std::result::Result<T, RecognizerError>;
impl From<gaze_types::ValidatorKindParseError> for RecognizerError {
fn from(value: gaze_types::ValidatorKindParseError) -> Self {
match value {
gaze_types::ValidatorKindParseError::UnsupportedValidator { kind } => {
RecognizerError::UnsupportedValidator { kind }
}
_ => RecognizerError::UnsupportedValidator {
kind: value.to_string(),
},
}
}
}