0.1.1 ā€¢ Published 5 years ago

handle-rejection v0.1.1

Weekly downloads
1
License
MIT
Repository
github
Last release
5 years ago

handle-rejection npm.io npm.io

šŸ’€ Handle unhandled rejections

Built in single handlers

require('handle-rejection').console(); // console.error(error)
NameDetails
consoleconsole.error
exitprocess.exit
throwthrows error
collectPrints all errors before process exists

Combine handlers

require('handle-rejection')(
	'console',
	'collect'
);

This one is a good combination for long test suits (see below) ā€ 

Custom handlers

const errobj = require('errobj');

require('handle-rejection')(
	error => fetch(
		'/report-error',
		{
			method: 'POST',
			body: JSON.stringify(errobj(error))
		}
	)
);

Combined handlers: built in and custom

require('handle-rejection')(
	error => Raven.captureException(error) // custom
	'exit', // built in
);

ā€  Example for a combination of "console" and "collect" in a testing environment

> mocha

  some function
    āœ“ Should be okay
TypeError: Cannot read property 'ok' of undefined
    at ok (/workspace/package/spec.js:21:11)
    at tryCatch (/workspace/package/node_modules/regenerator-runtime/runtime.js:45:40)
    at Generator.invoke [as _invoke] (/workspace/package/node_modules/regenerator-runtime/runtime.js:271:22)
    at Generator.prototype.(anonymous function) [as next] (/workspace/package/node_modules/regenerator-runtime/runtime.js:97:21)
    at asyncGeneratorStep (/workspace/package/spec.js:14:103)
    at _next (/workspace/package/spec.js:16:194)
    at process._tickCallback (internal/process/next_tick.js:68:7)

  some other function
    āœ“ Should success
    āœ“ Should also success
    āœ“ Should really work

  another bulk of tests
    āœ“ Should be fine
    āœ“ Should pass the test

  6 passing (110ms)

ā•­ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā•®
ā”‚ Unhandled Rejection Summary ā”‚
ā•°ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā•Æ

ā—ļø Rejection 1:
TypeError: Cannot read property 'ok' of undefined
    at ok (/workspace/package/spec.js:21:11)
    at tryCatch (/workspace/package/node_modules/regenerator-runtime/runtime.js:45:40)
    at Generator.invoke [as _invoke] (/workspace/package/node_modules/regenerator-runtime/runtime.js:271:22)
    at Generator.prototype.(anonymous function) [as next] (/workspace/package/node_modules/regenerator-runtime/runtime.js:97:21)
    at asyncGeneratorStep (/workspace/package/spec.js:14:103)
    at _next (/workspace/package/spec.js:16:194)
    at process._tickCallback (internal/process/next_tick.js:68:7)