replaceItem<K> static method

List<TreeNode<K>> replaceItem<K>(
  1. List<TreeNode<K>> nodes,
  2. K oldItem,
  3. TreeNode<K> newItem
)

Replaces a node by matching its item value.

Parameters:

  • nodes (List<TreeNode<K>>, required): Tree nodes.
  • oldItem (K, required): Item value to find.
  • newItem (TreeNode<K>, required): Replacement node.

Returns: List<TreeNode<K>> — tree with item replaced.

Implementation

static List<TreeNode<K>> replaceItem<K>(
    List<TreeNode<K>> nodes, K oldItem, TreeNode<K> newItem) {
  return replaceNodes(nodes, (node) {
    if (node is TreeItemNode<K> && node.data == oldItem) {
      return newItem;
    }
    return null;
  });
}