Spaces:
Configuration error
Configuration error
| ; | |
| var callBound = require('call-bind/callBound'); | |
| var $arrayPush = callBound('Array.prototype.push'); | |
| var IteratorStep = require('./IteratorStep'); | |
| var IteratorValue = require('./IteratorValue'); | |
| var Type = require('./Type'); | |
| var assertRecord = require('../helpers/assertRecord'); | |
| // https://262.ecma-international.org/14.0/#sec-iteratortolist | |
| module.exports = function IteratorToList(iteratorRecord) { | |
| assertRecord(Type, 'Iterator Record', 'iteratorRecord', iteratorRecord); | |
| var values = []; // step 1 | |
| var next = true; // step 2 | |
| while (next) { // step 3 | |
| next = IteratorStep(iteratorRecord); // step 3.a | |
| if (next) { | |
| var nextValue = IteratorValue(next); // step 3.b.i | |
| $arrayPush(values, nextValue); // step 3.b.ii | |
| } | |
| } | |
| return values; // step 4 | |
| }; | |