create method
Creates a component for the given node, or returns null.
Implementation
@override
Component? create(Node node, NodesBuilder builder) {
if (node is ElementNode && node.tag == 'FileTree') {
if (node.children case [ElementNode(tag: 'ul', :final children)]) {
final List<FileTreeItem> items = [];
for (final child in children ?? <Node>[]) {
items.add(buildFileTreeItem(child, builder));
}
return _FileTree(items: items);
}
throw Exception('Invalid FileTree structure, must contain a single list.');
}
return null;
}