1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
'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
};
};
|