'use strict'; | |
const util = require('util'); | |
let installed = false; | |
const hardRejection = (log = console.error) => { | |
if (installed) { | |
return; | |
} | |
installed = true; | |
process.on('unhandledRejection', error => { | |
if (!(error instanceof Error)) { | |
error = new Error(`Promise rejected with value: ${util.inspect(error)}`); | |
} | |
log(error.stack); | |
process.exit(1); | |
}); | |
}; | |
module.exports = hardRejection; | |
// TODO: Remove this for the next major release | |
module.exports.default = hardRejection; |