iteragain
Version:
Javascript Iterable/Iterator/Generator-function utilities.
26 lines • 1.13 kB
JavaScript
;
/* asyncify(toAsyncIterator)*/
/* ra(IteratorOrIterable, AsyncIteratorOrIterable) */
/* ra(toIterator, toAsyncIterator) */
/* ra(isIterable, isAsyncIterable) */
/* ra(isIterator, isAsyncIterator) */
/* ra(' Iterator', ' AsyncIterator') */
Object.defineProperty(exports, "__esModule", { value: true });
exports.toIterator = toIterator;
const ObjectIterator_1 = require("./internal/ObjectIterator");
const isIterable_1 = require("./isIterable");
const isIterator_1 = require("./isIterator");
const FunctionIterator_1 = require("./internal/FunctionIterator");
function toIterator(...args) {
if ((0, isIterator_1.default)(args[0]))
return args[0];
if ((0, isIterable_1.default)(args[0]))
return args[0][Symbol.iterator]();
if (typeof args[0] === 'object' && args[0] !== null)
return new ObjectIterator_1.default(args[0]); /*c*/
if (typeof args[0] === 'function')
return new FunctionIterator_1.default(args[0], args[1]); /*c*/
throw new TypeError(`Cannot convert ${typeof args[0]} to an iterator.`);
}
exports.default = toIterator;
//# sourceMappingURL=toIterator.js.map