@dynatrace/react-native-plugin 2.327.1 → 2.329.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 (53) hide show
  1. package/README.md +426 -169
  2. package/android/build.gradle +1 -1
  3. package/android/src/main/java/com/dynatrace/android/agent/DynatraceConfigurationModule.kt +48 -0
  4. package/android/src/main/java/com/dynatrace/android/agent/DynatraceRNBridgeImpl.kt +41 -8
  5. package/android/src/main/java/com/dynatrace/android/agent/DynatraceReactPackage.kt +3 -0
  6. package/android/src/main/java/com/dynatrace/android/agent/DynatraceRuntimeConfigurationStore.kt +14 -0
  7. package/android/src/main/java/com/dynatrace/android/agent/DynatraceUtils.kt +103 -47
  8. package/android/src/new/java/com/dynatrace/android/agent/DynatraceRNBridge.kt +12 -4
  9. package/android/src/old/java/com/dynatrace/android/agent/DynatraceRNBridge.kt +15 -5
  10. package/files/default.config.js +7 -0
  11. package/files/plugin-runtime.gradle +7 -17
  12. package/files/plugin.gradle +1 -1
  13. package/instrumentation/DynatraceInstrumentation.js +1 -1
  14. package/instrumentation/libs/react-native/Touchables.js +9 -0
  15. package/instrumentation/libs/react-navigation/ReactNavigation.js +53 -18
  16. package/ios/ConfigurationSubscriber.h +15 -0
  17. package/ios/DynatraceRNBridge.h +4 -0
  18. package/ios/DynatraceRNBridge.mm +220 -33
  19. package/lib/core/Dynatrace.js +8 -11
  20. package/lib/core/configuration/ConfigurationHandler.js +3 -0
  21. package/lib/next/Dynatrace.js +14 -32
  22. package/lib/next/DynatraceEventBus.js +35 -0
  23. package/lib/next/appstart/AppStartObserver.js +12 -16
  24. package/lib/next/configuration/INativeRuntimeConfiguration.js +7 -0
  25. package/lib/next/configuration/RuntimeConfigurationObserver.js +40 -0
  26. package/lib/next/events/EventBuilderUtil.js +7 -0
  27. package/lib/next/events/EventData.js +28 -0
  28. package/lib/next/events/EventPipeline.js +5 -11
  29. package/lib/next/events/ExceptionEventData.js +26 -0
  30. package/lib/next/events/{HttpRequestEventBuilder.js → HttpRequestEventData.js} +28 -52
  31. package/lib/next/events/SessionPropertyEventData.js +22 -0
  32. package/lib/next/events/interface/IBaseEvent.js +2 -0
  33. package/lib/next/events/interface/IEventData.js +2 -0
  34. package/lib/next/events/interface/IExceptionEventData.js +2 -0
  35. package/lib/next/events/interface/IHttpRequestEventData.js +2 -0
  36. package/lib/next/events/interface/ISessionPropertyEventData.js +2 -0
  37. package/lib/next/events/modifier/BaseDataEventModifier.js +1 -3
  38. package/lib/next/events/modifier/EventModifierUtil.js +34 -41
  39. package/lib/next/events/modifier/ModifyEventValidation.js +118 -26
  40. package/lib/next/events/modifier/SendEventValidation.js +53 -22
  41. package/lib/next/events/modifier/StringLengthEventModifier.js +53 -0
  42. package/lib/next/events/spec/EventSpecContstants.js +9 -2
  43. package/package.json +8 -3
  44. package/public.js +9 -3
  45. package/react-native-dynatrace.podspec +1 -1
  46. package/scripts/Config.js +6 -2
  47. package/scripts/LineOffsetAnalyze.js +1 -4
  48. package/scripts/core/LineOffsetAnalyzeCall.js +39 -46
  49. package/src/lib/core/interface/NativeDynatraceBridge.ts +6 -2
  50. package/types.d.ts +388 -158
  51. package/lib/next/events/ViewInfoCreator.js +0 -27
  52. package/lib/next/events/modifier/EventLimitation.js +0 -69
  53. /package/lib/next/events/{IHttpRequestEventBuilder.js → interface/EventProperty.js} +0 -0
@@ -4,6 +4,7 @@ import { TurboModuleRegistry } from 'react-native';
4
4
 
5
5
  // eslint-disable-next-line import/no-internal-modules
6
6
  import { UnsafeObject } from 'react-native/Libraries/Types/CodegenTypes';
7
+ import { INativeRuntimeConfiguration } from '../../next/configuration/INativeRuntimeConfiguration';
7
8
 
8
9
  export interface Spec extends TurboModule {
9
10
  // Event Listener for AppStart
@@ -18,6 +19,8 @@ export interface Spec extends TurboModule {
18
19
  PLATFORM_IOS: string;
19
20
  };
20
21
 
22
+ getCurrentConfiguration(): Promise<INativeRuntimeConfiguration | null>;
23
+
21
24
  start(configuration: UnsafeObject): Promise<boolean>;
22
25
 
23
26
  enterAction(name: string, key: string, platform?: string): void;
@@ -136,7 +139,6 @@ export interface Spec extends TurboModule {
136
139
 
137
140
  getDataCollectionLevel(platform?: string): Promise<string>;
138
141
 
139
- // eslint-disable-next-line @typescript-eslint/ban-types
140
142
  setBeaconHeaders(headers?: Object | null, platform?: string): void;
141
143
 
142
144
  getUserPrivacyOptions(platform?: string): Promise<NativeUserPrivacyOptions>;
@@ -166,7 +168,9 @@ export interface Spec extends TurboModule {
166
168
 
167
169
  startView(name: string): void;
168
170
 
169
- stopView(): void;
171
+ startViewInternal(fields: UnsafeObject): void;
172
+
173
+ stopViewInternal(): void;
170
174
  }
171
175
 
172
176
  // eslint-disable-next-line @typescript-eslint/consistent-type-definitions