28 lines
561 B
JavaScript
28 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;
|
||
|
};
|