12345678910111213141516171819202122232425262728 |
- '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);
- } });
- };
|