TreeNode<T>.fromMap constructor

TreeNode<T>.fromMap(
  1. dynamic map, {
  2. T dataParser(
    1. dynamic
    )?,
})

Implementation

factory TreeNode.fromMap(dynamic map, {T Function(dynamic)? dataParser}) {
  List<TreeNode<T>> children = [];
  if (map['children'] != null) {
    children = (map['children'] as List)
        .map((child) => TreeNode<T>.fromMap(child, dataParser: dataParser))
        .toList();
  }

  return TreeNode<T>(
    id: map['id']?.toString() ?? '',
    data: dataParser != null ? dataParser(map['data']) : map['data'] as T,
    children: children,
    isExpanded: map['isExpanded'] ?? false,
    isSelected: map['isSelected'] ?? false,
    selectable: map['selectable'] ?? true,
    isLeaf: map['isLeaf'],
  );
}