'use strict'; | |
// 25.4.1.5 NewPromiseCapability(C) | |
var aFunction = require('./_a-function'); | |
function PromiseCapability(C) { | |
var resolve, reject; | |
this.promise = new C(function ($$resolve, $$reject) { | |
if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor'); | |
resolve = $$resolve; | |
reject = $$reject; | |
}); | |
this.resolve = aFunction(resolve); | |
this.reject = aFunction(reject); | |
} | |
module.exports.f = function (C) { | |
return new PromiseCapability(C); | |
}; |