27 lines
561 B
JavaScript
27 lines
561 B
JavaScript
'use strict';
|
|
var core = require('./core');
|
|
|
|
function unwrapEvent(event) {
|
|
if (event && event.detail && event.detail.promise) {
|
|
return event.detail;
|
|
}
|
|
|
|
return event;
|
|
}
|
|
|
|
module.exports = function (w) {
|
|
w = w || window;
|
|
var c = core();
|
|
|
|
w.addEventListener('unhandledrejection', function (event) {
|
|
event = unwrapEvent(event);
|
|
c.onUnhandledRejection(event.reason, event.promise);
|
|
});
|
|
|
|
w.addEventListener('rejectionhandled', function (event) {
|
|
event = unwrapEvent(event);
|
|
c.onRejectionHandled(event.promise);
|
|
});
|
|
|
|
return c.currentlyUnhandled;
|
|
};
|