match<A, B> function
- B onFalse(
- A value
- B onTrue(
- A value
Matches a value against a predicate and returns a function.
Example usage:
```dart
Predicate<int> isEven = (int n) => n % 2 == 0;
String Function(int) evenOrOdd = match(() => 'Even', () => 'Odd')(isEven);
print(evenOrOdd(2)); // Prints: 'Even'
print(evenOrOdd(1)); // Prints: 'Odd'
Implementation
B Function(A) Function(Predicate<A>) match<A, B>(
B Function(A value) onFalse,
B Function(A value) onTrue,
) {
return (Predicate<A> predicate) {
return (A value) {
return predicate(value) ? onTrue(value) : onFalse(value);
};
};
}