2 var $ = require('../internals/export');
3 var IS_PURE = require('../internals/is-pure');
4 var aCallable = require('../internals/a-callable');
5 var anObject = require('../internals/an-object');
6 var iterate = require('../internals/iterate');
8 // `Map.prototype.merge` method
9 // https://github.com/tc39/proposal-collection-methods
10 $({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
11 // eslint-disable-next-line no-unused-vars -- required for `.length`
12 merge: function merge(iterable /* ...iterbles */) {
13 var map = anObject(this);
14 var setter = aCallable(map.set);
15 var argumentsLength = arguments.length;
17 while (i < argumentsLength) {
18 iterate(arguments[i++], setter, { that: map, AS_ENTRIES: true });