pub struct Engine { /* private fields */ }Expand description
A live script engine: state in scope, script functions in funcs.
Implementations§
Source§impl Engine
impl Engine
Sourcepub fn eval_value(
&mut self,
src: &str,
locals: &[(String, Value)],
) -> Option<Value>
pub fn eval_value( &mut self, src: &str, locals: &[(String, Value)], ) -> Option<Value>
Evaluate an expression to a Value.
Sourcepub fn eval_display(&mut self, src: &str, locals: &[(String, Value)]) -> String
pub fn eval_display(&mut self, src: &str, locals: &[(String, Value)]) -> String
Evaluate a {{ }} binding to its display string (empty on error).
Sourcepub fn eval_bool(&mut self, src: &str, locals: &[(String, Value)]) -> bool
pub fn eval_bool(&mut self, src: &str, locals: &[(String, Value)]) -> bool
Evaluate a condition (r-if / r-elif / r-show).
Sourcepub fn run_handler(&mut self, src: &str) -> bool
pub fn run_handler(&mut self, src: &str) -> bool
Run an @tap handler (statements or a function call). Returns whether it
ran without error (assumed to have changed state).
Sourcepub fn eval_value_tracked(
&mut self,
src: &str,
locals: &[(String, Value)],
) -> (Option<Value>, HashSet<String>)
pub fn eval_value_tracked( &mut self, src: &str, locals: &[(String, Value)], ) -> (Option<Value>, HashSet<String>)
Evaluate an expression and report which signals it read, the binding’s dependency set. Only top-level signal names are returned; loop-locals and function parameters are filtered out. This is the read half of fine-grained reactivity: a binding subscribes to exactly the signals it touches.
Sourcepub fn eval_display_tracked(
&mut self,
src: &str,
locals: &[(String, Value)],
) -> (String, HashSet<String>)
pub fn eval_display_tracked( &mut self, src: &str, locals: &[(String, Value)], ) -> (String, HashSet<String>)
Evaluate a {{ }} binding to its display string and report its signal
deps (the tracked twin of eval_display).
Sourcepub fn eval_bool_tracked(
&mut self,
src: &str,
locals: &[(String, Value)],
) -> (bool, HashSet<String>)
pub fn eval_bool_tracked( &mut self, src: &str, locals: &[(String, Value)], ) -> (bool, HashSet<String>)
Evaluate a condition and report its signal deps (the tracked twin of
eval_bool).
Sourcepub fn run_handler_tracked(&mut self, src: &str) -> HashSet<String>
pub fn run_handler_tracked(&mut self, src: &str) -> HashSet<String>
Run an @tap handler and report which signals it changed, the write
half. Detected by diffing the signal values across the run, so it needs no
cooperation from the handler source (which is arbitrary rhai). Returns an
empty set if the handler errored or changed nothing.
Sourcepub fn get_string(&mut self, name: &str) -> String
pub fn get_string(&mut self, name: &str) -> String
Read a signal’s current value as a display string (for input r-model).
Sourcepub fn set_string(&mut self, name: &str, value: &str)
pub fn set_string(&mut self, name: &str, value: &str)
Set a signal to a string value (from input editing).