@@ -40,6 +40,21 @@ function getFullRoute(state) {
40
40
}
41
41
}
42
42
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
+
43
58
export const isOnReportHandlerSet = ( ) => {
44
59
return _isOnReportHandlerSet ;
45
60
} ;
@@ -52,17 +67,7 @@ export const captureJsErrors = () => {
52
67
}
53
68
54
69
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 ) ;
66
71
67
72
//JSON object to be sent to the native SDK
68
73
var jsonObject = {
@@ -101,5 +106,6 @@ export default {
101
106
setOnReportHandler,
102
107
isOnReportHandlerSet,
103
108
getActiveRouteName,
104
- getFullRoute
109
+ getFullRoute,
110
+ getStackTrace,
105
111
} ;
0 commit comments