@dynatrace/react-native-plugin 2.271.2 → 2.273.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/README.md +10 -3
  2. package/android/build.gradle +1 -1
  3. package/android/src/main/java/com/dynatrace/android/agent/DynatraceRNBridge.java +4 -2
  4. package/files/plugin.gradle +1 -1
  5. package/ios/DynatraceRNBridge.m +2 -1
  6. package/ios/lib/Dynatrace.xcframework/Info.plist +5 -5
  7. package/ios/lib/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Dynatrace +0 -0
  8. package/ios/lib/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Headers/Dynatrace.h +1 -1
  9. package/ios/lib/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Info.plist +0 -0
  10. package/ios/lib/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  11. package/ios/lib/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Modules/Dynatrace.swiftmodule/arm64-apple-ios.abi.json +1 -1
  12. package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Dynatrace +0 -0
  13. package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Headers/Dynatrace.h +1 -1
  14. package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Info.plist +0 -0
  15. package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
  16. package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
  17. package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/arm64-apple-ios-simulator.abi.json +1 -1
  18. package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/x86_64-apple-ios-simulator.abi.json +1 -1
  19. package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/_CodeSignature/CodeResources +15 -15
  20. package/ios/lib/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Dynatrace +0 -0
  21. package/ios/lib/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Headers/Dynatrace.h +1 -1
  22. package/ios/lib/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Info.plist +0 -0
  23. package/ios/lib/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/arm64-apple-tvos.swiftsourceinfo +0 -0
  24. package/ios/lib/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Dynatrace +0 -0
  25. package/ios/lib/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Headers/Dynatrace.h +1 -1
  26. package/ios/lib/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Info.plist +0 -0
  27. package/ios/lib/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/arm64-apple-tvos-simulator.swiftsourceinfo +0 -0
  28. package/ios/lib/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/x86_64-apple-tvos-simulator.swiftsourceinfo +0 -0
  29. package/ios/lib/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/_CodeSignature/CodeResources +11 -11
  30. package/lib/instrumentor/DynatraceInstrumentation.js +1 -1
  31. package/lib/instrumentor/base/Application.js +0 -3
  32. package/lib/instrumentor/base/Dynatrace.js +2 -6
  33. package/lib/instrumentor/base/DynatraceInternal.js +2 -1
  34. package/lib/instrumentor/base/ElementHelper.js +5 -1
  35. package/lib/instrumentor/base/ErrorHandler.js +44 -39
  36. package/lib/instrumentor/base/Picker.js +12 -3
  37. package/lib/instrumentor/base/RefreshControl.js +18 -25
  38. package/lib/instrumentor/base/Touchable.js +14 -5
  39. package/lib/instrumentor/model/Types.js +1 -0
  40. package/lib/react-native/RefreshControl.js +10 -9
  41. package/package.json +2 -2
package/README.md CHANGED
@@ -29,8 +29,8 @@ If you want to start using this plugin and are not a Dynatrace customer yet, hea
29
29
  ## Agent Versions
30
30
  This agent versions are configured in this plugin:
31
31
 
32
- * Android Agent: 8.271.1.1003
33
- * iOS Agent: 8.271.2.1007
32
+ * Android Agent: 8.273.1.1003
33
+ * iOS Agent: 8.273.1.1006
34
34
 
35
35
  ## Quick Setup
36
36
 
@@ -1169,9 +1169,16 @@ If you are struggling with a problem, submit a support ticket to Dynatrace (supp
1169
1169
  <br/><br/>
1170
1170
  ## Changelog
1171
1171
 
1172
- 2.271.2
1172
+ 2.273.1
1173
+ * Update Android (8.273.1.1003) & iOS Agent (8.273.1.1006)
1174
+ * Crash handler initialization happens earlier in the application
1175
+ * Ignoring duplicated crashes through native crash handler
1176
+
1177
+ 2.271.3
1173
1178
  * Update Android (8.271.1.1003) & iOS Agent (8.271.2.1007)
1174
1179
  * Fixed createElement logic for older React Native versions
1180
+ * Fixed asynchronous handler for Touchables
1181
+ * Updated instrumentation of RefreshControl
1175
1182
 
1176
1183
  2.269.1
1177
1184
  * Update Android (8.269.1.1009) & iOS Agent (8.269.1.1007)
@@ -36,7 +36,7 @@ repositories {
36
36
  }
37
37
 
38
38
  dependencies {
39
- implementation 'com.dynatrace.agent:agent-android:8.271.1.1003'
39
+ implementation 'com.dynatrace.agent:agent-android:8.273.1.1003'
40
40
  implementation "com.facebook.react:react-native:${safeExtGet('reactNative', '+')}"
41
41
  }
42
42
 
@@ -169,10 +169,12 @@ public class DynatraceRNBridge extends ReactContextBaseJavaModule {
169
169
  }
170
170
 
171
171
  @ReactMethod
172
- public void reportCrash(String errorName, String reason, String stacktrace, boolean isRealError, String platform){
172
+ public void reportCrash(String errorName, String reason, String stacktrace, boolean isRealError, boolean newSession, String platform){
173
173
  if (this.shouldWorkOnAndroid(platform)) {
174
174
  Dynatrace.reportCrash(isRealError ? PlatformType.JAVA_SCRIPT : PlatformType.CUSTOM, errorName, reason, stacktrace);
175
- Dynatrace.createNewSession();
175
+ if(newSession){
176
+ Dynatrace.createNewSession();
177
+ }
176
178
  }
177
179
  }
178
180
 
@@ -1,3 +1,3 @@
1
1
  dependencies {
2
- classpath 'com.dynatrace.tools.android:gradle-plugin:8.271.1.1003'
2
+ classpath 'com.dynatrace.tools.android:gradle-plugin:8.273.1.1003'
3
3
  }
@@ -166,7 +166,7 @@ RCT_EXPORT_METHOD(reportError:(NSString *)errorName errorValue:(NSString *)error
166
166
  }
167
167
  }
168
168
 
169
- RCT_EXPORT_METHOD(reportCrash:(NSString *)errorName errorReason:(NSString *)errorReason stacktrace:(NSString *)stacktrace isRealError:(BOOL)isRealError platform: (NSString *) platform)
169
+ RCT_EXPORT_METHOD(reportCrash:(NSString *)errorName errorReason:(NSString *)errorReason stacktrace:(NSString *)stacktrace isRealError:(BOOL)isRealError newSession:(BOOL)newSession platform: (NSString *) platform)
170
170
  {
171
171
  if ([self shouldWorkOnIosWithPlatform: platform])
172
172
  {
@@ -176,6 +176,7 @@ RCT_EXPORT_METHOD(reportCrash:(NSString *)errorName errorReason:(NSString *)erro
176
176
  [DTXAction reportExternalCrashForPlatformType:-1 crashName:errorName reason:errorReason stacktrace:stacktrace];
177
177
  }
178
178
 
179
+ // We ignore the newSession parameter and always end the session as the iOS agent has no troubles with this behavior
179
180
  [Dynatrace endVisit];
180
181
  }
181
182
  }
@@ -6,30 +6,30 @@
6
6
  <array>
7
7
  <dict>
8
8
  <key>LibraryIdentifier</key>
9
- <string>ios-arm64</string>
9
+ <string>ios-arm64_x86_64-simulator</string>
10
10
  <key>LibraryPath</key>
11
11
  <string>Dynatrace.framework</string>
12
12
  <key>SupportedArchitectures</key>
13
13
  <array>
14
14
  <string>arm64</string>
15
+ <string>x86_64</string>
15
16
  </array>
16
17
  <key>SupportedPlatform</key>
17
18
  <string>ios</string>
19
+ <key>SupportedPlatformVariant</key>
20
+ <string>simulator</string>
18
21
  </dict>
19
22
  <dict>
20
23
  <key>LibraryIdentifier</key>
21
- <string>ios-arm64_x86_64-simulator</string>
24
+ <string>ios-arm64</string>
22
25
  <key>LibraryPath</key>
23
26
  <string>Dynatrace.framework</string>
24
27
  <key>SupportedArchitectures</key>
25
28
  <array>
26
29
  <string>arm64</string>
27
- <string>x86_64</string>
28
30
  </array>
29
31
  <key>SupportedPlatform</key>
30
32
  <string>ios</string>
31
- <key>SupportedPlatformVariant</key>
32
- <string>simulator</string>
33
33
  </dict>
34
34
  <dict>
35
35
  <key>LibraryIdentifier</key>
@@ -1,5 +1,5 @@
1
1
  // Dynatrace.h
2
- // Version: 8.271.2.1007
2
+ // Version: 8.273.1.1006
3
3
  //
4
4
  // These materials contain confidential information and
5
5
  // trade secrets of Dynatrace Corporation. You shall
@@ -572,7 +572,7 @@
572
572
  },
573
573
  "ConstValues": [
574
574
  {
575
- "filePath": "\/opt\/jenkins\/workspace\/eAgent_ios-agent_release_8.271.x\/adk\/DynatraceUEM\/Dynatrace\/SwiftUIExtensions.swift",
575
+ "filePath": "\/opt\/jenkins\/workspace\/gent_ios-agent_release_8.273.x_3\/adk\/DynatraceUEM\/Dynatrace\/SwiftUIExtensions.swift",
576
576
  "kind": "BooleanLiteral",
577
577
  "offset": 1277,
578
578
  "length": 4,
@@ -1,5 +1,5 @@
1
1
  // Dynatrace.h
2
- // Version: 8.271.2.1007
2
+ // Version: 8.273.1.1006
3
3
  //
4
4
  // These materials contain confidential information and
5
5
  // trade secrets of Dynatrace Corporation. You shall
@@ -572,7 +572,7 @@
572
572
  },
573
573
  "ConstValues": [
574
574
  {
575
- "filePath": "\/opt\/jenkins\/workspace\/eAgent_ios-agent_release_8.271.x\/adk\/DynatraceUEM\/Dynatrace\/SwiftUIExtensions.swift",
575
+ "filePath": "\/opt\/jenkins\/workspace\/gent_ios-agent_release_8.273.x_3\/adk\/DynatraceUEM\/Dynatrace\/SwiftUIExtensions.swift",
576
576
  "kind": "BooleanLiteral",
577
577
  "offset": 1277,
578
578
  "length": 4,
@@ -572,7 +572,7 @@
572
572
  },
573
573
  "ConstValues": [
574
574
  {
575
- "filePath": "\/opt\/jenkins\/workspace\/eAgent_ios-agent_release_8.271.x\/adk\/DynatraceUEM\/Dynatrace\/SwiftUIExtensions.swift",
575
+ "filePath": "\/opt\/jenkins\/workspace\/gent_ios-agent_release_8.273.x_3\/adk\/DynatraceUEM\/Dynatrace\/SwiftUIExtensions.swift",
576
576
  "kind": "BooleanLiteral",
577
577
  "offset": 1277,
578
578
  "length": 4,
@@ -10,7 +10,7 @@
10
10
  </data>
11
11
  <key>Headers/Dynatrace.h</key>
12
12
  <data>
13
- IfnWbuE1XmMIlZTTmJqPgXXaooQ=
13
+ tA+O5/8g6/rB2FLe17KI5yzePow=
14
14
  </data>
15
15
  <key>Headers/DynatraceSwiftUI.h</key>
16
16
  <data>
@@ -22,19 +22,19 @@
22
22
  </data>
23
23
  <key>Info.plist</key>
24
24
  <data>
25
- aUIGXlEtFM1pPGO/KGBjiaXTSNs=
25
+ kWZvFuyywJXfcsKIdwFdv4vMqRY=
26
26
  </data>
27
27
  <key>Modules/Dynatrace.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo</key>
28
28
  <data>
29
- lbzpqQTHExgWusb+3nxBfc9eTY4=
29
+ nGYd6fcFzsinN5v2YD46M0xgw6Q=
30
30
  </data>
31
31
  <key>Modules/Dynatrace.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo</key>
32
32
  <data>
33
- HZTA0gLtCwGSIcesyvmBMswzzc4=
33
+ M9xjtk3KdqoyzyFZSeJ/7kKIv6A=
34
34
  </data>
35
35
  <key>Modules/Dynatrace.swiftmodule/arm64-apple-ios-simulator.abi.json</key>
36
36
  <data>
37
- ay+xTZfxmzbbXlge6CQiMxpMXSQ=
37
+ VMhlBOh0wRfx9mVKACsYqvY5YEo=
38
38
  </data>
39
39
  <key>Modules/Dynatrace.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface</key>
40
40
  <data>
@@ -50,11 +50,11 @@
50
50
  </data>
51
51
  <key>Modules/Dynatrace.swiftmodule/arm64-apple-ios-simulator.swiftmodule</key>
52
52
  <data>
53
- D1kN3DL74rpLXzAVdJQIbHZLJ30=
53
+ uJJE3LLBHBxIIJbvpm+moYjOiRM=
54
54
  </data>
55
55
  <key>Modules/Dynatrace.swiftmodule/x86_64-apple-ios-simulator.abi.json</key>
56
56
  <data>
57
- ay+xTZfxmzbbXlge6CQiMxpMXSQ=
57
+ VMhlBOh0wRfx9mVKACsYqvY5YEo=
58
58
  </data>
59
59
  <key>Modules/Dynatrace.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface</key>
60
60
  <data>
@@ -70,7 +70,7 @@
70
70
  </data>
71
71
  <key>Modules/Dynatrace.swiftmodule/x86_64-apple-ios-simulator.swiftmodule</key>
72
72
  <data>
73
- xSjgbd3OTIoKqKVfwdjPmqCrQDY=
73
+ 3RB2vgFJJoAaw29phPfi0xUefD0=
74
74
  </data>
75
75
  <key>Modules/module.modulemap</key>
76
76
  <data>
@@ -90,7 +90,7 @@
90
90
  <dict>
91
91
  <key>hash2</key>
92
92
  <data>
93
- CqclrjlCxIl6kZAXppPi7s0aqNcd9zrJhG2I2j06TxQ=
93
+ v6xgR0hc67MYVeOJrAPktN4CaweOsXdttN24LOG+1Uk=
94
94
  </data>
95
95
  </dict>
96
96
  <key>Headers/DynatraceSwiftUI.h</key>
@@ -111,21 +111,21 @@
111
111
  <dict>
112
112
  <key>hash2</key>
113
113
  <data>
114
- DPdm2kuid9J0Zg1sPfvmaXWXtqKfWbSizm2OXAcRIF4=
114
+ nXfxDURihDle3OD/erhsemBn1KUj4m1V1kRwf5goA+0=
115
115
  </data>
116
116
  </dict>
117
117
  <key>Modules/Dynatrace.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo</key>
118
118
  <dict>
119
119
  <key>hash2</key>
120
120
  <data>
121
- fg8io+MTpgurihFeeXZi/2/iflZ/YxvNyf5CZD9aeoE=
121
+ U67wZ+8OGsRS00EtjZKyZeNSMRzdcC3y240X98tmfNI=
122
122
  </data>
123
123
  </dict>
124
124
  <key>Modules/Dynatrace.swiftmodule/arm64-apple-ios-simulator.abi.json</key>
125
125
  <dict>
126
126
  <key>hash2</key>
127
127
  <data>
128
- qHFF46aeXb2Vc+dtpW4CU2rMhSCpRJ9xQAs+uGe5Pgc=
128
+ gSWc0s5BDfNCffdhXxZhG54fI23ZyJGe8Ed+KEO3ZG4=
129
129
  </data>
130
130
  </dict>
131
131
  <key>Modules/Dynatrace.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface</key>
@@ -153,14 +153,14 @@
153
153
  <dict>
154
154
  <key>hash2</key>
155
155
  <data>
156
- JogEWmvGr3g9HkXZZhUYnOZrnCD1EJ0JdfIPgkZglPk=
156
+ 1QWUoSDXybNA6a6kZa2g1CVR4AN77dXt6IJC3DjQY4M=
157
157
  </data>
158
158
  </dict>
159
159
  <key>Modules/Dynatrace.swiftmodule/x86_64-apple-ios-simulator.abi.json</key>
160
160
  <dict>
161
161
  <key>hash2</key>
162
162
  <data>
163
- qHFF46aeXb2Vc+dtpW4CU2rMhSCpRJ9xQAs+uGe5Pgc=
163
+ gSWc0s5BDfNCffdhXxZhG54fI23ZyJGe8Ed+KEO3ZG4=
164
164
  </data>
165
165
  </dict>
166
166
  <key>Modules/Dynatrace.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface</key>
@@ -188,7 +188,7 @@
188
188
  <dict>
189
189
  <key>hash2</key>
190
190
  <data>
191
- Vi+2FtdA5kWn9xwoPyU6TfUPE3xfRRn6mujpgt9Is7s=
191
+ MrPs4lpyt7q0Ok/ZasdlRz8+2RRiFSUuTTuAb9aKWzw=
192
192
  </data>
193
193
  </dict>
194
194
  <key>Modules/module.modulemap</key>
@@ -1,5 +1,5 @@
1
1
  // Dynatrace.h
2
- // Version: 8.271.2.1007
2
+ // Version: 8.273.1.1006
3
3
  //
4
4
  // These materials contain confidential information and
5
5
  // trade secrets of Dynatrace Corporation. You shall
@@ -1,5 +1,5 @@
1
1
  // Dynatrace.h
2
- // Version: 8.271.2.1007
2
+ // Version: 8.273.1.1006
3
3
  //
4
4
  // These materials contain confidential information and
5
5
  // trade secrets of Dynatrace Corporation. You shall
@@ -10,7 +10,7 @@
10
10
  </data>
11
11
  <key>Headers/Dynatrace.h</key>
12
12
  <data>
13
- IfnWbuE1XmMIlZTTmJqPgXXaooQ=
13
+ tA+O5/8g6/rB2FLe17KI5yzePow=
14
14
  </data>
15
15
  <key>Headers/DynatraceSwiftUI.h</key>
16
16
  <data>
@@ -22,15 +22,15 @@
22
22
  </data>
23
23
  <key>Info.plist</key>
24
24
  <data>
25
- ap3n7B6rUPhKEpCaGRpLgRAt390=
25
+ V5mWH0mFVcFIg3+ty69jiq+X3uc=
26
26
  </data>
27
27
  <key>Modules/Dynatrace.swiftmodule/Project/arm64-apple-tvos-simulator.swiftsourceinfo</key>
28
28
  <data>
29
- r27++Fm8pAhcrPs861pVQqs+K+c=
29
+ JFcOs56DZteICs6xAu9Ls/tupkM=
30
30
  </data>
31
31
  <key>Modules/Dynatrace.swiftmodule/Project/x86_64-apple-tvos-simulator.swiftsourceinfo</key>
32
32
  <data>
33
- p8+F21T5IhdERV/Sa6m3fIgFo88=
33
+ ++t+1SVT78bdnoYPdtKMGZbEhJk=
34
34
  </data>
35
35
  <key>Modules/Dynatrace.swiftmodule/arm64-apple-tvos-simulator.abi.json</key>
36
36
  <data>
@@ -50,7 +50,7 @@
50
50
  </data>
51
51
  <key>Modules/Dynatrace.swiftmodule/arm64-apple-tvos-simulator.swiftmodule</key>
52
52
  <data>
53
- OjMxO1vdWCnEpnOS+6lg+pBdwW4=
53
+ A1uvrLIE/Vj5wK4+JdFjef/hS/Y=
54
54
  </data>
55
55
  <key>Modules/Dynatrace.swiftmodule/x86_64-apple-tvos-simulator.abi.json</key>
56
56
  <data>
@@ -70,7 +70,7 @@
70
70
  </data>
71
71
  <key>Modules/Dynatrace.swiftmodule/x86_64-apple-tvos-simulator.swiftmodule</key>
72
72
  <data>
73
- Xx7OeKo3zu/vYmoNyqFcdyMzv5Q=
73
+ qgW9/9Ak8Xv0XNwWR/dTLBE8zcU=
74
74
  </data>
75
75
  <key>Modules/module.modulemap</key>
76
76
  <data>
@@ -90,7 +90,7 @@
90
90
  <dict>
91
91
  <key>hash2</key>
92
92
  <data>
93
- CqclrjlCxIl6kZAXppPi7s0aqNcd9zrJhG2I2j06TxQ=
93
+ v6xgR0hc67MYVeOJrAPktN4CaweOsXdttN24LOG+1Uk=
94
94
  </data>
95
95
  </dict>
96
96
  <key>Headers/DynatraceSwiftUI.h</key>
@@ -111,14 +111,14 @@
111
111
  <dict>
112
112
  <key>hash2</key>
113
113
  <data>
114
- RxrtNBAelwvhhHOiVigJDnnxm1secE/TtN547pdPHRI=
114
+ mLMfGjZFbsHNH5dRS+QMZHmtaicn+Ci01ETURDUoXl0=
115
115
  </data>
116
116
  </dict>
117
117
  <key>Modules/Dynatrace.swiftmodule/Project/x86_64-apple-tvos-simulator.swiftsourceinfo</key>
118
118
  <dict>
119
119
  <key>hash2</key>
120
120
  <data>
121
- meuU1XRVfHmRrCe11QUGX/uP0a3fDDXFg3iZdqMeZag=
121
+ gGAUqUkuL8wbwleAQ2aWp/T1D6gqFAvZxtRfo3FQpT0=
122
122
  </data>
123
123
  </dict>
124
124
  <key>Modules/Dynatrace.swiftmodule/arm64-apple-tvos-simulator.abi.json</key>
@@ -153,7 +153,7 @@
153
153
  <dict>
154
154
  <key>hash2</key>
155
155
  <data>
156
- VtpJjghtgGGatsfqBd1zkY5RGNDu6aY9evNl/xGxyro=
156
+ jvTzh67lWuideAD0jBPPJAnI6lTdh+kWNorC/CK8pvs=
157
157
  </data>
158
158
  </dict>
159
159
  <key>Modules/Dynatrace.swiftmodule/x86_64-apple-tvos-simulator.abi.json</key>
@@ -188,7 +188,7 @@
188
188
  <dict>
189
189
  <key>hash2</key>
190
190
  <data>
191
- SzG+HfALPqVugOXFGU+PKRcaXRZ7nWnloohZz9dkbKo=
191
+ oGseKteFcaSQ05EyAt3nZuGEuNauL3lFzDspXkTTYwg=
192
192
  </data>
193
193
  </dict>
194
194
  <key>Modules/module.modulemap</key>
@@ -1 +1 @@
1
- "use strict";var o,n=require("@babel/runtime/helpers/interopRequireDefault"),r=n(require("@babel/runtime/helpers/toConsumableArray")),c=(Object.defineProperty(exports,"t",{value:!0}),exports.instrument=void 0,require("path")),a=require("jscodeshift"),i=require("jscodeshift/src/Collection"),e=require("../../scripts/FileOperationHelper"),t=require("../../scripts/PathsConstants"),u=require("../react-native/Touchables.InstrInfo"),l=require("../react-native/RefreshControl.InstrInfo"),f=require("../community/gesture-handler/Touchables.InstrInfo"),v=require("../community/Picker.InstrInfo"),s=require("./parser/Babel"),d=require("./model/Types"),p=(!function(n){n[n.i=-1]="Filtered",n[n.u=0]="Normal",n[n.o=1]="ReactNative",n[n.l=2]="React"}(o=o||{}),[]),m=(p.push.apply(p,(0,r.default)(u.instrumentationInfo)),p.push.apply(p,(0,r.default)(l.instrumentationInfo)),p.push.apply(p,(0,r.default)(f.instrumentationInfo)),p.push.apply(p,(0,r.default)(v.instrumentationInfo)),["AppRegistry","renderApplication"]),instrument=function(n,r,e){r=h(r);var t=P(r);if(t!==o.i){var i=!1,u=g(r,n);if(t===o.l)j(u),i=!0;else if(t===o.o)r.endsWith("AppRegistry.js")?void 0!==e&&e.autoStart&&(D(u),i=!0):r.endsWith("renderApplication.js")&&(y(u),i=!0);else{var t=x(r,e);if(!t.input&&!t.lifecycle)return null!=e&&e.debug&&console.log("Dynatrace - Filtered All: ".concat(r)),N(r),n;t.lifecycle&&y(u)&&(i=!0),t.input&&p.forEach(function(n){n=E(u,n);u=n.root,i=i||n.v})}i?(n=u.toSource({quote:"single"}),I(n,r)):N(r),null!=e&&e.debug&&i&&console.log("Dynatrace - Modified Filename: "+r)}else r.includes(c.join("@dynatrace","react-native-plugin"))&&r.endsWith(c.join("lib","instrumentor","base","configuration","ConfigurationDefaults.js"))&&void 0!==e&&(t=g(r,n),void 0!==e.debug&&A(t,"debugAuto",e.debug),void 0!==e.lifecycle&&A(t,"lifecycleUpdateAuto",e.lifecycle.includeUpdate),void 0!==e.bundleName&&A(t,"bundleNameAuto",e.bundleName),void 0!==e.input&&A(t,"actionNamePrivacyAuto",e.input.actionNamePrivacy),n=t.toSource({quote:"single"}),I(n,r));return n},y=(exports.instrument=instrument,function(n){var r=n.findJSXElements(),t=!1;return 0<r.length&&(n.find(a.FunctionDeclaration).forEach(function(n){var r,e=(0,i.fromPaths)([n]);0<e.findJSXElements().length&&null!=n&&null!=n.value&&null!=n.value.id&&n.value.id.name&&(r=e.find(a.ClassDeclaration),e=e.find(a.ClassExpression),0===r.length)&&0===e.length&&(b(n,d.Types.FunctionalComponent,n.value.id.name),t=!0)}),n.find(a.ClassDeclaration).forEach(function(n){0<(0,i.fromPaths)([n]).findJSXElements().length&&null!=n&&null!=n.value&&n.value.id&&n.value.id.name&&(b(n,d.Types.ClassComponent,n.value.id.name),t=!0)}),n.find(a.ArrowFunctionExpression).forEach(function(n){0<(0,i.fromPaths)([n]).findJSXElements().length&&null!=n.parent&&null!=n.parent.value&&null!=n.parent.value.id&&null!=n.parent.value.id.name&&(b(n,d.Types.FunctionalComponent,n.parent.value.id.name),t=!0)})),t}),b=function(n,r,e){for(r=a.expressionStatement(a.assignmentExpression("=",a.memberExpression(a.identifier(e),a.identifier("_dtInfo")),q(r,e)));void 0!==n.parentPath&&"body"!==n.parentPath.name;)n=n.parentPath;void 0!==n.parentPath&&n.insertAfter(r)},q=function(n,r){return a.objectExpression([a.objectProperty(a.identifier("type"),a.numericLiteral(n)),a.objectProperty(a.identifier("name"),a.stringLiteral(r))])},A=function(n,r,e){var n=n.find(a.Identifier).filter(function(n){return n.node.name===r&&"VariableDeclarator"===n.parent.value.type});1===n.length&&("NumericLiteral"===(n=n.paths()[0].parent.value).init.type&&"number"==typeof e?n.init=a.numericLiteral(e):"StringLiteral"===n.init.type&&"string"==typeof e?n.init=a.stringLiteral(e):"BooleanLiteral"===n.init.type&&"boolean"==typeof e&&(n.init=a.booleanLiteral(e)))},g=function(n,r){return a.withParser((0,s.babelParser)(c.extname(n)))(r)},h=function(n){return c.isAbsolute(n)?n.replace(t.default.getApplicationPath()+c.sep,""):n},N=function(n){try{var r=c.join(t.default.getBuildPath(),n+".dtx");e.default.checkIfFileExistsSync(r),e.default.deleteFileSync(r)}catch(n){}},I=function(n,r){r=c.join(t.default.getBuildPath(),r);try{e.default.checkIfFileExistsSync(c.dirname(r))}catch(n){e.default.createDirectorySync(c.dirname(r))}e.default.writeTextToFileSync(r+".dtx",n)},x=function(n,r){var e={input:!1,lifecycle:!1};return void 0!==r&&(void 0!==r.lifecycle&&void 0!==r.lifecycle.instrument&&r.lifecycle.instrument(n)&&(e.lifecycle=!0),void 0!==r.input)&&void 0!==r.input.instrument&&r.input.instrument(n)&&(e.input=!0),e},j=function(n){var r,n=n.find(a.Program);1===n.length&&(r=a.expressionStatement(a.callExpression(a.memberExpression(a.callExpression(a.identifier("require"),[a.stringLiteral("@dynatrace/react-native-plugin/lib/instrumentor/base/ElementHelper")]),a.identifier("instrumentCreateElement")),[a.memberExpression(a.identifier("module"),a.identifier("exports"))])),n.paths()[0].node.body.push(r))},D=function(n){var r=R(n,"runApplication",!0);1===r.length&&(Q(n,{p:"_DynatraceApplicationHandler",module:"@dynatrace/react-native-plugin",reference:"ApplicationHandler"}),C(r.paths()[0].parent.value.body.body,0,W("_DynatraceApplicationHandler","startup")))},C=function(n,r){for(var e=arguments.length,t=new Array(2<e?e-2:0),i=2;i<e;i++)t[i-2]=arguments[i];return n.splice.apply(n,[r,0].concat(t))},R=function(n,r,t){for(var e=arguments.length,i=new Array(3<e?e-3:0),u=3;u<e;u++)i[u-3]=arguments[u];return n.find(a.Identifier).filter(function(n){return n.node.name===r}).filter(function(n){var r=void 0!==n.parent&&void 0!==n.parent.value;t||(r=r&&void 0!==n.parent.value.params&&n.parent.value.params.length===i.length);for(var e=0;e<0;e++)r=r&&n.parent.value.params[e].name===i[e];return r})},P=function(n){if(n.includes("@dynatrace"))return o.i;var r=c.extname(n);if(".js"!==r&&".ts"!==r&&".tsx"!==r&&".jsx"!==r)return o.i;for(var e=c.parse(n),t=e.dir.split(c.sep),i=0;i<t.length;i++)if("node_modules"===t[i]){if("react-native"===t[i+1]||"create-react-class"===t[i+1]||"react-clone-referenced-element"===t[i+1])return m.includes(e.name)?o.o:o.i;if("react"===t[i+1]&&"index"===e.name)return o.l}return o.u},T=function(n,r,e){var t=w(n,r,e);return B(n,r,e)||t},w=function(n,r,e){var t=J(n,r);return 0<t.length&&(void 0!==(t=L(t,r.reference,!1))&&(e.p=t.localName),G(n,e),!0)},B=function(n,r,e){var t=H(n,r.module);if(1===t.length){t=L(t,r.reference,!0);if(void 0!==t)return K(n,e.defaultImport,t.localName,"ImportNamespaceSpecifier"===t.type),!0}return!1},E=function(n,r){var e=JSON.parse(JSON.stringify(r.new));return{root:n,v:T(n,r.old,e)||M(n,r.old,r.new.defaultImport)}},J=function(n,r){return n.find(a.ImportDeclaration).filter(function(n){return n.node.source.value===r.module&&null!=n.node.specifiers&&n.node.specifiers.some(function(n){return _(n)&&n.imported.name===r.reference||n.local&&n.local.name===r.reference})})},_=function(n){return void 0!==n.imported},M=function(n,r,e){var t=!1;return n.find(a.CallExpression).filter(function(n){return k(n.node.callee)&&U(n.node.arguments[0])&&n.node.arguments[0].value===r.module&&void 0!==n.parent}).forEach(function(n){(void 0===n.parent.value.property||void 0!==n.parent.value.property&&void 0!==n.parent.value.property.name&&n.parent.value.property.name===r.reference)&&(n.node.arguments[0].value=e,t=t||!0)}),t},k=function(n){return"require"===n.name},U=function(n){return"StringLiteral"===n.type||"Literal"===n.type},H=function(n,r){return n.find(a.ImportDeclaration).filter(function(n){return n.node.source.value===r})},L=function(n,e,t){var i;return n.forEach(function(n){void 0!==n.node.specifiers&&(n.node.specifiers=n.node.specifiers.filter(function(n){var r;return _(n)&&!t?((r=n.imported.name!==e)||null==n.local||n.imported.name===n.local.name||(i={localName:n.local.name,type:n.type}),r):!(!_(n)&&t&&(null!=n.local&&(i={localName:n.local.name,type:n.type}),1))}),0===n.node.specifiers.length)&&n.prune()}),i},V=function(n,r){n.find(a.ImportDeclaration).filter(function(n){return n.node.source.value===r.module}).forEach(function(n){null!=n.node.specifiers&&n.node.specifiers.push(O(r))})},z=function(n,r,e){n.find(a.ImportDeclaration).filter(function(n){return n.node.source.value===r}).forEach(function(n){null!=n.node.specifiers&&n.node.specifiers.push(e)})},S=function(n,r,e){var t=n.find(a.ImportDeclaration);0<t.length?a(t.paths()[0]).insertAfter(F(r,e)):1===(t=n.find(a.Program)).length&&t.paths()[0].node.body.unshift(F(r,e))},G=function(n,r){0<H(n,r.module).length?V(n,r):S(n,r.module,[O(r)])},K=function(n,r,e,t){var i=H(n,r),t=(t?tn:en)(e);0<i.length?z(n,r,t):S(n,r,[t])},Q=function(n,r){n=n.find(a.VariableDeclaration);0<n.length&&a(n.paths()[0]).insertAfter(Y(r))},W=function(n,r){return a.expressionStatement(X(n,r,[]))},X=function(n,r,e){return a.callExpression(nn(n,r),e)},Y=function(n){return a.variableDeclaration("var",[Z(n)])},Z=function(n){return a.variableDeclarator(void 0!==n.p?a.identifier(n.p):a.identifier(n.reference),$(n))},$=function(n){return a.memberExpression(rn(n),a.identifier(n.reference))},nn=function(n,r){return a.memberExpression(a.identifier(n),a.identifier(r))},rn=function(n){return a.callExpression(a.identifier("require"),[a.literal(n.module)])},F=function(n,r){return a.importDeclaration(r,a.literal(n))},O=function(n){return void 0!==n.p?a.importSpecifier(a.identifier(n.reference),a.identifier(n.p)):a.importSpecifier(a.identifier(n.reference))},en=function(n){return a.importDefaultSpecifier(a.identifier(n))},tn=function(n){return a.importNamespaceSpecifier(a.identifier(n))};
1
+ "use strict";var o,n=require("@babel/runtime/helpers/interopRequireDefault"),r=n(require("@babel/runtime/helpers/toConsumableArray")),a=(Object.defineProperty(exports,"t",{value:!0}),exports.instrument=void 0,require("path")),c=require("jscodeshift"),i=require("jscodeshift/src/Collection"),e=require("../../scripts/FileOperationHelper"),t=require("../../scripts/PathsConstants"),u=require("../react-native/Touchables.InstrInfo"),l=require("../react-native/RefreshControl.InstrInfo"),f=require("../community/gesture-handler/Touchables.InstrInfo"),d=require("../community/Picker.InstrInfo"),s=require("./parser/Babel"),v=require("./model/Types"),p=(!function(n){n[n.i=-1]="Filtered",n[n.u=0]="Normal",n[n.o=1]="ReactNative",n[n.l=2]="React"}(o=o||{}),[]),m=(p.push.apply(p,(0,r.default)(u.instrumentationInfo)),p.push.apply(p,(0,r.default)(l.instrumentationInfo)),p.push.apply(p,(0,r.default)(f.instrumentationInfo)),p.push.apply(p,(0,r.default)(d.instrumentationInfo)),["AppRegistry","renderApplication","setUpErrorHandling"]),instrument=function(n,r,e){r=h(r);var t=w(r);if(t!==o.i){var i=!1,u=A(r,n);if(t===o.l)O(u),i=!0;else if(t===o.o)r.endsWith("AppRegistry.js")?void 0!==e&&e.autoStart&&(P(u),i=!0):r.endsWith("renderApplication.js")?(y(u),i=!0):r.endsWith("setUpErrorHandling.js")&&(T(u,e.autoStart),i=!0);else{var t=I(r,e);if(!t.input&&!t.lifecycle)return null!=e&&e.debug&&console.log("Dynatrace - Filtered All: ".concat(r)),N(r),n;t.lifecycle&&y(u)&&(i=!0),t.input&&p.forEach(function(n){n=k(u,n);u=n.root,i=i||n.v})}i?(n=u.toSource({quote:"single"}),H(n,r)):N(r),null!=e&&e.debug&&i&&console.log("Dynatrace - Modified Filename: "+r)}else r.includes(a.join("@dynatrace","react-native-plugin"))&&r.endsWith(a.join("lib","instrumentor","base","configuration","ConfigurationDefaults.js"))&&void 0!==e&&(t=A(r,n),void 0!==e.debug&&g(t,"debugAuto",e.debug),void 0!==e.lifecycle&&g(t,"lifecycleUpdateAuto",e.lifecycle.includeUpdate),void 0!==e.bundleName&&g(t,"bundleNameAuto",e.bundleName),void 0!==e.input&&g(t,"actionNamePrivacyAuto",e.input.actionNamePrivacy),n=t.toSource({quote:"single"}),H(n,r));return n},y=(exports.instrument=instrument,function(n){var r=n.findJSXElements(),t=!1;return 0<r.length&&(n.find(c.FunctionDeclaration).forEach(function(n){var r,e=(0,i.fromPaths)([n]);0<e.findJSXElements().length&&null!=n&&null!=n.value&&null!=n.value.id&&n.value.id.name&&(r=e.find(c.ClassDeclaration),e=e.find(c.ClassExpression),0===r.length)&&0===e.length&&(b(n,v.Types.FunctionalComponent,n.value.id.name),t=!0)}),n.find(c.ClassDeclaration).forEach(function(n){0<(0,i.fromPaths)([n]).findJSXElements().length&&null!=n&&null!=n.value&&n.value.id&&n.value.id.name&&(b(n,v.Types.ClassComponent,n.value.id.name),t=!0)}),n.find(c.ArrowFunctionExpression).forEach(function(n){0<(0,i.fromPaths)([n]).findJSXElements().length&&null!=n.parent&&null!=n.parent.value&&null!=n.parent.value.id&&null!=n.parent.value.id.name&&(b(n,v.Types.FunctionalComponent,n.parent.value.id.name),t=!0)})),t}),b=function(n,r,e){for(r=c.expressionStatement(c.assignmentExpression("=",c.memberExpression(c.identifier(e),c.identifier("_dtInfo")),q(r,e)));void 0!==n.parentPath&&"body"!==n.parentPath.name;)n=n.parentPath;void 0!==n.parentPath&&n.insertAfter(r)},q=function(n,r){return c.objectExpression([c.objectProperty(c.identifier("type"),c.numericLiteral(n)),c.objectProperty(c.identifier("name"),c.stringLiteral(r))])},g=function(n,r,e){var n=n.find(c.Identifier).filter(function(n){return n.node.name===r&&"VariableDeclarator"===n.parent.value.type});1===n.length&&("NumericLiteral"===(n=n.paths()[0].parent.value).init.type&&"number"==typeof e?n.init=c.numericLiteral(e):"StringLiteral"===n.init.type&&"string"==typeof e?n.init=c.stringLiteral(e):"BooleanLiteral"===n.init.type&&"boolean"==typeof e&&(n.init=c.booleanLiteral(e)))},A=function(n,r){return c.withParser((0,s.babelParser)(a.extname(n)))(r)},h=function(n){return a.isAbsolute(n)?n.replace(t.default.getApplicationPath()+a.sep,""):n},N=function(n){try{var r=a.join(t.default.getBuildPath(),n+".dtx");e.default.checkIfFileExistsSync(r),e.default.deleteFileSync(r)}catch(n){}},H=function(n,r){r=a.join(t.default.getBuildPath(),r);try{e.default.checkIfFileExistsSync(a.dirname(r))}catch(n){e.default.createDirectorySync(a.dirname(r))}e.default.writeTextToFileSync(r+".dtx",n)},I=function(n,r){var e={input:!1,lifecycle:!1};return void 0!==r&&(void 0!==r.lifecycle&&void 0!==r.lifecycle.instrument&&r.lifecycle.instrument(n)&&(e.lifecycle=!0),void 0!==r.input)&&void 0!==r.input.instrument&&r.input.instrument(n)&&(e.input=!0),e},O=function(n){var r,n=n.find(c.Program);1===n.length&&(r=c.expressionStatement(c.callExpression(c.memberExpression(c.callExpression(c.identifier("require"),[c.stringLiteral("@dynatrace/react-native-plugin/lib/instrumentor/base/ElementHelper")]),c.identifier("instrumentCreateElement")),[c.memberExpression(c.identifier("module"),c.identifier("exports"))])),n.paths()[0].node.body.push(r))},P=function(n){var r=U(n,"runApplication",!0);1===r.length&&(Z(n,{p:"_DynatraceApplicationHandler",module:"@dynatrace/react-native-plugin",reference:"ApplicationHandler"}),j(r.paths()[0].parent.value.body.body,0,C("_DynatraceApplicationHandler","startup",[])))},T=function(n,r){n=n.paths()[0].value.program.body;null!=n&&(j(n,n.length,R({p:"_DynatraceErrorHandler",module:"@dynatrace/react-native-plugin/lib/instrumentor/base/ErrorHandler",reference:""})),j(n,n.length,C("_DynatraceErrorHandler","registerErrorHandler",[])))},j=function(n,r){for(var e=arguments.length,t=new Array(2<e?e-2:0),i=2;i<e;i++)t[i-2]=arguments[i];return n.splice.apply(n,[r,0].concat(t))},U=function(n,r,t){for(var e=arguments.length,i=new Array(3<e?e-3:0),u=3;u<e;u++)i[u-3]=arguments[u];return n.find(c.Identifier).filter(function(n){return n.node.name===r}).filter(function(n){var r=void 0!==n.parent&&void 0!==n.parent.value;t||(r=r&&void 0!==n.parent.value.params&&n.parent.value.params.length===i.length);for(var e=0;e<0;e++)r=r&&n.parent.value.params[e].name===i[e];return r})},w=function(n){if(n.includes("@dynatrace"))return o.i;var r=a.extname(n);if(".js"!==r&&".ts"!==r&&".tsx"!==r&&".jsx"!==r)return o.i;for(var e=a.parse(n),t=e.dir.split(a.sep),i=0;i<t.length;i++)if("node_modules"===t[i]){if("react-native"===t[i+1]||"create-react-class"===t[i+1]||"react-clone-referenced-element"===t[i+1])return m.includes(e.name)?o.o:o.i;if("react"===t[i+1]&&"index"===e.name)return o.l}return o.u},B=function(n,r,e){var t=J(n,r,e);return M(n,r,e)||t},J=function(n,r,e){var t=V(n,r);return 0<t.length&&(void 0!==(t=E(t,r.reference,!1))&&(e.p=t.localName),X(n,e),!0)},M=function(n,r,e){var t=D(n,r.module);if(1===t.length){t=E(t,r.reference,!0);if(void 0!==t)return Y(n,e.defaultImport,t.localName,"ImportNamespaceSpecifier"===t.type),!0}return!1},k=function(n,r){var e=JSON.parse(JSON.stringify(r.new));return{root:n,v:B(n,r.old,e)||z(n,r.old,r.new.defaultImport)}},V=function(n,r){return n.find(c.ImportDeclaration).filter(function(n){return n.node.source.value===r.module&&null!=n.node.specifiers&&n.node.specifiers.some(function(n){return x(n)&&n.imported.name===r.reference||n.local&&n.local.name===r.reference})})},x=function(n){return void 0!==n.imported},z=function(n,r,e){var t=!1;return n.find(c.CallExpression).filter(function(n){return G(n.node.callee)&&K(n.node.arguments[0])&&n.node.arguments[0].value===r.module&&void 0!==n.parent}).forEach(function(n){(void 0===n.parent.value.property||void 0!==n.parent.value.property&&void 0!==n.parent.value.property.name&&n.parent.value.property.name===r.reference)&&(n.node.arguments[0].value=e,t=t||!0)}),t},G=function(n){return"require"===n.name},K=function(n){return"StringLiteral"===n.type||"Literal"===n.type},D=function(n,r){return n.find(c.ImportDeclaration).filter(function(n){return n.node.source.value===r})},E=function(n,e,t){var i;return n.forEach(function(n){void 0!==n.node.specifiers&&(n.node.specifiers=n.node.specifiers.filter(function(n){var r;return x(n)&&!t?((r=n.imported.name!==e)||null==n.local||n.imported.name===n.local.name||(i={localName:n.local.name,type:n.type}),r):!(!x(n)&&t&&(null!=n.local&&(i={localName:n.local.name,type:n.type}),1))}),0===n.node.specifiers.length)&&n.prune()}),i},Q=function(n,r){n.find(c.ImportDeclaration).filter(function(n){return n.node.source.value===r.module}).forEach(function(n){null!=n.node.specifiers&&n.node.specifiers.push(F(r))})},W=function(n,r,e){n.find(c.ImportDeclaration).filter(function(n){return n.node.source.value===r}).forEach(function(n){null!=n.node.specifiers&&n.node.specifiers.push(e)})},_=function(n,r,e){var t=n.find(c.ImportDeclaration);0<t.length?c(t.paths()[0]).insertAfter(S(r,e)):1===(t=n.find(c.Program)).length&&t.paths()[0].node.body.unshift(S(r,e))},X=function(n,r){0<D(n,r.module).length?Q(n,r):_(n,r.module,[F(r)])},Y=function(n,r,e,t){var i=D(n,r),t=(t?un:tn)(e);0<i.length?W(n,r,t):_(n,r,[t])},Z=function(n,r){n=n.find(c.VariableDeclaration);0<n.length&&c(n.paths()[0]).insertAfter(R(r))},C=function(n,r,e){return c.expressionStatement($(n,r,e))},$=function(n,r,e){return c.callExpression(en(n,r),e)},R=function(n){return c.variableDeclaration("var",[nn(n)])},nn=function(n){return c.variableDeclarator(void 0!==n.p?c.identifier(n.p):c.identifier(n.reference),(0<n.reference.length?rn:L)(n))},rn=function(n){return c.memberExpression(L(n),c.identifier(n.reference))},en=function(n,r){return c.memberExpression(c.identifier(n),c.identifier(r))},L=function(n){return c.callExpression(c.identifier("require"),[c.literal(n.module)])},S=function(n,r){return c.importDeclaration(r,c.literal(n))},F=function(n){return void 0!==n.p?c.importSpecifier(c.identifier(n.reference),c.identifier(n.p)):c.importSpecifier(c.identifier(n.reference))},tn=function(n){return c.importDefaultSpecifier(c.identifier(n))},un=function(n){return c.importNamespaceSpecifier(c.identifier(n))};
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ApplicationHandler = void 0;
4
- const ErrorHandler_1 = require("./ErrorHandler");
5
- const Dynatrace_1 = require("./Dynatrace");
6
4
  const Configuration_1 = require("./configuration/Configuration");
7
5
  const Logger_1 = require("./Logger");
8
6
  exports.ApplicationHandler = {
@@ -10,7 +8,6 @@ exports.ApplicationHandler = {
10
8
  if (!Configuration_1.Configuration.isConfigurationAvailable()) {
11
9
  Logger_1.Logger.logDebug('Configuration set: ' +
12
10
  JSON.stringify(Configuration_1.Configuration.loadConfiguration()));
13
- (0, ErrorHandler_1.ErrorHandler)(Dynatrace_1.Dynatrace, Logger_1.Logger).registerErrorHandler();
14
11
  Logger_1.Logger.logInfo('Dynatrace React Native Plugin started!');
15
12
  }
16
13
  },
@@ -17,7 +17,6 @@ const DataCollectionLevel_1 = require("./model/DataCollectionLevel");
17
17
  const UserPrivacyOptions_1 = require("./UserPrivacyOptions");
18
18
  const Logger_1 = require("./Logger");
19
19
  const Configuration_1 = require("./configuration/Configuration");
20
- const ErrorHandler_1 = require("./ErrorHandler");
21
20
  const DynatraceRootAction_1 = require("./DynatraceRootAction");
22
21
  const NullRootAction_1 = require("./NullRootAction");
23
22
  const DynatraceInternal_1 = require("./DynatraceInternal");
@@ -28,9 +27,6 @@ exports.Dynatrace = {
28
27
  if (!Configuration_1.Configuration.isConfigurationAvailable()) {
29
28
  if (configuration !== undefined) {
30
29
  yield DynatraceBridge_1.DynatraceNative.start(configuration);
31
- if (configuration.reportCrash != null) {
32
- (0, ErrorHandler_1.ErrorHandler)(exports.Dynatrace, Logger_1.Logger).registerErrorHandler();
33
- }
34
30
  Configuration_1.Configuration.setConfiguration(configuration);
35
31
  Logger_1.Logger.logDebug('Manual Configuration set: ' + JSON.stringify(configuration));
36
32
  }
@@ -155,7 +151,7 @@ exports.Dynatrace = {
155
151
  }
156
152
  }
157
153
  Logger_1.Logger.logDebug(`Dynatrace reportCrash(${crashName}, ${reason}, ${stacktrace})`);
158
- DynatraceBridge_1.DynatraceNative.reportCrash(crashName, reason, stacktrace, false, platform);
154
+ DynatraceBridge_1.DynatraceNative.reportCrash(crashName, reason, stacktrace, false, true, platform);
159
155
  }
160
156
  }
161
157
  else {
@@ -174,7 +170,7 @@ exports.Dynatrace = {
174
170
  }
175
171
  }
176
172
  Logger_1.Logger.logDebug(`Dynatrace reportCrashWithException(${crashName}, ${crash.stack})`);
177
- DynatraceBridge_1.DynatraceNative.reportCrash(crashName, crashReason, crash.stack, true, platform);
173
+ DynatraceBridge_1.DynatraceNative.reportCrash(crashName, crashReason, crash.stack, true, true, platform);
178
174
  }
179
175
  }
180
176
  else {
@@ -4,6 +4,7 @@ exports.DynatraceInternal = void 0;
4
4
  const StringUtils_1 = require("./util/StringUtils");
5
5
  const DynatraceBridge_1 = require("./DynatraceBridge");
6
6
  const Logger_1 = require("./Logger");
7
+ const ErrorHandler_1 = require("./ErrorHandler");
7
8
  let counter = 0;
8
9
  exports.DynatraceInternal = {
9
10
  reportErrorFromHandler: (isFatal, errorName, reason, stacktrace, platform) => {
@@ -15,7 +16,7 @@ exports.DynatraceInternal = {
15
16
  }
16
17
  Logger_1.Logger.logDebug(`Dynatrace reportErrorStacktrace(${isFatal}, ${errorName}, ${reason}, ${stacktrace})`);
17
18
  if (isFatal) {
18
- DynatraceBridge_1.DynatraceNative.reportCrash(errorName, reason, stacktrace, true, platform);
19
+ DynatraceBridge_1.DynatraceNative.reportCrash(errorName, reason, stacktrace, true, __DEV__ || (0, ErrorHandler_1.isCustomErrorHandlerSet)(), platform);
19
20
  }
20
21
  else {
21
22
  DynatraceBridge_1.DynatraceNative.reportError(errorName, '-', reason, stacktrace, platform);
@@ -7,6 +7,7 @@ const Logger_1 = require("./Logger");
7
7
  const Picker_1 = require("./Picker");
8
8
  const Touchable_1 = require("./Touchable");
9
9
  const Dynatrace_1 = require("./Dynatrace");
10
+ const RefreshControl_1 = require("./RefreshControl");
10
11
  const instrumentCreateElement = (reactModule) => {
11
12
  if (reactModule != null && reactModule.createElement != null) {
12
13
  const reactCreateElement = reactModule.createElement;
@@ -30,7 +31,10 @@ const instrumentCreateElement = (reactModule) => {
30
31
  exports.instrumentCreateElement = instrumentCreateElement;
31
32
  const modifyElement = (type, props, ...children) => {
32
33
  if (props != null) {
33
- if (type._dtInfo.type === Types_1.Types.Button ||
34
+ if (type._dtInfo.type === Types_1.Types.RefreshControl && props.onRefresh != null) {
35
+ (0, RefreshControl_1.RefreshControlHelper)(Dynatrace_1.Dynatrace, Logger_1.Logger).attachOnRefresh(props);
36
+ }
37
+ else if (type._dtInfo.type === Types_1.Types.Button ||
34
38
  type._dtInfo.type === Types_1.Types.Text ||
35
39
  type._dtInfo.type === Types_1.Types.Pressable ||
36
40
  (0, Types_1.isTypeTouchable)(type._dtInfo.type)) {
@@ -1,48 +1,53 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ErrorHandler = void 0;
3
+ exports._reportErrorToDynatrace = exports.isCustomErrorHandlerSet = exports.registerErrorHandler = void 0;
4
4
  const DynatraceInternal_1 = require("./DynatraceInternal");
5
+ const Dynatrace_1 = require("./Dynatrace");
5
6
  const StringUtils_1 = require("./util/StringUtils");
7
+ const Logger_1 = require("./Logger");
8
+ let _isCustomErrorHandlerSet = false;
6
9
  const _isReactNativeGlobal = (globalScope) => globalScope.ErrorUtils !== undefined;
7
- const ErrorHandler = (Dynatrace, Logger) => ({
8
- registerErrorHandler() {
9
- if (global !== undefined && _isReactNativeGlobal(global)) {
10
- const oldHandler = global.ErrorUtils.getGlobalHandler();
11
- global.ErrorUtils.setGlobalHandler((error, isFatal) => {
12
- this._reportErrorToDynatrace(error, isFatal, oldHandler);
10
+ const registerErrorHandler = () => {
11
+ if (global !== undefined && _isReactNativeGlobal(global)) {
12
+ const oldHandler = global.ErrorUtils.getGlobalHandler();
13
+ global.ErrorUtils.setGlobalHandler((error, isFatal) => {
14
+ (0, exports._reportErrorToDynatrace)(error, isFatal, oldHandler);
15
+ });
16
+ const setter = global.ErrorUtils.setGlobalHandler;
17
+ global.ErrorUtils.setGlobalHandler = (errorHandler) => {
18
+ _isCustomErrorHandlerSet = true;
19
+ setter((error, isFatal) => {
20
+ (0, exports._reportErrorToDynatrace)(error, isFatal, errorHandler);
13
21
  });
14
- const setter = global.ErrorUtils.setGlobalHandler;
15
- global.ErrorUtils.setGlobalHandler = (errorHandler) => {
16
- setter((error, isFatal) => {
17
- this._reportErrorToDynatrace(error, isFatal, errorHandler);
18
- });
19
- };
20
- }
21
- },
22
- _reportErrorToDynatrace: (exception, isFatal, oldHandler) => {
23
- if (exception != null && isExceptionAnError(exception)) {
24
- if (!StringUtils_1.StringUtils.isStringNullEmptyOrUndefined(exception.name)) {
25
- if (isFatal === undefined) {
26
- isFatal = false;
27
- }
28
- if (exception.stack != null) {
29
- DynatraceInternal_1.DynatraceInternal.reportErrorFromHandler(isFatal, String(exception.name), exception.message, exception.stack);
30
- Logger.logDebug(`ErrorHandler _reportErrorToDynatrace(${exception}, ${isFatal})`);
31
- }
32
- else {
33
- Dynatrace.reportError(String(exception.name) + ': ' + exception.message, -1);
34
- Logger.logDebug(`ErrorHandler _reportErrorToDynatrace(${exception})`);
35
- }
22
+ };
23
+ }
24
+ };
25
+ exports.registerErrorHandler = registerErrorHandler;
26
+ const isCustomErrorHandlerSet = () => _isCustomErrorHandlerSet;
27
+ exports.isCustomErrorHandlerSet = isCustomErrorHandlerSet;
28
+ const _reportErrorToDynatrace = (exception, isFatal, oldHandler) => {
29
+ if (exception != null && isExceptionAnError(exception)) {
30
+ if (!StringUtils_1.StringUtils.isStringNullEmptyOrUndefined(exception.name)) {
31
+ if (isFatal === undefined) {
32
+ isFatal = false;
33
+ }
34
+ if (exception.stack != null) {
35
+ DynatraceInternal_1.DynatraceInternal.reportErrorFromHandler(isFatal, String(exception.name), exception.message, exception.stack);
36
+ Logger_1.Logger.logDebug(`ErrorHandler _reportErrorToDynatrace(${exception}, ${isFatal})`);
37
+ }
38
+ else {
39
+ Dynatrace_1.Dynatrace.reportError(String(exception.name) + ': ' + exception.message, -1);
40
+ Logger_1.Logger.logDebug(`ErrorHandler _reportErrorToDynatrace(${exception})`);
36
41
  }
37
42
  }
38
- else {
39
- Dynatrace.reportError(String(exception), -1);
40
- Logger.logDebug(`ErrorHandler _reportErrorToDynatrace(${exception})`);
41
- }
42
- if (oldHandler !== undefined) {
43
- oldHandler(exception, isFatal);
44
- }
45
- },
46
- });
47
- exports.ErrorHandler = ErrorHandler;
43
+ }
44
+ else {
45
+ Dynatrace_1.Dynatrace.reportError(String(exception), -1);
46
+ Logger_1.Logger.logDebug(`ErrorHandler _reportErrorToDynatrace(${exception})`);
47
+ }
48
+ if (oldHandler !== undefined) {
49
+ oldHandler(exception, isFatal);
50
+ }
51
+ };
52
+ exports._reportErrorToDynatrace = _reportErrorToDynatrace;
48
53
  const isExceptionAnError = (exception) => exception.message !== undefined;
@@ -1,20 +1,29 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.PickerHelper = void 0;
4
13
  const PickerHelper = (Dynatrace, Logger) => ({
5
14
  attachToOnValueChange(onValueChange, children) {
6
- return (itemValue, itemNumber) => {
15
+ return (itemValue, itemNumber) => __awaiter(this, void 0, void 0, function* () {
7
16
  const value = this.getPickerItemValue(children, itemNumber, itemValue);
8
17
  if (value !== undefined) {
9
18
  const action = Dynatrace.enterAutoAction(`Picked Value: ${value}`);
10
19
  if (onValueChange !== undefined) {
11
- onValueChange(itemValue, itemNumber);
20
+ yield onValueChange(itemValue, itemNumber);
12
21
  }
13
22
  if (action != null) {
14
23
  action.leaveAction();
15
24
  }
16
25
  }
17
- };
26
+ });
18
27
  },
19
28
  getPickerItemValue: (children, index, value) => {
20
29
  if (children != null && index >= 0) {
@@ -1,32 +1,25 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.RefreshControlHelper = void 0;
4
13
  const RefreshControlHelper = (Dynatrace, Logger) => ({
5
- attachToRender(refreshControl) {
6
- if (refreshControl.render !== undefined) {
7
- const renderOrig = refreshControl.render.bind(refreshControl);
8
- refreshControl.render = () => this.renderRefreshControl(renderOrig);
9
- }
10
- },
11
- renderRefreshControl(renderOrig) {
12
- const refreshControlRender = renderOrig();
13
- if (refreshControlRender != null &&
14
- refreshControlRender.props != null &&
15
- refreshControlRender.props.onRefresh) {
16
- return Object.assign(Object.assign({}, refreshControlRender), { props: Object.assign(Object.assign({}, refreshControlRender.props), { onRefresh: () => {
17
- this.onRefresh(refreshControlRender);
18
- } }) });
19
- }
20
- else {
21
- return refreshControlRender;
22
- }
23
- },
24
- onRefresh: (refreshControl) => {
25
- const action = Dynatrace.enterAutoAction('Swipe to Refesh');
26
- if (refreshControl.props.onRefresh !== undefined) {
27
- refreshControl.props.onRefresh();
28
- }
29
- action.leaveAction();
14
+ attachOnRefresh: (refreshControlProps) => {
15
+ const origOnRefresh = refreshControlProps.onRefresh;
16
+ refreshControlProps.onRefresh = () => __awaiter(void 0, void 0, void 0, function* () {
17
+ const action = Dynatrace.enterAutoAction('Swipe to Refesh');
18
+ if (origOnRefresh != null) {
19
+ yield origOnRefresh();
20
+ }
21
+ action.leaveAction();
22
+ });
30
23
  },
31
24
  });
32
25
  exports.RefreshControlHelper = RefreshControlHelper;
@@ -1,4 +1,13 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.TouchableHelper = void 0;
4
13
  const Configuration_1 = require("./configuration/Configuration");
@@ -9,17 +18,17 @@ const TouchableHelper = (Dynatrace, Logger) => ({
9
18
  : props.onPress;
10
19
  const nameOfAction = this._findActionName(props, children);
11
20
  const isButton = this._isPropsButton(props);
12
- return (event) => {
21
+ return (event) => __awaiter(this, void 0, void 0, function* () {
13
22
  if (nameOfAction == null) {
14
23
  Logger.logDebug('TouchableHelper: Skipping creation of action as no name was found!');
15
24
  if (origFunction != null) {
16
- origFunction(event);
25
+ yield origFunction(event);
17
26
  }
18
27
  }
19
28
  else if (!Configuration_1.Configuration.isConfigurationAvailable()) {
20
29
  Logger.logInfo('TouchableHelper: React Native plugin has not been started yet! Touch will not be reported!');
21
30
  if (origFunction != null) {
22
- origFunction(event);
31
+ yield origFunction(event);
23
32
  }
24
33
  }
25
34
  else {
@@ -29,11 +38,11 @@ const TouchableHelper = (Dynatrace, Logger) => ({
29
38
  }
30
39
  const action = Dynatrace.enterAutoAction(`Touch on ${finalNameOfAction}`);
31
40
  if (origFunction != null) {
32
- origFunction(event);
41
+ yield origFunction(event);
33
42
  }
34
43
  action.leaveAction();
35
44
  }
36
- };
45
+ });
37
46
  },
38
47
  _findActionName(props, children) {
39
48
  if (this._isDynatraceProperties(props)) {
@@ -18,6 +18,7 @@ var Types;
18
18
  Types[Types["TouchableNativeFeedbackGestureHandler"] = 12] = "TouchableNativeFeedbackGestureHandler";
19
19
  Types[Types["TouchableWithoutFeedbackGestureHandler"] = 13] = "TouchableWithoutFeedbackGestureHandler";
20
20
  Types[Types["RectButtonGestureHandler"] = 14] = "RectButtonGestureHandler";
21
+ Types[Types["RefreshControl"] = 15] = "RefreshControl";
21
22
  })(Types = exports.Types || (exports.Types = {}));
22
23
  const isTypeReactNativeTouchable = (type) => type === Types.TouchableHighlight
23
24
  || type === Types.TouchableNativeFeedback
@@ -1,14 +1,15 @@
1
1
  "use strict";
2
+ var _a;
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.RefreshControl = void 0;
4
5
  const ReactNative = require("react-native");
5
- const Dynatrace_1 = require("../instrumentor/base/Dynatrace");
6
- const Logger_1 = require("../instrumentor/base/Logger");
7
- const RefreshControl_1 = require("../instrumentor/base/RefreshControl");
8
- class RefreshControl extends ReactNative.RefreshControl {
9
- constructor(props, context) {
10
- super(props, context);
11
- (0, RefreshControl_1.RefreshControlHelper)(Dynatrace_1.Dynatrace, Logger_1.Logger).attachToRender(this);
12
- }
6
+ const Types_1 = require("../instrumentor/model/Types");
7
+ if (typeof ReactNative.RefreshControl === 'object') {
8
+ exports.RefreshControl = Object.assign({ _dtInfo: { type: Types_1.Types.RefreshControl } }, ReactNative.RefreshControl);
9
+ }
10
+ else {
11
+ exports.RefreshControl = (_a = class RefreshControl extends ReactNative.RefreshControl {
12
+ },
13
+ _a._dtInfo = { type: Types_1.Types.RefreshControl },
14
+ _a);
13
15
  }
14
- exports.RefreshControl = RefreshControl;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynatrace/react-native-plugin",
3
- "version": "2.271.2",
3
+ "version": "2.273.1",
4
4
  "description": "This plugin gives you the ability to use the Dynatrace Mobile agent in your react native application.",
5
5
  "main": "index.js",
6
6
  "types": "typings/react-native-dynatrace.d.ts",
@@ -71,7 +71,7 @@
71
71
  "author": "Dynatrace",
72
72
  "license": "SEE LICENSE IN LICENSE.md",
73
73
  "dependencies": {
74
- "@babel/runtime": "^7.22.6",
74
+ "@babel/runtime": "^7.22.10",
75
75
  "jscodeshift": "^0.15.0",
76
76
  "plist": "^3.1.0",
77
77
  "proxy-polyfill": "^0.3.2",