You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							36 lines
						
					
					
						
							682 B
						
					
					
				
			
		
		
	
	
							36 lines
						
					
					
						
							682 B
						
					
					
				'use strict'; | 
						|
var util = require('util'); | 
						|
var onExit = require('signal-exit'); | 
						|
var currentlyUnhandled = require('currently-unhandled'); | 
						|
 | 
						|
var installed = false; | 
						|
 | 
						|
module.exports = function (log) { | 
						|
	if (installed) { | 
						|
		return; | 
						|
	} | 
						|
 | 
						|
	installed = true; | 
						|
 | 
						|
	log = log || console.error; | 
						|
 | 
						|
	var listUnhandled = currentlyUnhandled(); | 
						|
 | 
						|
	onExit(function () { | 
						|
		var unhandledRejections = listUnhandled(); | 
						|
 | 
						|
		if (unhandledRejections.length > 0) { | 
						|
			unhandledRejections.forEach(function (x) { | 
						|
				var err = x.reason; | 
						|
 | 
						|
				if (!(err instanceof Error)) { | 
						|
					err = new Error('Promise rejected with value: ' + util.inspect(err)); | 
						|
				} | 
						|
 | 
						|
				log(err.stack); | 
						|
			}); | 
						|
 | 
						|
			process.exitCode = 1; | 
						|
		} | 
						|
	}); | 
						|
};
 | 
						|
 |