frontend/.pnpm-store/v3/files/47/3ad3a90458221fdc80483d0a34ce7d9a3b03db9f38d2cce4aea9c05c75b250e64455bf59ea007ec8b588cfb1d50887caeeaf3328e9ee792e9315945c755205

29 lines
728 B
Plaintext

'use strict';
var $TypeError = TypeError;
// eslint-disable-next-line consistent-return
module.exports = function iterateIterator(iterator) {
if (!iterator || typeof iterator.next !== 'function') {
throw new $TypeError('iterator must be an object with a `next` method');
}
if (arguments.length > 1) {
var callback = arguments[1];
if (typeof callback !== 'function') {
throw new $TypeError('`callback`, if provided, must be a function');
}
}
var values = callback || [];
var result;
while ((result = iterator.next()) && !result.done) {
if (callback) {
callback(result.value); // eslint-disable-line callback-return
} else {
values.push(result.value);
}
}
if (!callback) {
return values;
}
};