'use strict'; var callBound = require('call-bind/callBound'); var $arrayPush = callBound('Array.prototype.push'); var GetIterator = require('./GetIterator'); var IteratorStep = require('./IteratorStep'); var IteratorValue = require('./IteratorValue'); // https://262.ecma-international.org/9.0/#sec-iterabletolist module.exports = function IterableToList(items, method) { var iterator = GetIterator(items, 'sync', method); var values = []; var next = true; while (next) { next = IteratorStep(iterator); if (next) { var nextValue = IteratorValue(next); $arrayPush(values, nextValue); } } return values; };