'use strict'; | |
var aFunction = require('../internals/a-function'); | |
var PromiseCapability = function (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); | |
}; | |
// 25.4.1.5 NewPromiseCapability(C) | |
module.exports.f = function (C) { | |
return new PromiseCapability(C); | |
}; |