@bugsnag/plugin-react-native-unhandled-rejection
Advanced tools
Comparing version 7.0.0-alpha.0 to 7.0.0-alpha.1
{ | ||
"name": "@bugsnag/plugin-react-native-unhandled-rejection", | ||
"version": "7.0.0-alpha.0", | ||
"version": "7.0.0-alpha.1", | ||
"main": "rejection-handler.js", | ||
@@ -23,3 +23,3 @@ "description": "@bugsnag/js plugin to report unhandled promise rejections in React Native", | ||
"devDependencies": { | ||
"@bugsnag/core": "^7.0.0-alpha.0", | ||
"@bugsnag/core": "^7.0.0-alpha.1", | ||
"jasmine": "3.1.0", | ||
@@ -29,3 +29,3 @@ "nyc": "^12.0.2", | ||
}, | ||
"gitHead": "44e41f2d9cce4a3aed93dd77e0c851119c2fe776" | ||
"gitHead": "55453140c2572284f8b34e3c2b8a8fec1e69c36e" | ||
} |
@@ -6,25 +6,15 @@ /* | ||
const rnPromise = require('promise/setimmediate/rejection-tracking') | ||
const ensureError = require('@bugsnag/core/lib/ensure-error') | ||
module.exports = { | ||
init: (client) => { | ||
if (client._config.autoDetectErrors === false || client._config.autoDetectUnhandledRejections === false) return () => {} | ||
const handledState = { | ||
severity: 'error', | ||
unhandled: true, | ||
severityReason: { type: 'unhandledPromiseRejection' } | ||
} | ||
if (!client._config.autoDetectErrors || !client._config.autoDetectUnhandledRejections) return () => {} | ||
rnPromise.enable({ | ||
allRejections: true, | ||
onUnhandled: (id, maybeError) => { | ||
const { actualError, metadata } = ensureError(maybeError) | ||
client._notify(new client.Event( | ||
actualError.name, | ||
actualError.message, | ||
client.Event.getStacktrace(actualError, 0, 1), | ||
maybeError, | ||
handledState | ||
), event => { | ||
if (metadata) event.addMetadata('error', metadata) | ||
}) | ||
onUnhandled: (id, error) => { | ||
const event = client.Event.create(error, false, { | ||
severity: 'error', | ||
unhandled: true, | ||
severityReason: { type: 'unhandledPromiseRejection' } | ||
}, 'promise rejection tracking', 1) | ||
client._notify(event) | ||
} | ||
@@ -31,0 +21,0 @@ }) |
2782
21