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