mapTree<T, T1 extends TreeNode<Object> > function
T1
mapTree<T, T1 extends TreeNode<Object> >()
Map every node in a tree to an new node type. It may be used for
converting from one specialized TreeNode implementation to another, or for
converting each TreeNode value from type T to type NewT for example.
Implementation
T1 mapTree<T, T1 extends TreeNode<Object>>(
TreeNode<T> root,
T1 Function(T value, Iterable<T1> children) createNode,
) {
final newEdges = root.edges.map((edge) => mapTree(edge, createNode));
return createNode(root.value, newEdges);
}