| '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/12.0/#sec-iterabletolist | 
|   | 
| module.exports = function IterableToList(items) { | 
|     var iterator; | 
|     if (arguments.length > 1) { | 
|         iterator = GetIterator(items, 'sync', arguments[1]); | 
|     } else { | 
|         iterator = GetIterator(items, 'sync'); | 
|     } | 
|     var values = []; | 
|     var next = true; | 
|     while (next) { | 
|         next = IteratorStep(iterator); | 
|         if (next) { | 
|             var nextValue = IteratorValue(next); | 
|             $arrayPush(values, nextValue); | 
|         } | 
|     } | 
|     return values; | 
| }; |