1use thiserror::Error;
2
3pub type RuleEngineResult<T> = Result<T, RuleEngineError>;
4
5#[derive(Debug, Error, Clone, PartialEq, Eq)]
6pub enum RuleEngineError {
7 #[error("Error parsing rule: {0}")]
8 InvalidRule(String),
9
10 #[error("Error parsing context: {0}")]
11 InvalidContext(String),
12
13 #[error("json-logic evaluation error: {0}")]
14 Evaluation(String),
15
16 #[error("Numeric coercion error: {0}")]
17 NumericCoercion(String),
18
19 #[error("Serialization error: {0}")]
20 Serialization(String),
21}