flatten method Null safety

SequenceNode flatten(
  1. {int depth = 2}
)

Flattens the structure with the given depth so that only the returned node is actually a root node.

When the depth is 1, then only the direct children are allowed, if it has higher, there can be additional descendents. depth must not be lower than 1. depth defaults to 2.

Implementation

SequenceNode flatten({int depth = 2}) {
  assert(depth >= 1, 'depth must be at least 1 ($depth is invalid)');
  final root = SequenceNode.root(isUid);
  _flatten(depth, root);
  return root;
}