findOneByMatcher<T extends DartElement> method

T? findOneByMatcher<T extends DartElement>({
  1. required DartElementMatcher matcher,
  2. required DartElementsParent<DartElement> source,
})

Implementation

T? findOneByMatcher<T extends DartElement>({
  required DartElementMatcher matcher,
  required DartElementsParent source,
}) {
  final elementsFound = findByMatcher<T>(matcher: matcher, source: source);
  if (elementsFound.length == 1) {
    return elementsFound.first;
  } else if (elementsFound.isEmpty) {
    return null;
  } else {
    throw MultipleElementsFoundException(
      matcher: matcher,
      source: source,
      elementsFound: elementsFound,
    );
  }
}