villa
Version:
Promise utilities for async/await-ready environment.
23 lines • 825 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
/** @internal */
exports.awaitableCreators = [];
/**
* Create a promise for an object.
* @param emitter The emitter to listen on 'error' event for rejection, and
* given event types for fulfillment.
* @param type A string or an array of string of event types for fulfillment.
* @param errorEmitters Other emitters to listen on 'error' event for
* rejection.
*/
function awaitable(target, ...args) {
for (let creator of exports.awaitableCreators) {
let promise = creator(target, ...args);
if (promise) {
return promise;
}
}
throw new TypeError('Cannot create awaitable from the target object with given arguments');
}
exports.awaitable = awaitable;
//# sourceMappingURL=awaitable.js.map