toElements method
List<T> ?
toElements(
- Object? elements, {
- DOMTreeMap<
T> ? treeMap, - DOMContext<
T> ? context, - bool setTreeMapRoot = true,
Implementation
List<T>? toElements(
Object? elements, {
DOMTreeMap<T>? treeMap,
DOMContext<T>? context,
bool setTreeMapRoot = true,
}) {
if (elements == null) {
return null;
} else if (elements is DOMNode) {
var e = generate(
elements,
treeMap: treeMap,
context: context,
setTreeMapRoot: setTreeMapRoot,
);
if (e == null) {
throw StateError("Can't generate element for `DOMNode`: $elements");
}
return [e];
} else if (elements is String) {
var e = generateFromHTML(
elements,
treeMap: treeMap,
context: context,
setTreeMapRoot: setTreeMapRoot,
);
if (e == null) {
throw StateError("Can't generate element from `HTML`: $elements");
}
return [e];
} else if (elements is Function) {
var e = elements();
return toElements(
e,
treeMap: treeMap,
context: context,
setTreeMapRoot: setTreeMapRoot,
);
} else if (elements is Iterable) {
return elements
.expand(
(e) =>
toElements(
e,
treeMap: treeMap,
context: context,
setTreeMapRoot: false,
) ??
<T>[],
)
.toList();
} else if (elements is T) {
return [elements];
} else {
var s = elements.toString();
if (s.trim().isEmpty) return null;
var e = generateFromHTML(
s,
treeMap: treeMap,
context: context,
setTreeMapRoot: setTreeMapRoot,
);
if (e == null) return null;
return [e];
}
}