feat: add FlatVDom types and evaluate_vdom_flat helper

This commit is contained in:
Glint Dev
2026-07-22 13:40:04 +03:00
parent a798e966f3
commit 4eec003939

View File

@@ -18,7 +18,7 @@ use reader::Reader;
use rhei::RHEI_PREFIX; use rhei::RHEI_PREFIX;
use style::{AncestorInfo, ComputedStyle, StructuralContext}; use style::{AncestorInfo, ComputedStyle, StructuralContext};
pub use types::Value; pub use types::Value;
use types::{FlatVDom, VNode}; use types::FlatVDom;
use std::collections::{HashMap, HashSet}; use std::collections::{HashMap, HashSet};
pub struct Interpreter; pub struct Interpreter;
@@ -334,6 +334,18 @@ impl Interpreter {
Self::evaluate_vdom_incr(&refs, variables, components, rhei, stylesheet, ancestors, &HashSet::new()) Self::evaluate_vdom_incr(&refs, variables, components, rhei, stylesheet, ancestors, &HashSet::new())
} }
pub fn evaluate_vdom_flat<'a>(
templates: &[Element<'a>],
variables: &mut HashMap<String, Value>,
components: &HashMap<String, ComponentDef<'a>>,
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>( pub fn evaluate_vdom_incr<'a>(
templates: &[&Element<'a>], templates: &[&Element<'a>],
variables: &mut HashMap<String, Value>, variables: &mut HashMap<String, Value>,