IterableToList.js 530 B

123456789101112131415161718192021
  1. 'use strict';
  2. var GetIterator = require('./GetIterator');
  3. var IteratorStep = require('./IteratorStep');
  4. var IteratorValue = require('./IteratorValue');
  5. // https://262.ecma-international.org/9.0/#sec-iterabletolist
  6. module.exports = function IterableToList(items, method) {
  7. var iterator = GetIterator(items, 'sync', method);
  8. var values = [];
  9. var next = true;
  10. while (next) {
  11. next = IteratorStep(iterator);
  12. if (next) {
  13. var nextValue = IteratorValue(next);
  14. values[values.length] = nextValue;
  15. }
  16. }
  17. return values;
  18. };