| 12345678910111213141516171819202122232425262728 | 'use strict';var $ = require('../internals/export');var aCallable = require('../internals/a-callable');var aMap = require('../internals/a-map');var iterate = require('../internals/map-iterate');var $TypeError = TypeError;// `Map.prototype.reduce` method// https://github.com/tc39/proposal-collection-methods$({ target: 'Map', proto: true, real: true, forced: true }, {  reduce: function reduce(callbackfn /* , initialValue */) {    var map = aMap(this);    var noInitial = arguments.length < 2;    var accumulator = noInitial ? undefined : arguments[1];    aCallable(callbackfn);    iterate(map, function (value, key) {      if (noInitial) {        noInitial = false;        accumulator = value;      } else {        accumulator = callbackfn(accumulator, value, key, map);      }    });    if (noInitial) throw new $TypeError('Reduce of empty map with no initial value');    return accumulator;  }});
 |