toRenderableList method

List<Object>? toRenderableList(
  1. Object? list, [
  2. DOMContext<UINode>? domContext
])

Implementation

List<Object>? toRenderableList(Object? list,
    [DOMContext<UINode>? domContext]) {
  if (list == null) return null;

  List<Object> renderableList;

  if (list is List<Object>) {
    renderableList = list;
  } else if (list is Iterable<Object?>) {
    renderableList = List.from(list.nonNulls);
  } else if (list is Map) {
    renderableList = [];

    for (var entry in list.entries) {
      var key = entry.key;
      var val = entry.value;
      if (isRenderable(key)) {
        renderableList.add(key);
      }
      if (isRenderable(val) || isHTMLElement(val)) {
        renderableList.add(val);
      }
    }
  } else {
    renderableList = [list];
  }

  return renderableList;
}