Skip to content

Commit 9d407b1

Browse files
author
shehabeldeenibrahim
committed
Refactored parseErrorStack RN Check
1 parent f8e5460 commit 9d407b1

File tree

2 files changed

+20
-23
lines changed

2 files changed

+20
-23
lines changed

modules/CrashReporting.js

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,8 @@ export default {
2424
* @param errorObject Error object to be sent to Instabug's servers
2525
*/
2626
reportJSException: function(errorObject) {
27-
let jsStackTrace;
28-
if (Platform.hasOwnProperty("constants")) {
29-
// RN version >= 0.63
30-
if (Platform.constants.reactNativeVersion.minor >= 64)
31-
// RN version >= 0.64 -> Stacktrace as string
32-
jsStackTrace = InstabugUtils.parseErrorStack(errorObject.stack);
33-
// RN version == 0.63 -> Stacktrace as Object
34-
else jsStackTrace = InstabugUtils.parseErrorStack(errorObject);
35-
}
36-
// RN version < 0.63 -> Stacktrace as Object
37-
else jsStackTrace = InstabugUtils.parseErrorStack(errorObject);
27+
let jsStackTrace = InstabugUtils.getStackTrace(errorObject);
28+
3829
var jsonObject = {
3930
message: errorObject.name + ' - ' + errorObject.message,
4031
os: Platform.OS,

utils/InstabugUtils.js

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,21 @@ function getFullRoute(state) {
4040
}
4141
}
4242

43+
export const getStackTrace = (e) => {
44+
let jsStackTrace;
45+
if (Platform.hasOwnProperty("constants")) {
46+
// RN version >= 0.63
47+
if (Platform.constants.reactNativeVersion.minor >= 64)
48+
// RN version >= 0.64 -> Stacktrace as string
49+
jsStackTrace = parseErrorStackLib(e.stack);
50+
// RN version == 0.63 -> Stacktrace as string
51+
else jsStackTrace = parseErrorStackLib(e);
52+
}
53+
// RN version < 0.63 -> Stacktrace as string
54+
else jsStackTrace = parseErrorStackLib(e);
55+
return jsStackTrace;
56+
};
57+
4358
export const isOnReportHandlerSet = () => {
4459
return _isOnReportHandlerSet;
4560
};
@@ -52,17 +67,7 @@ export const captureJsErrors = () => {
5267
}
5368

5469
function errorHandler(e, isFatal) {
55-
let jsStackTrace;
56-
if (Platform.hasOwnProperty("constants")) {
57-
// RN version >= 0.63
58-
if (Platform.constants.reactNativeVersion.minor >= 64)
59-
// RN version >= 0.64 -> Stacktrace as string
60-
jsStackTrace = parseErrorStackLib(e.stack);
61-
// RN version == 0.63 -> Stacktrace as Object
62-
else jsStackTrace = parseErrorStackLib(e);
63-
}
64-
// RN version < 0.63 -> Stacktrace as Object
65-
else jsStackTrace = parseErrorStackLib(e);
70+
let jsStackTrace = getStackTrace(e);
6671

6772
//JSON object to be sent to the native SDK
6873
var jsonObject = {
@@ -101,5 +106,6 @@ export default {
101106
setOnReportHandler,
102107
isOnReportHandlerSet,
103108
getActiveRouteName,
104-
getFullRoute
109+
getFullRoute,
110+
getStackTrace,
105111
};

0 commit comments

Comments
 (0)