blob: aa9e56ff06102b31f6769752cc03f6912542f7db [file] [log] [blame]
Leo Repp58b9f112021-11-22 11:57:47 +01001'use strict';
2var core = require('./core');
3
4function unwrapEvent(event) {
5 if (event && event.detail && event.detail.promise) {
6 return event.detail;
7 }
8
9 return event;
10}
11
12module.exports = function (w) {
13 w = w || window;
14 var c = core();
15
16 w.addEventListener('unhandledrejection', function (event) {
17 event = unwrapEvent(event);
18 c.onUnhandledRejection(event.reason, event.promise);
19 });
20
21 w.addEventListener('rejectionhandled', function (event) {
22 event = unwrapEvent(event);
23 c.onRejectionHandled(event.promise);
24 });
25
26 return c.currentlyUnhandled;
27};