From 1cf07a75f7fc2492e03ce11debd385ea957facd5 Mon Sep 17 00:00:00 2001 From: Codex Bot Date: Sat, 24 Oct 2026 02:19:57 +0800 Subject: [PATCH] style: format precise property binding integration --- src/binding.rs | 16 ++++++++++------ src/endor_host.rs | 34 +++++++++++++++++++++++++++------- src/ui_bridge.rs | 8 ++++++-- 3 files changed, 43 insertions(+), 15 deletions(-) diff --git a/src/binding.rs b/src/binding.rs index f01a56c..6d18c8e 100644 --- a/src/binding.rs +++ b/src/binding.rs @@ -144,11 +144,13 @@ pub fn refresh( .map_err(|_| anyhow::anyhow!("binding cache poisoned"))? .clone(); if cached.as_ref().is_some_and(|cached| { - cached.reads.iter().all(|read| { - vm.object_store().read_dependency_valid(read) - }) && vm - .get_attr(target, &binding.field) - .is_ok_and(|value| value == cached.output) + cached + .reads + .iter() + .all(|read| vm.object_store().read_dependency_valid(read)) + && vm + .get_attr(target, &binding.field) + .is_ok_and(|value| value == cached.output) }) { continue; } @@ -168,7 +170,9 @@ pub fn refresh( ) .map_err(|error| crate::endor_host::runtime_error(vm, error))?; let applied: Result<()> = (|| { - let reads = reads.dependencies.into_iter() + let reads = reads + .dependencies + .into_iter() .filter(|read| !host_desktops.contains(&read.object())) .collect(); let (_, data) = block::resolve(vm.object_store(), target)?; diff --git a/src/endor_host.rs b/src/endor_host.rs index 0ab53ef..d43c753 100644 --- a/src/endor_host.rs +++ b/src/endor_host.rs @@ -6187,22 +6187,42 @@ rect.bind("width",readWidth) hidden.bind("width",readWidth) page = Page() page.render(rect) -"#, "app.main", 903, 1, - ).unwrap(); +"#, + "app.main", + 903, + 1, + ) + .unwrap(); let count = |session: &mut ReplSession| { - session.execute("ui.stats().bindingEvaluations", "app.main").unwrap().value - .parse::().unwrap() + session + .execute("ui.stats().bindingEvaluations", "app.main") + .unwrap() + .value + .parse::() + .unwrap() }; let baseline = count(&mut session); assert_eq!(baseline, 2); - assert!(session.execute("42", "app.main").unwrap().document.is_none()); + assert!( + session + .execute("42", "app.main") + .unwrap() + .document + .is_none() + ); assert_eq!(count(&mut session), baseline); session.execute("size = 120", "app.main").unwrap(); assert_eq!(count(&mut session), baseline + 2); - assert_eq!(session.execute("hidden.width", "app.main").unwrap().value, "120"); + assert_eq!( + session.execute("hidden.width", "app.main").unwrap().value, + "120" + ); session.execute("rect.width = 200", "app.main").unwrap(); assert_eq!(count(&mut session), baseline + 3); - assert_eq!(session.execute("rect.width", "app.main").unwrap().value, "120"); + assert_eq!( + session.execute("rect.width", "app.main").unwrap().value, + "120" + ); assert_eq!(count(&mut session), baseline + 3); } diff --git a/src/ui_bridge.rs b/src/ui_bridge.rs index 076f7a2..678009b 100644 --- a/src/ui_bridge.rs +++ b/src/ui_bridge.rs @@ -2474,12 +2474,16 @@ impl UiBridge { } pub fn refresh_bindings(&self, vm: &mut Vm) -> Result<()> { let (nodes, desktops) = { - let state = self.session.lock() + let state = self + .session + .lock() .map_err(|_| anyhow::anyhow!("UI session poisoned"))?; (state.nodes.clone(), state.host_desktops()) }; let evaluated = crate::binding::refresh(vm, &nodes, &desktops)?; - let mut state = self.session.lock() + let mut state = self + .session + .lock() .map_err(|_| anyhow::anyhow!("UI session poisoned"))?; state.binding_evaluations = state.binding_evaluations.saturating_add(evaluated); Ok(())