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