feat: return data early if mutations is empty

This commit is contained in:
Byson94
2026-01-01 12:55:40 +05:30
parent c41a495ee0
commit 33ef1720e3

View File

@@ -181,16 +181,6 @@ pub fn handle_localsignal_changes(
let original = value.to_string();
let mut current = original.clone();
let parser_rc = parser.borrow_mut();
let compiled_ast = match ast.as_ref() {
Some(rc) => rc.borrow(),
None => {
log::warn!("No compiled AST available");
signal.data.set_value(&current);
return;
}
};
let mutations: Vec<rhai::FnPtr> = match signal.props.get("mutations") {
Some(v) => {
if let Ok(arr) = v.as_array_ref() {
@@ -210,6 +200,21 @@ pub fn handle_localsignal_changes(
None => Vec::new(),
};
if mutations.is_empty() {
signal.data.set_value(&current);
return;
}
let parser_rc = parser.borrow_mut();
let compiled_ast = match ast.as_ref() {
Some(rc) => rc.borrow(),
None => {
log::warn!("No compiled AST available");
signal.data.set_value(&current);
return;
}
};
for mutation in mutations {
match mutation.call::<String>(&parser_rc.engine, &compiled_ast, (current.clone(),)) {
Ok(v) => {