helene
Version:
Real-time Web Apps for Node.js
31 lines • 831 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createIterator = createIterator;
function createIterator(emitter, event) {
let done = false;
return {
[Symbol.asyncIterator]() {
return this;
},
next() {
return new Promise(resolve => {
if (done) {
resolve({ done: true });
return;
}
emitter.once(event, (value) => {
resolve({ value, done: false });
});
});
},
return() {
done = true;
return { done: true };
},
throw(error) {
done = true;
return Promise.reject(error);
},
};
}
//# sourceMappingURL=iterator.js.map