diff options
Diffstat (limited to 'node_modules/core-js/modules/esnext.map.map-keys.js')
| -rw-r--r-- | node_modules/core-js/modules/esnext.map.map-keys.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/node_modules/core-js/modules/esnext.map.map-keys.js b/node_modules/core-js/modules/esnext.map.map-keys.js new file mode 100644 index 0000000..430e5fe --- /dev/null +++ b/node_modules/core-js/modules/esnext.map.map-keys.js @@ -0,0 +1,26 @@ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var getBuiltIn = require('../internals/get-built-in'); +var anObject = require('../internals/an-object'); +var aFunction = require('../internals/a-function'); +var bind = require('../internals/function-bind-context'); +var speciesConstructor = require('../internals/species-constructor'); +var getMapIterator = require('../internals/get-map-iterator'); +var iterate = require('../internals/iterate'); + +// `Map.prototype.mapKeys` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, { + mapKeys: function mapKeys(callbackfn /* , thisArg */) { + var map = anObject(this); + var iterator = getMapIterator(map); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); + var newMap = new (speciesConstructor(map, getBuiltIn('Map')))(); + var setter = aFunction(newMap.set); + iterate(iterator, function (key, value) { + setter.call(newMap, boundFunction(value, key, map), value); + }, { AS_ENTRIES: true, IS_ITERATOR: true }); + return newMap; + } +}); |
