TreeViewNode.fromMap constructor

TreeViewNode.fromMap(
  1. Map<String, dynamic> map
)

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,
  );
}