1234567891011121314151617181920212223 |
- 'use strict';
- var $ = require('../internals/export');
- var bind = require('../internals/function-bind-context');
- var aSet = require('../internals/a-set');
- var SetHelpers = require('../internals/set-helpers');
- var iterate = require('../internals/set-iterate');
- var Set = SetHelpers.Set;
- var add = SetHelpers.add;
- // `Set.prototype.map` method
- // https://github.com/tc39/proposal-collection-methods
- $({ target: 'Set', proto: true, real: true, forced: true }, {
- map: function map(callbackfn /* , thisArg */) {
- var set = aSet(this);
- var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- var newSet = new Set();
- iterate(set, function (value) {
- add(newSet, boundFunction(value, value, set));
- });
- return newSet;
- }
- });
|