thedesk/app/node_modules/currently-unhandled/core.js
2019-09-12 23:38:13 +09:00

34 lines
747 B
JavaScript

'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
};
};