iteragain
Version:
Javascript Iterable/Iterator/Generator-function utilities.
27 lines • 1.06 kB
JavaScript
/* asyncify(toAsyncIterator)*/
/* ra(IteratorOrIterable, AsyncIteratorOrIterable) */
/* ra(toIterator, toAsyncIterator) */
/* ra(isIterable, isAsyncIterable) */
/* ra(isIterator, isAsyncIterator) */
/* ra(' Iterator', ' AsyncIterator') */
import ObjectIterator from './internal/ObjectIterator';
import isIterable from './isIterable';
import isIterator from './isIterator';
import FunctionIterator from './internal/FunctionIterator';
export function toIterator() {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
if (isIterator(args[0]))
return args[0];
if (isIterable(args[0]))
return args[0][Symbol.iterator]();
if (typeof args[0] === 'object' && args[0] !== null)
return new ObjectIterator(args[0]); /*c*/
if (typeof args[0] === 'function')
return new FunctionIterator(args[0], args[1]); /*c*/
throw new TypeError("Cannot convert ".concat(typeof args[0], " to an iterator."));
}
export default toIterator;
//# sourceMappingURL=toIterator.js.map