@codibre/fluent-iterable
Version:
Provides LINQ-like fluent api operations for iterables and async iterables (ES2018+).
23 lines (22 loc) • 681 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.emitRecipe = emitRecipe;
const events_1 = require("events");
function emitRecipe(forEach) {
return function () {
const emitter = new events_1.EventEmitter();
process.nextTick(async () => {
try {
await forEach.call(this, (x) => emitter.emit('data', x));
emitter.emit('end');
}
catch (error) {
if (emitter.listenerCount('error') === 0) {
throw error;
}
emitter.emit('error', error);
}
});
return emitter;
};
}