haveDeclaredFieldTypeNameMatchingAnyOf method

HeimdallRule<ClassMember> haveDeclaredFieldTypeNameMatchingAnyOf(
  1. Iterable<RegExp> patterns
)

Requires fields to have a declared type name matching any value in patterns.

Implementation

HeimdallRule<ClassMember> haveDeclaredFieldTypeNameMatchingAnyOf(Iterable<RegExp> patterns) {
  final valueList = patterns.toNonEmptyList('patterns');
  return satisfy(
    HeimdallCondition.anyOf(
      valueList.map(
        (pattern) => memberDeclaredTypeNameCondition(
          'have declared type name matching $pattern',
          pattern.hasMatch,
        ),
      ),
      description: 'have declared type name matching any of ${valueList.join(', ')}',
    ),
  );
}