#expression-evaluator #condition #evaluator

eval-utility

Wrapper function of the evaluator crate. Provides python-like built-in functions.

2 unstable releases

Uses new Rust 2024

0.2.2 May 16, 2025
0.1.5 Oct 4, 2022
0.1.4 Sep 19, 2022
0.1.3 Jul 26, 2022

#864 in Concurrency

Download history

384 downloads per month

GPL-3.0-only

34KB
710 lines

Eval Utility

About

Wrapper function of the resolver crate. Provides python-like built-in functions.

Install

Add the following line to your Cargo.toml file (under [dependencies]):

eval-utility = "0.2"

Example

See test cases in lib.rs for more examples.

use eval_utility::eval_wrapper::{EvalConfig, ExprWrapper};

fn main() {
    let expression = "float('42.42') == 42.42";
    let expected = true;


    let mut expr = ExprWrapper::new(expression)
        // .config(Default::default())
        .config(EvalConfig { // same as Default::default() ^
            include_maths: true,
            include_regex: true,
            include_datetime: true,
            include_cast: true,
        })
        .init();

    match expr.exec() {
        Ok(value) => {
            assert_eq!(value, expected);
        }
        Err(err) => {
            panic!("err={err:?}");
        }
    };
    // ...
}

Dependencies

~14MB
~187K SLoC