massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / core-js / internals / new-promise-capability.js
1 'use strict';
2 var aCallable = require('../internals/a-callable');
3
4 var 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 = aCallable(resolve);
12   this.reject = aCallable(reject);
13 };
14
15 // `NewPromiseCapability` abstract operation
16 // https://tc39.es/ecma262/#sec-newpromisecapability
17 module.exports.f = function (C) {
18   return new PromiseCapability(C);
19 };