TreeViewNode.fromMap constructor
Creates a TreeViewNode from a map structure.
Expected format:
{"label": "Root", "children": [...], "icon": "📁"}
Implementation
factory TreeViewNode.fromMap(Map<String, dynamic> map) {
final childrenRaw = map['children'] as List?;
final children =
childrenRaw
?.map((c) => TreeViewNode.fromMap(c as Map<String, dynamic>))
.toList() ??
const [];
return TreeViewNode(
label: (map['label'] ?? map['name'] ?? '') as String,
children: children,
icon: map['icon'] as String?,
expanded: (map['expanded'] as bool?) ?? true,
);
}