1 个不稳定版本
0.1.0 | 2023年3月9日 |
---|
#57 in #规则
120KB
460 代码行
策略引擎
策略引擎允许动态评估和执行用简单表达式语言编写的规则。
注意:此项目仍在开发中。
示例
extern crate policyengine;
use policyengine::services::Policy;
fn main() {
let user_policy = "metric_a >= 100 && metric_b = 123";
let mut policy = Policy::new();
policy.predicate.rule = user_policy.to_string();
let user_metric = "metric_a = 456 && metric_b = 123";
policy.predicate.expression = user_metric.to_string();
policy.action.on_success.path = "/path/to/success".to_string();
policy.action.on_failure.path = "/path/to/failure".to_string();
policy.run(); //returns true
}
更多示例请参阅 示例。
当前支持的运算符
>
, <
, >=
, <=
, ==
, !=
lib.rs
:
策略引擎允许动态评估和执行策略,简单易用。
目前,该库包含一个解析器。
依赖项
~2.3–8MB
~49K SLoC