match<T, U> function

U match<T, U>(
  1. T value,
  2. Map<MatchFn<T>, EvalFn<U>> fns, {
  3. required EvalFn<U> other,
})

Implementation

U match<T, U>(
  T value,
  Map<MatchFn<T>, EvalFn<U>> fns, {
  required EvalFn<U> other,
}) {
  for (var entry in fns.entries) {
    var matchFn = entry.key;
    if (matchFn(value)) {
      return entry.value();
    }
  }
  return other();
}