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