Matcher wrapMatcher()

in lib/src/util.dart [37:51]


Matcher wrapMatcher(Object? valueOrMatcher) {
  if (valueOrMatcher is Matcher) {
    return valueOrMatcher;
  } else if (valueOrMatcher is bool Function(Object?)) {
    // already a predicate that can handle anything
    return predicate(valueOrMatcher);
  } else if (valueOrMatcher is bool Function(Never)) {
    // unary predicate, but expects a specific type
    // so wrap it.
    // ignore: unnecessary_lambdas
    return predicate((a) => (valueOrMatcher as dynamic)(a));
  } else {
    return equals(valueOrMatcher);
  }
}