updateAll method Null safety

  1. @override
void updateAll(
  1. V update(
    1. K key,
    2. V value
    )
)
override

Updates all values.

Iterates over all entries in the map and updates them with the result of invoking update.

final terrestrial = <int, String>{1: 'Mercury', 2: 'Venus', 3: 'Earth'};
terrestrial.updateAll((key, value) => value.toUpperCase());
print(terrestrial); // {1: MERCURY, 2: VENUS, 3: EARTH}

Implementation

@override
void updateAll(V Function(K key, V value) update) =>
    _base.updateAll((_, pair) {
      var value = pair.value;
      var key = pair.key;
      var newValue = update(key, value);
      if (identical(value, newValue)) return pair;
      return MapEntry(key, newValue);
    });