browser.js 561 Bytes
Newer Older
tanapoom's avatar
tanapoom committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
'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;
};