childrenMatching method

List<HierarchyOccurrence> childrenMatching({
  1. Pattern? pattern,
  2. OccurrenceTraversalMode mode = OccurrenceTraversalMode.opaque,
})

Returns child occurrence handles matching pattern.

OccurrenceTraversalMode.opaque evaluates direct children. OccurrenceTraversalMode.transparent crosses non-leaf children and evaluates only the first leaf occurrences reached on each branch.

Implementation

List<HierarchyOccurrence> childrenMatching({
  Pattern? pattern,
  OccurrenceTraversalMode mode = OccurrenceTraversalMode.opaque,
}) {
  final candidates = mode == OccurrenceTraversalMode.opaque
      ? children
      : _transparentChildren();
  return candidates
      .where((child) =>
          pattern == null || pattern.allMatches(child.name).isNotEmpty)
      .toList();
}