Newer
Older
CVSS_3.0_GUI / node_modules / nwjs-builder-phoenix / node_modules / dir-compare / node_modules / bluebird / js / release / settle.js
root on 7 May 2019 1 KB Initial commit
  1. "use strict";
  2. module.exports =
  3. function(Promise, PromiseArray, debug) {
  4. var PromiseInspection = Promise.PromiseInspection;
  5. var util = require("./util");
  6.  
  7. function SettledPromiseArray(values) {
  8. this.constructor$(values);
  9. }
  10. util.inherits(SettledPromiseArray, PromiseArray);
  11.  
  12. SettledPromiseArray.prototype._promiseResolved = function (index, inspection) {
  13. this._values[index] = inspection;
  14. var totalResolved = ++this._totalResolved;
  15. if (totalResolved >= this._length) {
  16. this._resolve(this._values);
  17. return true;
  18. }
  19. return false;
  20. };
  21.  
  22. SettledPromiseArray.prototype._promiseFulfilled = function (value, index) {
  23. var ret = new PromiseInspection();
  24. ret._bitField = 33554432;
  25. ret._settledValueField = value;
  26. return this._promiseResolved(index, ret);
  27. };
  28. SettledPromiseArray.prototype._promiseRejected = function (reason, index) {
  29. var ret = new PromiseInspection();
  30. ret._bitField = 16777216;
  31. ret._settledValueField = reason;
  32. return this._promiseResolved(index, ret);
  33. };
  34.  
  35. Promise.settle = function (promises) {
  36. debug.deprecated(".settle()", ".reflect()");
  37. return new SettledPromiseArray(promises).promise();
  38. };
  39.  
  40. Promise.prototype.settle = function () {
  41. return Promise.settle(this);
  42. };
  43. };
Buy Me A Coffee