diff options
Diffstat (limited to 'node_modules/core-js/modules/es6.array.from.js')
-rw-r--r-- | node_modules/core-js/modules/es6.array.from.js | 29 |
1 files changed, 14 insertions, 15 deletions
diff --git a/node_modules/core-js/modules/es6.array.from.js b/node_modules/core-js/modules/es6.array.from.js index 69e5d4a62..4637d8d24 100644 --- a/node_modules/core-js/modules/es6.array.from.js +++ b/node_modules/core-js/modules/es6.array.from.js @@ -1,34 +1,33 @@ 'use strict'; -var ctx = require('./_ctx') - , $export = require('./_export') - , toObject = require('./_to-object') - , call = require('./_iter-call') - , isArrayIter = require('./_is-array-iter') - , toLength = require('./_to-length') - , createProperty = require('./_create-property') - , getIterFn = require('./core.get-iterator-method'); - -$export($export.S + $export.F * !require('./_iter-detect')(function(iter){ Array.from(iter); }), 'Array', { +var ctx = require('./$.ctx') + , $export = require('./$.export') + , toObject = require('./$.to-object') + , call = require('./$.iter-call') + , isArrayIter = require('./$.is-array-iter') + , toLength = require('./$.to-length') + , getIterFn = require('./core.get-iterator-method'); +$export($export.S + $export.F * !require('./$.iter-detect')(function(iter){ Array.from(iter); }), 'Array', { // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined) from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){ var O = toObject(arrayLike) , C = typeof this == 'function' ? this : Array - , aLen = arguments.length - , mapfn = aLen > 1 ? arguments[1] : undefined + , $$ = arguments + , $$len = $$.length + , mapfn = $$len > 1 ? $$[1] : undefined , mapping = mapfn !== undefined , index = 0 , iterFn = getIterFn(O) , length, result, step, iterator; - if(mapping)mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2); + if(mapping)mapfn = ctx(mapfn, $$len > 2 ? $$[2] : undefined, 2); // if object isn't iterable or it's array with default iterator - use simple case if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){ for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){ - createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value); + result[index] = mapping ? call(iterator, mapfn, [step.value, index], true) : step.value; } } else { length = toLength(O.length); for(result = new C(length); length > index; index++){ - createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]); + result[index] = mapping ? mapfn(O[index], index) : O[index]; } } result.length = index; |