asyncerator
Version:
Provide supporting types for AsyncIterable/AsyncIterableIterators, promisified stream.pipeline implementation, and Array-like utility operators, sources and sinks.
19 lines (18 loc) • 871 B
JavaScript
// src/operator/flat.ts
function flat_default(depth = 1) {
return async function* (iterator) {
for await (const item of iterator) {
if (depth >= 1 && Array.isArray(item)) {
for (const element of item.flat(depth - 1)) {
yield element;
}
} else {
yield item;
}
}
};
}
export {
flat_default as default
};
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL29wZXJhdG9yL2ZsYXQudHMiXSwKICAibWFwcGluZ3MiOiAiO0FBZ0JlLFNBQVIsYUFBeUIsUUFBUSxHQUEyRDtBQUNqRyxTQUFPLGlCQUFpQixVQUE4QjtBQUNwRCxxQkFBaUIsUUFBUSxVQUFVO0FBQ2pDLFVBQUksU0FBUyxLQUFLLE1BQU0sUUFBUSxJQUFJLEdBQUc7QUFDckMsbUJBQVcsV0FBVyxLQUFLLEtBQUssUUFBUSxDQUFDLEdBQUc7QUFDMUMsZ0JBQU07QUFBQSxRQUNSO0FBQUEsTUFDRixPQUFPO0FBQ0wsY0FBTTtBQUFBLE1BQ1I7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=