createDomNodes function
Creates one or more DOM nodes from a resolved Morphic.
For FragmentMorphic, expands into one node per child recursively. For all other types, returns a single-element list.
Use this whenever iterating children that may contain fragments.
Implementation
List<Node> createDomNodes(
Morphic node, {
Component? componentOwner,
Map<Morphic, Component> owners = const {},
}) {
if (node is FragmentMorphic) {
final nodes = <Node>[];
for (final child in node.children) {
final childOwner = owners[child];
nodes.addAll(
createDomNodes(child, componentOwner: childOwner, owners: owners),
);
}
return nodes;
}
return [createDom(node, componentOwner: componentOwner, owners: owners)];
}