123456789101112131415161718192021222324252627282930313233 |
- 'use strict';
- var arrayFindIndex = require('array-find-index');
-
- module.exports = function () {
- var unhandledRejections = [];
-
- function onUnhandledRejection(reason, promise) {
- unhandledRejections.push({reason: reason, promise: promise});
- }
-
- function onRejectionHandled(promise) {
- var index = arrayFindIndex(unhandledRejections, function (x) {
- return x.promise === promise;
- });
-
- unhandledRejections.splice(index, 1);
- }
-
- function currentlyUnhandled() {
- return unhandledRejections.map(function (entry) {
- return {
- reason: entry.reason,
- promise: entry.promise
- };
- });
- }
-
- return {
- onUnhandledRejection: onUnhandledRejection,
- onRejectionHandled: onRejectionHandled,
- currentlyUnhandled: currentlyUnhandled
- };
- };
|