pub struct Evaluator { /* private fields */ }Implementations§
Source§impl Evaluator
impl Evaluator
Sourcepub fn new(
context: HashMap<String, Value>,
custom_functions: HashMap<String, Arc<dyn CustomFunction>>,
) -> Self
pub fn new( context: HashMap<String, Value>, custom_functions: HashMap<String, Arc<dyn CustomFunction>>, ) -> Self
Examples found in repository?
examples/basic.rs (lines 15-20)
9fn main() -> Result<(), Box<dyn Error>> {
10 #[cfg(feature = "logging")]
11 let logger = scribe_rust::Logger::default();
12
13 let mut ctx = HashMap::new();
14 ctx.insert("x".to_string(), serde_json::Value::Number(5.into()));
15 let engine = exprimo::Evaluator::new(
16 ctx,
17 HashMap::new(), // custom_functions
18 #[cfg(feature = "logging")]
19 logger,
20 );
21
22 let result = engine.evaluate("x == 5")?;
23
24 println!("x = {}", result);
25
26 Ok(())
27}More examples
examples/payload.rs (lines 94-99)
87fn main() -> Result<(), Box<dyn Error>> {
88 #[cfg(feature = "logging")]
89 let logger = scribe_rust::Logger::default();
90
91 let mut ctx = HashMap::new();
92
93 add_context("send_email", r#"{"status": "success"}"#, &mut ctx);
94 let engine = exprimo::Evaluator::new(
95 to_json(&ctx),
96 HashMap::new(), // custom_functions
97 #[cfg(feature = "logging")]
98 logger,
99 );
100
101 let expr = r#"send_email.status === 'success' "#;
102
103 let result = engine.evaluate(expr)?;
104
105 println!("send_email.status === 'success' => {}", result);
106
107 Ok(())
108}Sourcepub fn evaluate(&self, expression: &str) -> Result<Value, EvaluationError>
pub fn evaluate(&self, expression: &str) -> Result<Value, EvaluationError>
Examples found in repository?
examples/basic.rs (line 22)
9fn main() -> Result<(), Box<dyn Error>> {
10 #[cfg(feature = "logging")]
11 let logger = scribe_rust::Logger::default();
12
13 let mut ctx = HashMap::new();
14 ctx.insert("x".to_string(), serde_json::Value::Number(5.into()));
15 let engine = exprimo::Evaluator::new(
16 ctx,
17 HashMap::new(), // custom_functions
18 #[cfg(feature = "logging")]
19 logger,
20 );
21
22 let result = engine.evaluate("x == 5")?;
23
24 println!("x = {}", result);
25
26 Ok(())
27}More examples
examples/payload.rs (line 103)
87fn main() -> Result<(), Box<dyn Error>> {
88 #[cfg(feature = "logging")]
89 let logger = scribe_rust::Logger::default();
90
91 let mut ctx = HashMap::new();
92
93 add_context("send_email", r#"{"status": "success"}"#, &mut ctx);
94 let engine = exprimo::Evaluator::new(
95 to_json(&ctx),
96 HashMap::new(), // custom_functions
97 #[cfg(feature = "logging")]
98 logger,
99 );
100
101 let expr = r#"send_email.status === 'success' "#;
102
103 let result = engine.evaluate(expr)?;
104
105 println!("send_email.status === 'success' => {}", result);
106
107 Ok(())
108}Auto Trait Implementations§
impl Freeze for Evaluator
impl !RefUnwindSafe for Evaluator
impl Send for Evaluator
impl Sync for Evaluator
impl Unpin for Evaluator
impl !UnwindSafe for Evaluator
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more