contramap<B, A> function
- A f(
- B
Transforms a predicate using a function.
Example usage:
```dart
Predicate<String> isStringLengthGreaterThan5 = (String s) => s.length > 5;
Predicate<List<String>> isAnyStringInListLengthGreaterThan5 = contramap((List<String> list) => list.firstWhere((s) => s.length > 5, orElse: () => ''))(isStringLengthGreaterThan5);
print(isAnyStringInListLengthGreaterThan5(['abc', 'abcdefg'])); // Prints: true
print(isAnyStringInListLengthGreaterThan5(['abc', 'def'])); // Prints: false
Implementation
Predicate<B> Function(Predicate<A>) contramap<B, A>(A Function(B) f) {
return (Predicate<A> p) {
return (B value) => p(f(value));
};
}