UNPKG

asyncerator

Version:

Provide supporting types for AsyncIterable/AsyncIterableIterators, promisified stream.pipeline implementation, and Array-like utility operators, sources and sinks.

29 lines (28 loc) 1.75 kB
// src/asyncerator.ts function asyncerator_default(source) { let iterator; if (typeof source[Symbol.asyncIterator] === "function") { iterator = source[Symbol.asyncIterator](); if (typeof iterator[Symbol.asyncIterator] === "function") { return iterator; } } else if (typeof source[Symbol.iterator] === "function") { const synchronousIterator = source[Symbol.iterator](); return async function* () { for (let item = synchronousIterator.next(); item.done !== true; item = synchronousIterator.next()) { yield item.value; } }(); } else { iterator = source; } return async function* () { for (let item = await iterator.next(); item.done !== true; item = await iterator.next()) { yield item.value; } }(); } export { asyncerator_default as default }; //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2FzeW5jZXJhdG9yLnRzIl0sCiAgIm1hcHBpbmdzIjogIjtBQXdDZSxTQUFSLG9CQUFxQixRQUErRDtBQUN6RixNQUFJO0FBRUosTUFBSSxPQUFRLE9BQTBCLE9BQU8sYUFBYSxNQUFNLFlBQVk7QUFDMUUsZUFBWSxPQUEwQixPQUFPLGFBQWEsRUFBRTtBQUM1RCxRQUFJLE9BQVEsU0FBc0MsT0FBTyxhQUFhLE1BQU0sWUFBWTtBQUV0RixhQUFPO0FBQUEsSUFDVDtBQUFBLEVBQ0YsV0FBVyxPQUFRLE9BQStCLE9BQU8sUUFBUSxNQUFNLFlBQVk7QUFFakYsVUFBTSxzQkFBdUIsT0FBK0IsT0FBTyxRQUFRLEVBQUU7QUFDN0UsV0FBUSxtQkFBbUI7QUFDekIsZUFBUyxPQUFPLG9CQUFvQixLQUFLLEdBQUcsS0FBSyxTQUFTLE1BQU0sT0FBTyxvQkFBb0IsS0FBSyxHQUFHO0FBQ2pHLGNBQU0sS0FBSztBQUFBLE1BQ2I7QUFBQSxJQUNGLEVBQUc7QUFBQSxFQUNMLE9BQU87QUFFTCxlQUFXO0FBQUEsRUFDYjtBQUVBLFNBQVEsbUJBQW1CO0FBRXpCLGFBQVMsT0FBTyxNQUFNLFNBQVMsS0FBSyxHQUFHLEtBQUssU0FBUyxNQUFNLE9BQU8sTUFBTSxTQUFTLEtBQUssR0FBRztBQUN2RixZQUFNLEtBQUs7QUFBQSxJQUNiO0FBQUEsRUFDRixFQUFHO0FBQ0w7IiwKICAibmFtZXMiOiBbXQp9Cg==