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