'use strict'; var uncurryThis = require('../internals/function-uncurry-this'); var iterateSimple = require('../internals/iterate-simple'); var MapHelpers = require('../internals/map-helpers'); var Map = MapHelpers.Map; var MapPrototype = MapHelpers.proto; var forEach = uncurryThis(MapPrototype.forEach); var entries = uncurryThis(MapPrototype.entries); var next = entries(new Map()).next; module.exports = function (map, fn, interruptible) { return interruptible ? iterateSimple({ iterator: entries(map), next: next }, function (entry) { return fn(entry[1], entry[0]); }) : forEach(map, fn); };