Spaces:
Configuration error
Configuration error
| ; | |
| var callBound = require('call-bind/callBound'); | |
| var $arrayPush = callBound('Array.prototype.push'); | |
| var getIteratorMethod = require('../helpers/getIteratorMethod'); | |
| var AdvanceStringIndex = require('./AdvanceStringIndex'); | |
| var GetIterator = require('./GetIterator'); | |
| var GetMethod = require('./GetMethod'); | |
| var IsArray = require('./IsArray'); | |
| var IteratorStep = require('./IteratorStep'); | |
| var IteratorValue = require('./IteratorValue'); | |
| var ToObject = require('./ToObject'); | |
| var ES = { | |
| AdvanceStringIndex: AdvanceStringIndex, | |
| GetMethod: GetMethod, | |
| IsArray: IsArray | |
| }; | |
| // https://262.ecma-international.org/7.0/#sec-iterabletoarraylike | |
| module.exports = function IterableToArrayLike(items) { | |
| var usingIterator = getIteratorMethod(ES, items); | |
| if (typeof usingIterator !== 'undefined') { | |
| var iterator = GetIterator(items, usingIterator); | |
| var values = []; | |
| var next = true; | |
| while (next) { | |
| next = IteratorStep(iterator); | |
| if (next) { | |
| var nextValue = IteratorValue(next); | |
| $arrayPush(values, nextValue); | |
| } | |
| } | |
| return values; | |
| } | |
| return ToObject(items); | |
| }; | |