use reval::prelude::*;
use serde::Serialize;
#[tokio::main]
async fn main() {
#[derive(Serialize)]
struct Data {
age: u16,
}
let rule = r#"
{
"name": "age check",
"expr": {
"gte": [
{"ref": "age"},
{"int": 21}
]
}
}"#;
let ruleset = ruleset().with_rule(Rule::parse_json(rule).unwrap()).build();
let facts = Data { age: 16 };
assert_eq!(ruleset.evaluate(&facts).await.unwrap(), vec![false.into()]);
}