frontity
Version:
Frontity cli and entry point to other packages
27 lines (26 loc) • 865 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.EventPromised = void 0;
const events_1 = require("events");
class EventPromised extends Promise {
constructor(executor, emitter = new events_1.EventEmitter()) {
executor = executor == undefined ? () => undefined : executor;
super((resolve, reject) => executor((result) => {
emitter.removeAllListeners();
resolve(result);
}, (error) => {
emitter.removeAllListeners();
reject(error);
}, emitter.emit.bind(emitter)));
this.emitter = emitter;
}
on(eventName, onData) {
this.emitter.on(eventName, onData);
return this;
}
once(eventName, onData) {
this.emitter.once(eventName, onData);
return this;
}
}
exports.EventPromised = EventPromised;