diff options
Diffstat (limited to 'node_modules/core-js/modules/_set-collection-from.js')
| -rw-r--r-- | node_modules/core-js/modules/_set-collection-from.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/node_modules/core-js/modules/_set-collection-from.js b/node_modules/core-js/modules/_set-collection-from.js new file mode 100644 index 00000000..d5001f93 --- /dev/null +++ b/node_modules/core-js/modules/_set-collection-from.js @@ -0,0 +1,28 @@ +'use strict'; +// https://tc39.github.io/proposal-setmap-offrom/ +var $export = require('./_export'); +var aFunction = require('./_a-function'); +var ctx = require('./_ctx'); +var forOf = require('./_for-of'); + +module.exports = function (COLLECTION) { + $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) { + var mapFn = arguments[1]; + var mapping, A, n, cb; + aFunction(this); + mapping = mapFn !== undefined; + if (mapping) aFunction(mapFn); + if (source == undefined) return new this(); + A = []; + if (mapping) { + n = 0; + cb = ctx(mapFn, arguments[2], 2); + forOf(source, false, function (nextItem) { + A.push(cb(nextItem, n++)); + }); + } else { + forOf(source, false, A.push, A); + } + return new this(A); + } }); +}; |
