UNPKG

villa

Version:

Promise utilities for async/await-ready environment.

28 lines 1.06 kB
"use strict"; 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) { var args = []; for (var _i = 1; _i < arguments.length; _i++) { args[_i - 1] = arguments[_i]; } for (var _a = 0, awaitableCreators_1 = exports.awaitableCreators; _a < awaitableCreators_1.length; _a++) { var creator = awaitableCreators_1[_a]; var promise = creator.apply(void 0, [target].concat(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