forEach method Null safety

void forEach (
  1. void f(
    1. String key,
    2. dynamic value

Applies f to each key/value pair of the map.

Calling f must not add or remove keys from the map.


void forEach(void f(String key, dynamic value)) {
  var entries = JS('', '#.entries()', this);
  while (true) {
    var entry = JS('', '', entries);
    if (JS('bool', '#.done', entry)) return;
    f(JS('String', '#.value[0]', entry),
        convertNativeToDart_Dictionary(JS('', '#.value[1]', entry)));