UNPKG

522 BJavaScriptView Raw
1'use strict';
2var aFunction = require('../internals/a-function');
3
4var PromiseCapability = function (C) {
5 var resolve, reject;
6 this.promise = new C(function ($$resolve, $$reject) {
7 if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');
8 resolve = $$resolve;
9 reject = $$reject;
10 });
11 this.resolve = aFunction(resolve);
12 this.reject = aFunction(reject);
13};
14
15// 25.4.1.5 NewPromiseCapability(C)
16module.exports.f = function (C) {
17 return new PromiseCapability(C);
18};