<reponame>GadiseMustika/A-diser<filename>Api/node_modules/core-js/internals/new-promise-capability.js<gh_stars>0'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);
};

// 192.168.3.11 NewPromiseCapability(C)
module.exports.f = function (C) {
  return new PromiseCapability(C);
};
