doIfContains<T> function

T? doIfContains<T>(
  1. Map map,
  2. dynamic key, {
  3. required T doWork(
    1. dynamic key,
    2. dynamic value
    ),
  4. T elseIf()?,
})

Return a result of doWork if a map contains a key or return a result of elseIf if non null else will return null

Implementation

T? doIfContains<T>(Map map, dynamic key,
    {required T Function(dynamic key, dynamic value) doWork,
    T Function()? elseIf}) {
  if (map.containsKey(key) == true) {
    return doWork(key, map[key]);
  } else if (elseIf != null) {
    return elseIf();
  }
  return null;
}