use crate::expr::Expr;
#[derive(Debug, Clone, PartialEq)]
pub struct Rule {
pub(super) name: String,
description: Option<String>,
expr: Expr,
}
impl Rule {
pub fn new(
name: impl Into<String>,
description: impl Into<Option<String>>,
expr: Expr,
) -> Self {
Self {
name: name.into(),
description: description.into(),
expr,
}
}
pub fn name(&self) -> &str {
&self.name
}
pub fn description(&self) -> Option<&str> {
self.description.as_deref()
}
pub fn expr(&self) -> &Expr {
&self.expr
}
}