From 4eec0039390d5eb3e1fc1d6bb447bf5f881b7aa2 Mon Sep 17 00:00:00 2001 From: Glint Dev Date: Wed, 22 Jul 2026 13:40:04 +0300 Subject: [PATCH] feat: add FlatVDom types and evaluate_vdom_flat helper --- src/interpreter/mod.rs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/interpreter/mod.rs b/src/interpreter/mod.rs index 4cf2140..c432a89 100644 --- a/src/interpreter/mod.rs +++ b/src/interpreter/mod.rs @@ -18,7 +18,7 @@ use reader::Reader; use rhei::RHEI_PREFIX; use style::{AncestorInfo, ComputedStyle, StructuralContext}; pub use types::Value; -use types::{FlatVDom, VNode}; +use types::FlatVDom; use std::collections::{HashMap, HashSet}; pub struct Interpreter; @@ -334,6 +334,18 @@ impl Interpreter { Self::evaluate_vdom_incr(&refs, variables, components, rhei, stylesheet, ancestors, &HashSet::new()) } + pub fn evaluate_vdom_flat<'a>( + templates: &[Element<'a>], + variables: &mut HashMap, + components: &HashMap>, + rhei: &RheiContext, + stylesheet: &SS, + ancestors: &[AncestorInfo], +) -> FlatVDom<'a> { + let elements = Self::evaluate_vdom(templates, variables, components, rhei, stylesheet, ancestors); + FlatVDom::from_elements(&elements) + } + pub fn evaluate_vdom_incr<'a>( templates: &[&Element<'a>], variables: &mut HashMap,