use crate::rules::rule::Rule;
use thiserror::Error;
pub trait RuleSetProvider {
fn load_rules(&self) -> Result<Vec<Rule>, RuleLoadError>;
}
#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
pub struct EmptyRuleSetProvider;
impl RuleSetProvider for EmptyRuleSetProvider {
fn load_rules(&self) -> Result<Vec<Rule>, RuleLoadError> {
Ok(Vec::new())
}
}
#[derive(Debug, Error, Eq, PartialEq)]
pub enum RuleLoadError {
#[error("rule loading is not implemented")]
NotImplemented,
}