12 releases (6 breaking)
0.6.0 | May 5, 2020 |
---|---|
0.5.3 | Apr 28, 2020 |
0.4.1 | Apr 26, 2020 |
0.3.0 | Apr 14, 2020 |
0.0.2 | Mar 18, 2019 |
#11 in #eval
841 downloads per month
Used in 8 crates
(via yarte_hir)
75KB
1.5K
SLoC
v_eval
Expression evaluator with context
use v_eval::{Value, Eval};
fn main() -> Result<(), ()> {
let e = Eval::default()
.insert("foo", "true")?
.insert("bar", "false")?;
assert_eq!(e.eval("foo != bar").unwrap(), Value::Bool(true));
assert_eq!(
e.eval("true && foo != bar && true").unwrap(),
Value::Bool(true)
);
assert_eq!(e.eval("1 == 1 != bar").unwrap(), Value::Bool(true));
assert_eq!(e.eval("1 == 1 + 1 == bar").unwrap(), Value::Bool(true));
Ok(())
}
Contributing
Please, contribute to v_eval! The more the better! Feel free to to open an issue and/or contacting directly with the owner for any request or suggestion.
Code of conduct
This Code of Conduct is adapted from the Contributor Covenant, version 1.4, available at http://contributor-covenant.org/version/1/4
License
This project is distributed under the terms of both the Apache License (Version 2.0) and the MIT license, specified in LICENSE-APACHE and LICENSE-MIT respectively.
Dependencies
~3.5–4.5MB
~90K SLoC