@truewatchtech/react-native-mobile 0.3.15 → 0.4.0-alpha.4

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 (78) hide show
  1. package/FTMobileReactNativeSDK.podspec +2 -1
  2. package/android/build.gradle +21 -3
  3. package/android/src/main/java/com/ft/sdk/reactnative/FTSessionReplayImpl.java +60 -0
  4. package/android/src/main/java/com/ft/sdk/reactnative/FTTraceImpl.java +1 -1
  5. package/android/src/main/java/com/ft/sdk/reactnative/extensions/ReactDrawablesExt.java +155 -0
  6. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/NoopTextPropertiesResolver.java +23 -0
  7. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/ReactNativeSessionReplayExtensionSupport.java +57 -0
  8. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/ShadowNodeWrapper.java +84 -0
  9. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/TextPropertiesResolver.java +20 -0
  10. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/mappers/DefaultMapper.java +78 -0
  11. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/mappers/Pair.java +11 -0
  12. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/mappers/ReactEditTextMapper.java +136 -0
  13. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/mappers/ReactNativeImageViewMapper.java +117 -0
  14. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/mappers/ReactTextMapper.java +57 -0
  15. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/mappers/ReactViewGroupMapper.java +22 -0
  16. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/mappers/ReactViewModalMapper.java +21 -0
  17. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/resources/ReactDrawableCopier.java +35 -0
  18. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/utils/DrawableUtils.java +34 -0
  19. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/utils/ReflectionUtils.java +43 -0
  20. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/utils/text/FabricTextViewUtils.java +69 -0
  21. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/utils/text/LegacyTextViewUtils.java +97 -0
  22. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/utils/text/TextViewUtils.java +184 -0
  23. package/android/src/main/java/com/ft/sdk/reactnative/utils/ColorUtils.java +24 -0
  24. package/android/src/newarch/java/com/ft/sdk/reactnative/FTSessionReplayModule.java +30 -0
  25. package/android/src/oldarch/java/com/ft/sdk/reactnative/FTSessionReplayModule.java +25 -0
  26. package/android/src/rn69/java/com/ft/sdk/reactnative/sessionreplay/utils/ReactViewBackgroundDrawableUtils.java +100 -0
  27. package/android/src/rn75/java/com/ft/sdk/reactnative/sessionreplay/extensions/LengthPercentageExt.java +27 -0
  28. package/android/src/rn75/java/com/ft/sdk/reactnative/sessionreplay/utils/ReactViewBackgroundDrawableUtils.java +116 -0
  29. package/android/src/rn76/java/com/ft/sdk/reactnative/sessionreplay/extensions/LengthPercentageExt.java +38 -0
  30. package/android/src/rn76/java/com/ft/sdk/reactnative/sessionreplay/utils/ReactViewBackgroundDrawableUtils.java +117 -0
  31. package/android/src/rn79/java/com/ft/sdk/reactnative/sessionreplay/extensions/LengthPercentageExt.java +38 -0
  32. package/android/src/rn79/java/com/ft/sdk/reactnative/sessionreplay/utils/ReactViewBackgroundDrawableUtils.java +132 -0
  33. package/android/src/rn80/java/com/ft/sdk/reactnative/sessionreplay/extensions/ComputedBorderRadiusExt.java +58 -0
  34. package/android/src/rn80/java/com/ft/sdk/reactnative/sessionreplay/utils/ReactViewBackgroundDrawableUtils.java +190 -0
  35. package/android/src/rnlegacy/java/com/ft/sdk/reactnative/sessionreplay/utils/ReactViewBackgroundDrawableUtils.java +120 -0
  36. package/android/src/rnpost74/java/com/ft/sdk/reactnative/FTMobilePackage.java +3 -4
  37. package/android/src/rnpre74/java/com/ft/sdk/reactnative/FTMobilePackage.java +1 -0
  38. package/ios/FTMobileReactNative.m +3 -2
  39. package/ios/FTRCTTextViewRecorder.h +33 -0
  40. package/ios/FTRCTTextViewRecorder.m +120 -0
  41. package/ios/FTReactNativeLog.m +1 -1
  42. package/ios/FTReactNativeRUM.h +0 -1
  43. package/ios/FTReactNativeSessionReplay.h +6 -0
  44. package/ios/FTReactNativeSessionReplay.mm +44 -0
  45. package/ios/FTReactNativeTrace.h +0 -2
  46. package/ios/FTReactNativeTrace.m +0 -2
  47. package/ios/FtMobileAgent.xcodeproj/project.pbxproj +6 -0
  48. package/lib/commonjs/ft_logger.js.map +1 -1
  49. package/lib/commonjs/ft_mobile_agent.js.map +1 -1
  50. package/lib/commonjs/ft_rum.js.map +1 -1
  51. package/lib/commonjs/ft_session_replay.js +34 -0
  52. package/lib/commonjs/ft_session_replay.js.map +1 -0
  53. package/lib/commonjs/ft_tracing.js.map +1 -1
  54. package/lib/commonjs/index.js +19 -0
  55. package/lib/commonjs/index.js.map +1 -1
  56. package/lib/commonjs/version.js +1 -1
  57. package/lib/commonjs/version.js.map +1 -1
  58. package/lib/module/ft_logger.js.map +1 -1
  59. package/lib/module/ft_mobile_agent.js.map +1 -1
  60. package/lib/module/ft_rum.js.map +1 -1
  61. package/lib/module/ft_session_replay.js +29 -0
  62. package/lib/module/ft_session_replay.js.map +1 -0
  63. package/lib/module/ft_tracing.js.map +1 -1
  64. package/lib/module/index.js +2 -1
  65. package/lib/module/index.js.map +1 -1
  66. package/lib/module/version.js +1 -1
  67. package/lib/module/version.js.map +1 -1
  68. package/lib/typescript/ft_session_replay.d.ts +27 -0
  69. package/lib/typescript/index.d.ts +2 -1
  70. package/lib/typescript/version.d.ts +1 -1
  71. package/package.json +1 -1
  72. package/src/ft_logger.tsx +0 -1
  73. package/src/ft_mobile_agent.tsx +0 -1
  74. package/src/ft_rum.tsx +1 -3
  75. package/src/ft_session_replay.tsx +34 -0
  76. package/src/ft_tracing.tsx +0 -1
  77. package/src/index.tsx +3 -1
  78. package/src/version.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","FTRumErrorTracking","FTRumActionTracking","ErrorMonitorType","DeviceMetricsMonitorType","DetectFrequency","FTRUMCacheDiscard","FTReactNativeRUMWrapper","constructor","_defineProperty","FTReactNativeRUM","setConfig","config","console","log","enableAutoTrackError","startTracking","enableAutoTrackUserAction","rum","startAction","actionName","actionType","property","addAction","onCreateView","viewName","loadTime","startView","stopView","addError","stack","message","addErrorWithType","type","startResource","key","stopResource","addResource","resource","metrics"],"sources":["ft_rum.tsx"],"sourcesContent":["import { NativeModules } from 'react-native';\nimport { FTRumErrorTracking} from './rum/FTRumErrorTracking';\nimport { FTRumActionTracking} from './rum/FTRumActionTracking';\n\n/**\n * Error monitoring type.\n */\n export enum ErrorMonitorType {\n all=0xFFFFFFFF,\n battery=1 << 1,\n memory=1 << 2,\n cpu=1 << 3,\n }\n /**\n * Page monitoring supplement type\n */\n export enum DeviceMetricsMonitorType {\n all=0xFFFFFFFF,\n battery=1 << 1,\n memory=1 << 2,\n cpu=1 << 3,\n fps=1 << 4\n }\n /**\n * Device information monitoring cycle.\n */\n export enum DetectFrequency { normal, frequent, rare }\n\n export enum FTRUMCacheDiscard { discard, discardOldest };\n\n/**\n * Set RUM tracking conditions.\n * @param androidAppId appId, apply during monitoring\n * @param iOSAppId appId, apply during monitoring\n * @param sampleRate sampling rate\n * @param sessionOnErrorSampleRate error session sampling rate. For sessions not sampled, if ERROR is hit, collect data 1 minute before the error occurs\n * @param enableAutoTrackUserAction whether to automatically collect react-native control click events, can set actionName with accessibilityLabel when enabled\n * @param enableTrackError whether to automatically collect react-native Error\n * @param enableTrackNativeCrash whether to collect Native Error\n * @param enableTrackNativeAppANR whether to collect Native ANR\n * @param enableTrackNativeFreeze whether to collect Native Freeze\n * @param nativeFreezeDurationMs set the threshold for collecting Native Freeze, value range [100,), unit ms. iOS default 250ms, Android default 1000ms\n * @param enableNativeUserAction whether to start Native Action tracking, Button click events, recommended to disable for pure react-native apps\n * @param enableNativeUserView whether to start Native View auto tracking, recommended to disable for pure react-native apps\n * @param enableNativeUserResource whether to automatically collect react-native Resource\n * @param enableResourceHostIP whether to collect network request Host IP (only for native http, iOS 13 and above)\n * @param errorMonitorType error monitoring supplement type\n * @param deviceMonitorType page monitoring supplement type\n * @param detectFrequency monitoring frequency\n * @param globalContext custom global parameters\n * @param rumCacheLimitCount RUM max cache size, default 100_000\n * @param rumDiscardStrategy RUM data discard strategy\n */\n export interface FTRUMConfig{\n androidAppId:string,\n iOSAppId:string,\n sampleRate?:number,\n sessionOnErrorSampleRate?:number,\n enableAutoTrackUserAction?:boolean,\n enableAutoTrackError?:boolean,\n enableTrackNativeCrash?:boolean,\n enableTrackNativeAppANR?:boolean,\n enableTrackNativeFreeze?:boolean,\n nativeFreezeDurationMs?:number,\n enableNativeUserAction?:boolean,\n enableNativeUserView?:boolean,\n enableNativeUserResource?:boolean,\n enableResourceHostIP?:boolean,\n errorMonitorType?:ErrorMonitorType,\n deviceMonitorType?:DeviceMetricsMonitorType,\n detectFrequency?:DetectFrequency\n globalContext?:object,\n rumCacheLimitCount?:number,\n rumDiscardStrategy?:FTRUMCacheDiscard,\n }\n/**\n * RUM Resource data.\n * @param url request URL\n * @param httpMethod request method\n * @param requestHeader request header parameters\n * @param responseHeader response header parameters\n * @param responseBody response content\n * @param resourceStatus response status code\n */\n export interface FTRUMResource{\n url:string,\n httpMethod:string,\n requestHeader:object,\n responseHeader?:object,\n responseBody?:string,\n resourceStatus?:number\n };\n/**\n * RUM Resource performance metrics.\n * @param duration resource load time\n * @param resource_dns resource DNS resolution time\n * @param resource_tcp resource TCP connection time\n * @param resource_ssl resource SSL connection time\n * @param resource_ttfb resource request response time\n * @param resource_trans resource content transfer time\n * @param resource_first_byte resource first byte time\n */\n export interface FTRUMResourceMetrics{\n\n duration?:number,\n resource_dns?:number,\n resource_tcp?:number,\n resource_ssl?:number,\n resource_ttfb?:number,\n resource_trans?:number,\n resource_first_byte?:number,\n };\n type FTReactNativeRUMType = {\n /**\n * Set RUM tracking conditions and enable RUM collection.\n * @param config rum configuration parameters.\n * @returns a Promise.\n */\n setConfig(config:FTRUMConfig): Promise<void>;\n /**\n * Start RUM Action.\n * RUM will bind Resource, Error, LongTask events that may be triggered by this Action.\n * Avoid adding multiple times within 0.1s, only one Action will be associated with the same View at the same time, and new Actions will be discarded if the previous one has not ended.\n * Adding Action with `addAction` method does not affect each other.\n * @param actionName action name\n * @param actionType action type\n * @param property event context (optional)\n * @returns a Promise.\n */\n startAction(actionName:string,actionType:string,property?:object): Promise<void>;\n /**\n * Add Action event. This type of data cannot be associated with Error, Resource, LongTask data, and has no discard logic.\n * @param actionName action name\n * @param actionType action type\n * @param property event context (optional)\n * @returns a Promise.\n */\n addAction(actionName:string,actionType:string,property?:object): Promise<void>;\n /**\n * view load duration.\n * @param viewName view name\n * @param loadTime view load duration\n * @returns a Promise.\n */\n onCreateView(viewName:string,loadTime:number): Promise<void>;\n /**\n * view start.\n * @param viewName page name\n * @param property event context (optional)\n * @returns a Promise.\n */\n startView(viewName: string, property?: object): Promise<void>;\n /**\n * view end.\n * @param property event context (optional)\n * @returns a Promise.\n */\n stopView(property?:object): Promise<void>;\n /**\n * Exception capture and log collection.\n * @param stack stack log\n * @param message error message\n * @param property event context (optional)\n * @returns a Promise.\n */\n addError(stack: string, message: string,property?:object): Promise<void>;\n /**\n * Exception capture and log collection.\n * @param type error type\n * @param stack stack log\n * @param message error message\n * @param property event context (optional)\n * @returns a Promise.\n */\n addErrorWithType(type:string,stack: string, message: string,property?:object): Promise<void>;\n /**\n * Start resource request.\n * @param key unique id\n * @param property event context (optional)\n * @returns a Promise.\n */\n startResource(key: string,property?:object): Promise<void>;\n /**\n * End resource request.\n * @param key unique id\n * @param property event context (optional)\n * @returns a Promise.\n */\n stopResource(key: string,property?:object): Promise<void>;\n /**\n * Send resource data metrics.\n * @param key unique id\n * @param resource resource data\n * @param metrics resource performance data\n * @returns a Promise.\n */\n addResource(key:string, resource:FTRUMResource,metrics?:FTRUMResourceMetrics):Promise<void>;\n }\n\n class FTReactNativeRUMWrapper implements FTReactNativeRUMType {\n private rum: FTReactNativeRUMType = NativeModules.FTReactNativeRUM;\n\n\n setConfig(config:FTRUMConfig): Promise<void>{\n console.log('FTRUMConfig');\n if(config.enableAutoTrackError){\n FTRumErrorTracking.startTracking();\n }\n if(config.enableAutoTrackUserAction){\n FTRumActionTracking.startTracking();\n }\n return this.rum.setConfig(config);\n }\n startAction(actionName:string,actionType:string,property?:object): Promise<void>{\n return this.rum.startAction(actionName,actionType,property);\n }\n addAction(actionName: string, actionType: string, property?: object): Promise<void> {\n return this.rum.addAction(actionName,actionType,property);\n }\n onCreateView(viewName:string,loadTime:number): Promise<void>{\n return this.rum.onCreateView(viewName,loadTime);\n }\n startView(viewName: string, property?:object): Promise<void>{\n return this.rum.startView(viewName,property);\n }\n stopView(property?:object): Promise<void>{\n return this.rum.stopView(property);\n }\n addError(stack: string, message: string,property?:object): Promise<void>{\n return this.rum.addError(stack,message,property);\n }\n addErrorWithType(type:string,stack: string, message: string,property?:object): Promise<void>{\n return this.rum.addErrorWithType(type,stack,message,property);\n }\n startResource(key: string,property?:object): Promise<void>{\n return this.rum.startResource(key,property);\n }\n stopResource(key: string,property?:object): Promise<void>{\n return this.rum.stopResource(key,property);\n }\n addResource(key:string, resource:FTRUMResource,metrics:FTRUMResourceMetrics={}):Promise<void>{\n return this.rum.addResource(key,resource,metrics);\n }\n }\n\n export const FTReactNativeRUM: FTReactNativeRUMType = new FTReactNativeRUMWrapper();\n\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["NativeModules","FTRumErrorTracking","FTRumActionTracking","ErrorMonitorType","DeviceMetricsMonitorType","DetectFrequency","FTRUMCacheDiscard","FTReactNativeRUMWrapper","constructor","_defineProperty","FTReactNativeRUM","setConfig","config","console","log","enableAutoTrackError","startTracking","enableAutoTrackUserAction","rum","startAction","actionName","actionType","property","addAction","onCreateView","viewName","loadTime","startView","stopView","addError","stack","message","addErrorWithType","type","startResource","key","stopResource","addResource","resource","metrics"],"sources":["ft_rum.tsx"],"sourcesContent":["import { NativeModules } from 'react-native';\nimport { FTRumErrorTracking} from './rum/FTRumErrorTracking';\nimport { FTRumActionTracking} from './rum/FTRumActionTracking';\n\n/**\n * Error monitoring type.\n */\n export enum ErrorMonitorType {\n all=0xFFFFFFFF,\n battery=1 << 1,\n memory=1 << 2,\n cpu=1 << 3,\n }\n /**\n * Page monitoring supplement type\n */\n export enum DeviceMetricsMonitorType {\n all=0xFFFFFFFF,\n battery=1 << 1,\n memory=1 << 2,\n cpu=1 << 3,\n fps=1 << 4\n }\n /**\n * Device information monitoring cycle.\n */\n export enum DetectFrequency { normal, frequent, rare }\n\n export enum FTRUMCacheDiscard { discard, discardOldest };\n\n/**\n * Set RUM tracking conditions.\n * @param androidAppId appId, apply during monitoring\n * @param iOSAppId appId, apply during monitoring\n * @param sampleRate sampling rate\n * @param sessionOnErrorSampleRate error session sampling rate. For sessions not sampled, if ERROR is hit, collect data 1 minute before the error occurs\n * @param enableAutoTrackUserAction whether to automatically collect react-native control click events, can set actionName with accessibilityLabel when enabled\n * @param enableTrackError whether to automatically collect react-native Error\n * @param enableTrackNativeCrash whether to collect Native Error\n * @param enableTrackNativeAppANR whether to collect Native ANR\n * @param enableTrackNativeFreeze whether to collect Native Freeze\n * @param nativeFreezeDurationMs set the threshold for collecting Native Freeze, value range [100,), unit ms. iOS default 250ms, Android default 1000ms\n * @param enableNativeUserAction whether to start Native Action tracking, Button click events, recommended to disable for pure react-native apps\n * @param enableNativeUserView whether to start Native View auto tracking, recommended to disable for pure react-native apps\n * @param enableNativeUserResource whether to automatically collect react-native Resource\n * @param enableResourceHostIP whether to collect network request Host IP (only for native http, iOS 13 and above)\n * @param errorMonitorType error monitoring supplement type\n * @param deviceMonitorType page monitoring supplement type\n * @param detectFrequency monitoring frequency\n * @param globalContext custom global parameters\n * @param rumCacheLimitCount RUM max cache size, default 100_000\n * @param rumDiscardStrategy RUM data discard strategy\n */\n export interface FTRUMConfig{\n androidAppId:string,\n iOSAppId:string,\n sampleRate?:number,\n sessionOnErrorSampleRate?:number,\n enableAutoTrackUserAction?:boolean,\n enableAutoTrackError?:boolean,\n enableTrackNativeCrash?:boolean,\n enableTrackNativeAppANR?:boolean,\n enableTrackNativeFreeze?:boolean,\n nativeFreezeDurationMs?:number,\n enableNativeUserAction?:boolean,\n enableNativeUserView?:boolean,\n enableNativeUserResource?:boolean,\n enableResourceHostIP?:boolean,\n errorMonitorType?:ErrorMonitorType,\n deviceMonitorType?:DeviceMetricsMonitorType,\n detectFrequency?:DetectFrequency\n globalContext?:object,\n rumCacheLimitCount?:number,\n rumDiscardStrategy?:FTRUMCacheDiscard,\n }\n/**\n * RUM Resource data.\n * @param url request URL\n * @param httpMethod request method\n * @param requestHeader request header parameters\n * @param responseHeader response header parameters\n * @param responseBody response content\n * @param resourceStatus response status code\n */\n export interface FTRUMResource{\n url:string,\n httpMethod:string,\n requestHeader:object,\n responseHeader?:object,\n responseBody?:string,\n resourceStatus?:number\n };\n/**\n * RUM Resource performance metrics.\n * @param duration resource load time\n * @param resource_dns resource DNS resolution time\n * @param resource_tcp resource TCP connection time\n * @param resource_ssl resource SSL connection time\n * @param resource_ttfb resource request response time\n * @param resource_trans resource content transfer time\n * @param resource_first_byte resource first byte time\n */\n export interface FTRUMResourceMetrics{\n duration?:number,\n resource_dns?:number,\n resource_tcp?:number,\n resource_ssl?:number,\n resource_ttfb?:number,\n resource_trans?:number,\n resource_first_byte?:number,\n };\n type FTReactNativeRUMType = {\n /**\n * Set RUM tracking conditions and enable RUM collection.\n * @param config rum configuration parameters.\n * @returns a Promise.\n */\n setConfig(config:FTRUMConfig): Promise<void>;\n /**\n * Start RUM Action.\n * RUM will bind Resource, Error, LongTask events that may be triggered by this Action.\n * Avoid adding multiple times within 0.1s, only one Action will be associated with the same View at the same time, and new Actions will be discarded if the previous one has not ended.\n * Adding Action with `addAction` method does not affect each other.\n * @param actionName action name\n * @param actionType action type\n * @param property event context (optional)\n * @returns a Promise.\n */\n startAction(actionName:string,actionType:string,property?:object): Promise<void>;\n /**\n * Add Action event. This type of data cannot be associated with Error, Resource, LongTask data, and has no discard logic.\n * @param actionName action name\n * @param actionType action type\n * @param property event context (optional)\n * @returns a Promise.\n */\n addAction(actionName:string,actionType:string,property?:object): Promise<void>;\n /**\n * view load duration.\n * @param viewName view name\n * @param loadTime view load duration\n * @returns a Promise.\n */\n onCreateView(viewName:string,loadTime:number): Promise<void>;\n /**\n * view start.\n * @param viewName page name\n * @param property event context (optional)\n * @returns a Promise.\n */\n startView(viewName: string, property?: object): Promise<void>;\n /**\n * view end.\n * @param property event context (optional)\n * @returns a Promise.\n */\n stopView(property?:object): Promise<void>;\n /**\n * Exception capture and log collection.\n * @param stack stack log\n * @param message error message\n * @param property event context (optional)\n * @returns a Promise.\n */\n addError(stack: string, message: string,property?:object): Promise<void>;\n /**\n * Exception capture and log collection.\n * @param type error type\n * @param stack stack log\n * @param message error message\n * @param property event context (optional)\n * @returns a Promise.\n */\n addErrorWithType(type:string,stack: string, message: string,property?:object): Promise<void>;\n /**\n * Start resource request.\n * @param key unique id\n * @param property event context (optional)\n * @returns a Promise.\n */\n startResource(key: string,property?:object): Promise<void>;\n /**\n * End resource request.\n * @param key unique id\n * @param property event context (optional)\n * @returns a Promise.\n */\n stopResource(key: string,property?:object): Promise<void>;\n /**\n * Send resource data metrics.\n * @param key unique id\n * @param resource resource data\n * @param metrics resource performance data\n * @returns a Promise.\n */\n addResource(key:string, resource:FTRUMResource,metrics?:FTRUMResourceMetrics):Promise<void>;\n }\n\n class FTReactNativeRUMWrapper implements FTReactNativeRUMType {\n private rum: FTReactNativeRUMType = NativeModules.FTReactNativeRUM;\n\n setConfig(config:FTRUMConfig): Promise<void>{\n console.log('FTRUMConfig');\n if(config.enableAutoTrackError){\n FTRumErrorTracking.startTracking();\n }\n if(config.enableAutoTrackUserAction){\n FTRumActionTracking.startTracking();\n }\n return this.rum.setConfig(config);\n }\n startAction(actionName:string,actionType:string,property?:object): Promise<void>{\n return this.rum.startAction(actionName,actionType,property);\n }\n addAction(actionName: string, actionType: string, property?: object): Promise<void> {\n return this.rum.addAction(actionName,actionType,property);\n }\n onCreateView(viewName:string,loadTime:number): Promise<void>{\n return this.rum.onCreateView(viewName,loadTime);\n }\n startView(viewName: string, property?:object): Promise<void>{\n return this.rum.startView(viewName,property);\n }\n stopView(property?:object): Promise<void>{\n return this.rum.stopView(property);\n }\n addError(stack: string, message: string,property?:object): Promise<void>{\n return this.rum.addError(stack,message,property);\n }\n addErrorWithType(type:string,stack: string, message: string,property?:object): Promise<void>{\n return this.rum.addErrorWithType(type,stack,message,property);\n }\n startResource(key: string,property?:object): Promise<void>{\n return this.rum.startResource(key,property);\n }\n stopResource(key: string,property?:object): Promise<void>{\n return this.rum.stopResource(key,property);\n }\n addResource(key:string, resource:FTRUMResource,metrics:FTRUMResourceMetrics={}):Promise<void>{\n return this.rum.addResource(key,resource,metrics);\n }\n }\n\n export const FTReactNativeRUM: FTReactNativeRUMType = new FTReactNativeRUMWrapper();\n\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
3
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
+ import { NativeModules } from 'react-native';
5
+ /**
6
+ * Privacy level for content masking in session replay.
7
+ */
8
+ export let SessionReplayPrivacy = /*#__PURE__*/function (SessionReplayPrivacy) {
9
+ SessionReplayPrivacy[SessionReplayPrivacy["MASK"] = 0] = "MASK";
10
+ SessionReplayPrivacy[SessionReplayPrivacy["ALLOW"] = 1] = "ALLOW";
11
+ SessionReplayPrivacy[SessionReplayPrivacy["MASK_USER_INPUT"] = 2] = "MASK_USER_INPUT";
12
+ return SessionReplayPrivacy;
13
+ }({});
14
+ /**
15
+ * Set Session Replay configuration.
16
+ * @param sampleRate Sampling rate
17
+ * @param privacy Privacy level for content masking in session replay
18
+ */
19
+
20
+ class FTReactNativeSessionReplayWrapper {
21
+ constructor() {
22
+ _defineProperty(this, "sessionReplay", NativeModules.FTReactNativeSessionReplay);
23
+ }
24
+ sessionReplayConfig(config) {
25
+ return this.sessionReplay.sessionReplayConfig(config);
26
+ }
27
+ }
28
+ export const FTReactNativeSessionReplay = new FTReactNativeSessionReplayWrapper();
29
+ //# sourceMappingURL=ft_session_replay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeModules","SessionReplayPrivacy","FTReactNativeSessionReplayWrapper","constructor","_defineProperty","FTReactNativeSessionReplay","sessionReplayConfig","config","sessionReplay"],"sources":["ft_session_replay.tsx"],"sourcesContent":["import { NativeModules } from 'react-native';\n/**\n * Privacy level for content masking in session replay.\n */\nexport enum SessionReplayPrivacy {\n MASK ,\n ALLOW ,\n MASK_USER_INPUT\n}\n/**\n * Set Session Replay configuration.\n * @param sampleRate Sampling rate\n * @param privacy Privacy level for content masking in session replay\n */\nexport interface FTSessionReplayConfig{\n sampleRate?:number,\n privacy?:SessionReplayPrivacy\n }\ntype FTReactNativeSessionReplayType = {\n /**\n * Set Session Replay configuration and enable session replay\n * @param config Session Replay configuration parameters.\n * @returns a Promise.\n */\n sessionReplayConfig(config:FTSessionReplayConfig): Promise<void>;\n}\n\nclass FTReactNativeSessionReplayWrapper implements FTReactNativeSessionReplayType {\n private sessionReplay: FTReactNativeSessionReplayType = NativeModules.FTReactNativeSessionReplay;\n sessionReplayConfig(config:FTSessionReplayConfig): Promise<void>{\n return this.sessionReplay.sessionReplayConfig(config);\n }\n}\nexport const FTReactNativeSessionReplay: FTReactNativeSessionReplayType = new FTReactNativeSessionReplayWrapper();\n"],"mappings":";;;AAAA,SAASA,aAAa,QAAQ,cAAc;AAC5C;AACA;AACA;AACA,WAAYC,oBAAoB,0BAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;AAKhC;AACA;AACA;AACA;AACA;;AAcA,MAAMC,iCAAiC,CAA2C;EAAAC,YAAA;IAAAC,eAAA,wBACtBJ,aAAa,CAACK,0BAA0B;EAAA;EAChGC,mBAAmBA,CAACC,MAA4B,EAAgB;IAC5D,OAAO,IAAI,CAACC,aAAa,CAACF,mBAAmB,CAACC,MAAM,CAAC;EACzD;AACJ;AACA,OAAO,MAAMF,0BAA0D,GAAG,IAAIH,iCAAiC,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","TraceType","FTReactNativeTraceWrapper","constructor","_defineProperty","FTReactNativeTrace","setConfig","config","trace","getTraceHeader","key","url","getTraceHeaderFields"],"sources":["ft_tracing.tsx"],"sourcesContent":["import { NativeModules } from 'react-native';\n//FTReactNativeTrace\n\n/**\n * Trace types for use.\n */\n export enum TraceType {\n ddTrace,\n zipkinMulti,\n zipkinSingle,\n traceparent,\n skywalking,\n jaeger,\n };\n/**\n * Configure trace.\n * @param sampleRate sampling rate\n * @param traceType trace type\n * @param enableLinkRUMData whether to link with RUM data\n * @param enableNativeAutoTrace whether to enable automatic tracing\n */\n export interface FTTraceConfig{\n sampleRate?:number,\n traceType?:TraceType,\n enableLinkRUMData?:boolean,\n enableNativeAutoTrace?:boolean,\n };\n\n type FTReactNativeTraceType = {\n /**\n * Configure trace to enable distributed tracing.\n * @param config trace configuration parameters.\n * @returns a Promise.\n */\n setConfig(config: FTTraceConfig): Promise<void>; \n /**\n * Get trace HTTP request header data.\n * @param url request URL\n * @returns trace request header parameters\n * @deprecated use getTraceHeaderFields() replace.\n */\n getTraceHeader(key:String, url: String): Promise<object>;\n /**\n * Get trace HTTP request header data.\n * @param url request URL\n * @returns trace request header parameters\n */\n getTraceHeaderFields(url: String,key?:String): Promise<object>;\n };\n\n class FTReactNativeTraceWrapper implements FTReactNativeTraceType {\n private trace: FTReactNativeTraceType = NativeModules.FTReactNativeTrace;\n\n\n setConfig(config:FTTraceConfig): Promise<void>{\n return this.trace.setConfig(config);\n }\n /**\n * Get trace HTTP request header data.\n * @param key unique id\n * @param url request URL\n * @returns a Promise.\n */\n getTraceHeader(key:String, url: String): Promise<object>{\n return this.trace.getTraceHeaderFields(url,key);\n }\n /**\n * Get trace HTTP request header data.\n * @param url request URL\n * @param key unique id\n * @returns a Promise.\n */\n getTraceHeaderFields(url: String,key?:String): Promise<object>{\n return this.trace.getTraceHeaderFields(url,key);\n }\n\n }\n export const FTReactNativeTrace:FTReactNativeTraceType = new FTReactNativeTraceWrapper(); \n\n"],"mappings":";;;AAAA,SAASA,aAAa,QAAQ,cAAc;AAC5C;;AAEA;AACA;AACA;AACC,WAAYC,SAAS,0BAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAAA,OAATA,SAAS;AAAA;AAOpB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;AAME;AAwBD,MAAMC,yBAAyB,CAAmC;EAAAC,YAAA;IAAAC,eAAA,gBACxBJ,aAAa,CAACK,kBAAkB;EAAA;EAGxEC,SAASA,CAACC,MAAoB,EAAgB;IAC5C,OAAO,IAAI,CAACC,KAAK,CAACF,SAAS,CAACC,MAAM,CAAC;EACrC;EACD;AACF;AACA;AACA;AACA;AACA;EACGE,cAAcA,CAACC,GAAU,EAAEC,GAAW,EAAkB;IACtD,OAAO,IAAI,CAACH,KAAK,CAACI,oBAAoB,CAACD,GAAG,EAACD,GAAG,CAAC;EACjD;EACC;AACJ;AACA;AACA;AACA;AACA;EACGE,oBAAoBA,CAACD,GAAW,EAACD,GAAW,EAAkB;IAC7D,OAAO,IAAI,CAACF,KAAK,CAACI,oBAAoB,CAACD,GAAG,EAACD,GAAG,CAAC;EAChD;AAEF;AACA,OAAO,MAAML,kBAAyC,GAAG,IAAIH,yBAAyB,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["NativeModules","TraceType","FTReactNativeTraceWrapper","constructor","_defineProperty","FTReactNativeTrace","setConfig","config","trace","getTraceHeader","key","url","getTraceHeaderFields"],"sources":["ft_tracing.tsx"],"sourcesContent":["import { NativeModules } from 'react-native';\n//FTReactNativeTrace\n\n/**\n * Trace types for use.\n */\n export enum TraceType {\n ddTrace,\n zipkinMulti,\n zipkinSingle,\n traceparent,\n skywalking,\n jaeger,\n };\n/**\n * Configure trace.\n * @param sampleRate sampling rate\n * @param traceType trace type\n * @param enableLinkRUMData whether to link with RUM data\n * @param enableNativeAutoTrace whether to enable automatic tracing\n */\n export interface FTTraceConfig{\n sampleRate?:number,\n traceType?:TraceType,\n enableLinkRUMData?:boolean,\n enableNativeAutoTrace?:boolean,\n };\n\n type FTReactNativeTraceType = {\n /**\n * Configure trace to enable distributed tracing.\n * @param config trace configuration parameters.\n * @returns a Promise.\n */\n setConfig(config: FTTraceConfig): Promise<void>; \n /**\n * Get trace HTTP request header data.\n * @param url request URL\n * @returns trace request header parameters\n * @deprecated use getTraceHeaderFields() replace.\n */\n getTraceHeader(key:String, url: String): Promise<object>;\n /**\n * Get trace HTTP request header data.\n * @param url request URL\n * @returns trace request header parameters\n */\n getTraceHeaderFields(url: String,key?:String): Promise<object>;\n };\n\n class FTReactNativeTraceWrapper implements FTReactNativeTraceType {\n private trace: FTReactNativeTraceType = NativeModules.FTReactNativeTrace;\n\n setConfig(config:FTTraceConfig): Promise<void>{\n return this.trace.setConfig(config);\n }\n /**\n * Get trace HTTP request header data.\n * @param key unique id\n * @param url request URL\n * @returns a Promise.\n */\n getTraceHeader(key:String, url: String): Promise<object>{\n return this.trace.getTraceHeaderFields(url,key);\n }\n /**\n * Get trace HTTP request header data.\n * @param url request URL\n * @param key unique id\n * @returns a Promise.\n */\n getTraceHeaderFields(url: String,key?:String): Promise<object>{\n return this.trace.getTraceHeaderFields(url,key);\n }\n\n }\n export const FTReactNativeTrace:FTReactNativeTraceType = new FTReactNativeTraceWrapper(); \n\n"],"mappings":";;;AAAA,SAASA,aAAa,QAAQ,cAAc;AAC5C;;AAEA;AACA;AACA;AACC,WAAYC,SAAS,0BAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAAA,OAATA,SAAS;AAAA;AAOpB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;AAME;AAwBD,MAAMC,yBAAyB,CAAmC;EAAAC,YAAA;IAAAC,eAAA,gBACxBJ,aAAa,CAACK,kBAAkB;EAAA;EAExEC,SAASA,CAACC,MAAoB,EAAgB;IAC5C,OAAO,IAAI,CAACC,KAAK,CAACF,SAAS,CAACC,MAAM,CAAC;EACrC;EACD;AACF;AACA;AACA;AACA;AACA;EACGE,cAAcA,CAACC,GAAU,EAAEC,GAAW,EAAkB;IACtD,OAAO,IAAI,CAACH,KAAK,CAACI,oBAAoB,CAACD,GAAG,EAACD,GAAG,CAAC;EACjD;EACC;AACJ;AACA;AACA;AACA;AACA;EACGE,oBAAoBA,CAACD,GAAW,EAACD,GAAW,EAAkB;IAC7D,OAAO,IAAI,CAACF,KAAK,CAACI,oBAAoB,CAACD,GAAG,EAACD,GAAG,CAAC;EAChD;AAEF;AACA,OAAO,MAAML,kBAAyC,GAAG,IAAIH,yBAAyB,CAAC,CAAC","ignoreList":[]}
@@ -2,7 +2,8 @@ import { FTMobileConfig, FTMobileReactNative, EnvType, FTDBCacheDiscard } from '
2
2
  import { FTLogConfig, FTReactNativeLog, FTLogStatus, FTLogCacheDiscard } from './ft_logger';
3
3
  import { FTRUMConfig, FTRUMResource, FTReactNativeRUM, ErrorMonitorType, DeviceMetricsMonitorType, DetectFrequency, FTRUMResourceMetrics, FTRUMCacheDiscard } from './ft_rum';
4
4
  import { FTTraceConfig, FTReactNativeTrace, TraceType } from './ft_tracing';
5
+ import { FTSessionReplayConfig, SessionReplayPrivacy, FTReactNativeSessionReplay } from './ft_session_replay';
5
6
  import { FTRumActionTracking } from './rum/FTRumActionTracking';
6
7
  import { FTRumErrorTracking } from './rum/FTRumErrorTracking';
7
- export { FTMobileReactNative, FTMobileConfig, EnvType, FTDBCacheDiscard, FTLogConfig, FTReactNativeLog, FTLogStatus, FTLogCacheDiscard, FTRUMConfig, FTReactNativeRUM, FTRUMResource, ErrorMonitorType, DeviceMetricsMonitorType, DetectFrequency, FTRUMResourceMetrics, FTRUMCacheDiscard, FTTraceConfig, FTReactNativeTrace, TraceType, FTRumActionTracking, FTRumErrorTracking };
8
+ export { FTMobileReactNative, FTMobileConfig, EnvType, FTDBCacheDiscard, FTLogConfig, FTReactNativeLog, FTLogStatus, FTLogCacheDiscard, FTRUMConfig, FTReactNativeRUM, FTRUMResource, ErrorMonitorType, DeviceMetricsMonitorType, DetectFrequency, FTRUMResourceMetrics, FTRUMCacheDiscard, FTTraceConfig, FTReactNativeTrace, TraceType, FTSessionReplayConfig, SessionReplayPrivacy, FTReactNativeSessionReplay, FTRumActionTracking, FTRumErrorTracking };
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["FTMobileConfig","FTMobileReactNative","EnvType","FTDBCacheDiscard","FTLogConfig","FTReactNativeLog","FTLogStatus","FTLogCacheDiscard","FTRUMConfig","FTRUMResource","FTReactNativeRUM","ErrorMonitorType","DeviceMetricsMonitorType","DetectFrequency","FTRUMResourceMetrics","FTRUMCacheDiscard","FTTraceConfig","FTReactNativeTrace","TraceType","FTRumActionTracking","FTRumErrorTracking"],"sources":["index.tsx"],"sourcesContent":["import {FTMobileConfig,FTMobileReactNative,EnvType,FTDBCacheDiscard} from './ft_mobile_agent'\nimport {FTLogConfig,FTReactNativeLog,FTLogStatus,FTLogCacheDiscard} from './ft_logger'\nimport {FTRUMConfig,FTRUMResource,FTReactNativeRUM,ErrorMonitorType,DeviceMetricsMonitorType,DetectFrequency,FTRUMResourceMetrics,FTRUMCacheDiscard} from './ft_rum'\nimport {FTTraceConfig,FTReactNativeTrace,TraceType} from './ft_tracing'\nimport {FTRumActionTracking} from './rum/FTRumActionTracking'\nimport {FTRumErrorTracking} from './rum/FTRumErrorTracking'\n\n \n export {\n FTMobileReactNative,FTMobileConfig,EnvType,FTDBCacheDiscard,\n FTLogConfig, FTReactNativeLog,FTLogStatus,FTLogCacheDiscard,\n FTRUMConfig,FTReactNativeRUM,FTRUMResource,ErrorMonitorType,DeviceMetricsMonitorType,DetectFrequency,FTRUMResourceMetrics,FTRUMCacheDiscard,\n FTTraceConfig,FTReactNativeTrace,TraceType,\n FTRumActionTracking,\n FTRumErrorTracking\n };\n\n"],"mappings":"AAAA,SAAQA,cAAc,EAACC,mBAAmB,EAACC,OAAO,EAACC,gBAAgB,QAAO,mBAAmB;AAC7F,SAAQC,WAAW,EAACC,gBAAgB,EAACC,WAAW,EAACC,iBAAiB,QAAO,aAAa;AACtF,SAAQC,WAAW,EAACC,aAAa,EAACC,gBAAgB,EAACC,gBAAgB,EAACC,wBAAwB,EAACC,eAAe,EAACC,oBAAoB,EAACC,iBAAiB,QAAO,UAAU;AACpK,SAAQC,aAAa,EAACC,kBAAkB,EAACC,SAAS,QAAO,cAAc;AACvE,SAAQC,mBAAmB,QAAO,2BAA2B;AAC7D,SAAQC,kBAAkB,QAAO,0BAA0B;AAG1D,SACEnB,mBAAmB,EAACD,cAAc,EAACE,OAAO,EAACC,gBAAgB,EAC3DC,WAAW,EAAEC,gBAAgB,EAACC,WAAW,EAACC,iBAAiB,EAC3DC,WAAW,EAACE,gBAAgB,EAACD,aAAa,EAACE,gBAAgB,EAACC,wBAAwB,EAACC,eAAe,EAACC,oBAAoB,EAACC,iBAAiB,EAC3IC,aAAa,EAACC,kBAAkB,EAACC,SAAS,EAC1CC,mBAAmB,EACnBC,kBAAkB","ignoreList":[]}
1
+ {"version":3,"names":["FTMobileConfig","FTMobileReactNative","EnvType","FTDBCacheDiscard","FTLogConfig","FTReactNativeLog","FTLogStatus","FTLogCacheDiscard","FTRUMConfig","FTRUMResource","FTReactNativeRUM","ErrorMonitorType","DeviceMetricsMonitorType","DetectFrequency","FTRUMResourceMetrics","FTRUMCacheDiscard","FTTraceConfig","FTReactNativeTrace","TraceType","FTSessionReplayConfig","SessionReplayPrivacy","FTReactNativeSessionReplay","FTRumActionTracking","FTRumErrorTracking"],"sources":["index.tsx"],"sourcesContent":["import {FTMobileConfig,FTMobileReactNative,EnvType,FTDBCacheDiscard} from './ft_mobile_agent'\nimport {FTLogConfig,FTReactNativeLog,FTLogStatus,FTLogCacheDiscard} from './ft_logger'\nimport {FTRUMConfig,FTRUMResource,FTReactNativeRUM,ErrorMonitorType,DeviceMetricsMonitorType,DetectFrequency,FTRUMResourceMetrics,FTRUMCacheDiscard} from './ft_rum'\nimport {FTTraceConfig,FTReactNativeTrace,TraceType} from './ft_tracing'\nimport {FTSessionReplayConfig,SessionReplayPrivacy,FTReactNativeSessionReplay} from './ft_session_replay'\nimport {FTRumActionTracking} from './rum/FTRumActionTracking'\nimport {FTRumErrorTracking} from './rum/FTRumErrorTracking'\n\n\n export {\n FTMobileReactNative,FTMobileConfig,EnvType,FTDBCacheDiscard,\n FTLogConfig, FTReactNativeLog,FTLogStatus,FTLogCacheDiscard,\n FTRUMConfig,FTReactNativeRUM,FTRUMResource,ErrorMonitorType,DeviceMetricsMonitorType,DetectFrequency,FTRUMResourceMetrics,FTRUMCacheDiscard,\n FTTraceConfig,FTReactNativeTrace,TraceType,\n FTSessionReplayConfig,SessionReplayPrivacy,FTReactNativeSessionReplay,\n FTRumActionTracking,\n FTRumErrorTracking\n };\n\n"],"mappings":"AAAA,SAAQA,cAAc,EAACC,mBAAmB,EAACC,OAAO,EAACC,gBAAgB,QAAO,mBAAmB;AAC7F,SAAQC,WAAW,EAACC,gBAAgB,EAACC,WAAW,EAACC,iBAAiB,QAAO,aAAa;AACtF,SAAQC,WAAW,EAACC,aAAa,EAACC,gBAAgB,EAACC,gBAAgB,EAACC,wBAAwB,EAACC,eAAe,EAACC,oBAAoB,EAACC,iBAAiB,QAAO,UAAU;AACpK,SAAQC,aAAa,EAACC,kBAAkB,EAACC,SAAS,QAAO,cAAc;AACvE,SAAQC,qBAAqB,EAACC,oBAAoB,EAACC,0BAA0B,QAAO,qBAAqB;AACzG,SAAQC,mBAAmB,QAAO,2BAA2B;AAC7D,SAAQC,kBAAkB,QAAO,0BAA0B;AAG1D,SACEtB,mBAAmB,EAACD,cAAc,EAACE,OAAO,EAACC,gBAAgB,EAC3DC,WAAW,EAAEC,gBAAgB,EAACC,WAAW,EAACC,iBAAiB,EAC3DC,WAAW,EAACE,gBAAgB,EAACD,aAAa,EAACE,gBAAgB,EAACC,wBAAwB,EAACC,eAAe,EAACC,oBAAoB,EAACC,iBAAiB,EAC3IC,aAAa,EAACC,kBAAkB,EAACC,SAAS,EAC1CC,qBAAqB,EAACC,oBAAoB,EAACC,0BAA0B,EACrEC,mBAAmB,EACnBC,kBAAkB","ignoreList":[]}
@@ -1,3 +1,3 @@
1
1
  // generated by genversion
2
- export const version = '0.3.15';
2
+ export const version = '0.4.0-alpha.4';
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["version"],"sources":["version.ts"],"sourcesContent":["// generated by genversion\nexport const version = '0.3.15';\n"],"mappings":"AAAA;AACA,OAAO,MAAMA,OAAO,GAAG,QAAQ","ignoreList":[]}
1
+ {"version":3,"names":["version"],"sources":["version.ts"],"sourcesContent":["// generated by genversion\nexport const version = '0.4.0-alpha.4';\n"],"mappings":"AAAA;AACA,OAAO,MAAMA,OAAO,GAAG,eAAe","ignoreList":[]}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Privacy level for content masking in session replay.
3
+ */
4
+ export declare enum SessionReplayPrivacy {
5
+ MASK = 0,
6
+ ALLOW = 1,
7
+ MASK_USER_INPUT = 2
8
+ }
9
+ /**
10
+ * Set Session Replay configuration.
11
+ * @param sampleRate Sampling rate
12
+ * @param privacy Privacy level for content masking in session replay
13
+ */
14
+ export interface FTSessionReplayConfig {
15
+ sampleRate?: number;
16
+ privacy?: SessionReplayPrivacy;
17
+ }
18
+ type FTReactNativeSessionReplayType = {
19
+ /**
20
+ * Set Session Replay configuration and enable session replay
21
+ * @param config Session Replay configuration parameters.
22
+ * @returns a Promise.
23
+ */
24
+ sessionReplayConfig(config: FTSessionReplayConfig): Promise<void>;
25
+ };
26
+ export declare const FTReactNativeSessionReplay: FTReactNativeSessionReplayType;
27
+ export {};
@@ -2,6 +2,7 @@ import { FTMobileConfig, FTMobileReactNative, EnvType, FTDBCacheDiscard } from '
2
2
  import { FTLogConfig, FTReactNativeLog, FTLogStatus, FTLogCacheDiscard } from './ft_logger';
3
3
  import { FTRUMConfig, FTRUMResource, FTReactNativeRUM, ErrorMonitorType, DeviceMetricsMonitorType, DetectFrequency, FTRUMResourceMetrics, FTRUMCacheDiscard } from './ft_rum';
4
4
  import { FTTraceConfig, FTReactNativeTrace, TraceType } from './ft_tracing';
5
+ import { FTSessionReplayConfig, SessionReplayPrivacy, FTReactNativeSessionReplay } from './ft_session_replay';
5
6
  import { FTRumActionTracking } from './rum/FTRumActionTracking';
6
7
  import { FTRumErrorTracking } from './rum/FTRumErrorTracking';
7
- export { FTMobileReactNative, FTMobileConfig, EnvType, FTDBCacheDiscard, FTLogConfig, FTReactNativeLog, FTLogStatus, FTLogCacheDiscard, FTRUMConfig, FTReactNativeRUM, FTRUMResource, ErrorMonitorType, DeviceMetricsMonitorType, DetectFrequency, FTRUMResourceMetrics, FTRUMCacheDiscard, FTTraceConfig, FTReactNativeTrace, TraceType, FTRumActionTracking, FTRumErrorTracking };
8
+ export { FTMobileReactNative, FTMobileConfig, EnvType, FTDBCacheDiscard, FTLogConfig, FTReactNativeLog, FTLogStatus, FTLogCacheDiscard, FTRUMConfig, FTReactNativeRUM, FTRUMResource, ErrorMonitorType, DeviceMetricsMonitorType, DetectFrequency, FTRUMResourceMetrics, FTRUMCacheDiscard, FTTraceConfig, FTReactNativeTrace, TraceType, FTSessionReplayConfig, SessionReplayPrivacy, FTReactNativeSessionReplay, FTRumActionTracking, FTRumErrorTracking };
@@ -1 +1 @@
1
- export declare const version = "0.3.15";
1
+ export declare const version = "0.4.0-alpha.4";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@truewatchtech/react-native-mobile",
3
- "version": "0.3.15",
3
+ "version": "0.4.0-alpha.4",
4
4
  "description": "Base on TrueWatch Android iOS React Native SDK",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
package/src/ft_logger.tsx CHANGED
@@ -52,7 +52,6 @@ import { NativeModules } from 'react-native';
52
52
 
53
53
  class FTReactNativeLogWrapper {
54
54
  private logger: FTReactNativeLogType = NativeModules.FTReactNativeLog;
55
-
56
55
  /**
57
56
  *Configure log output configuration to enable log collection.
58
57
  */
@@ -122,7 +122,6 @@ type FTMobileReactNativeType = {
122
122
 
123
123
  class FTMobileReactNativeWrapper implements FTMobileReactNativeType {
124
124
  private sdk:FTMobileReactNativeType = NativeModules.FTMobileReactNative;
125
-
126
125
  sdkConfig(config:FTMobileConfig): Promise<void> {
127
126
  if(config.serverUrl != null && config.serverUrl.length>0 && config.datakitUrl == null){
128
127
  config.datakitUrl = config.serverUrl;
package/src/ft_rum.tsx CHANGED
@@ -101,7 +101,6 @@ import { FTRumActionTracking} from './rum/FTRumActionTracking';
101
101
  * @param resource_first_byte resource first byte time
102
102
  */
103
103
  export interface FTRUMResourceMetrics{
104
-
105
104
  duration?:number,
106
105
  resource_dns?:number,
107
106
  resource_tcp?:number,
@@ -198,8 +197,7 @@ import { FTRumActionTracking} from './rum/FTRumActionTracking';
198
197
  }
199
198
 
200
199
  class FTReactNativeRUMWrapper implements FTReactNativeRUMType {
201
- private rum: FTReactNativeRUMType = NativeModules.FTReactNativeRUM;
202
-
200
+ private rum: FTReactNativeRUMType = NativeModules.FTReactNativeRUM;
203
201
 
204
202
  setConfig(config:FTRUMConfig): Promise<void>{
205
203
  console.log('FTRUMConfig');
@@ -0,0 +1,34 @@
1
+ import { NativeModules } from 'react-native';
2
+ /**
3
+ * Privacy level for content masking in session replay.
4
+ */
5
+ export enum SessionReplayPrivacy {
6
+ MASK ,
7
+ ALLOW ,
8
+ MASK_USER_INPUT
9
+ }
10
+ /**
11
+ * Set Session Replay configuration.
12
+ * @param sampleRate Sampling rate
13
+ * @param privacy Privacy level for content masking in session replay
14
+ */
15
+ export interface FTSessionReplayConfig{
16
+ sampleRate?:number,
17
+ privacy?:SessionReplayPrivacy
18
+ }
19
+ type FTReactNativeSessionReplayType = {
20
+ /**
21
+ * Set Session Replay configuration and enable session replay
22
+ * @param config Session Replay configuration parameters.
23
+ * @returns a Promise.
24
+ */
25
+ sessionReplayConfig(config:FTSessionReplayConfig): Promise<void>;
26
+ }
27
+
28
+ class FTReactNativeSessionReplayWrapper implements FTReactNativeSessionReplayType {
29
+ private sessionReplay: FTReactNativeSessionReplayType = NativeModules.FTReactNativeSessionReplay;
30
+ sessionReplayConfig(config:FTSessionReplayConfig): Promise<void>{
31
+ return this.sessionReplay.sessionReplayConfig(config);
32
+ }
33
+ }
34
+ export const FTReactNativeSessionReplay: FTReactNativeSessionReplayType = new FTReactNativeSessionReplayWrapper();
@@ -51,7 +51,6 @@ import { NativeModules } from 'react-native';
51
51
  class FTReactNativeTraceWrapper implements FTReactNativeTraceType {
52
52
  private trace: FTReactNativeTraceType = NativeModules.FTReactNativeTrace;
53
53
 
54
-
55
54
  setConfig(config:FTTraceConfig): Promise<void>{
56
55
  return this.trace.setConfig(config);
57
56
  }
package/src/index.tsx CHANGED
@@ -2,15 +2,17 @@ import {FTMobileConfig,FTMobileReactNative,EnvType,FTDBCacheDiscard} from './ft_
2
2
  import {FTLogConfig,FTReactNativeLog,FTLogStatus,FTLogCacheDiscard} from './ft_logger'
3
3
  import {FTRUMConfig,FTRUMResource,FTReactNativeRUM,ErrorMonitorType,DeviceMetricsMonitorType,DetectFrequency,FTRUMResourceMetrics,FTRUMCacheDiscard} from './ft_rum'
4
4
  import {FTTraceConfig,FTReactNativeTrace,TraceType} from './ft_tracing'
5
+ import {FTSessionReplayConfig,SessionReplayPrivacy,FTReactNativeSessionReplay} from './ft_session_replay'
5
6
  import {FTRumActionTracking} from './rum/FTRumActionTracking'
6
7
  import {FTRumErrorTracking} from './rum/FTRumErrorTracking'
7
8
 
8
-
9
+
9
10
  export {
10
11
  FTMobileReactNative,FTMobileConfig,EnvType,FTDBCacheDiscard,
11
12
  FTLogConfig, FTReactNativeLog,FTLogStatus,FTLogCacheDiscard,
12
13
  FTRUMConfig,FTReactNativeRUM,FTRUMResource,ErrorMonitorType,DeviceMetricsMonitorType,DetectFrequency,FTRUMResourceMetrics,FTRUMCacheDiscard,
13
14
  FTTraceConfig,FTReactNativeTrace,TraceType,
15
+ FTSessionReplayConfig,SessionReplayPrivacy,FTReactNativeSessionReplay,
14
16
  FTRumActionTracking,
15
17
  FTRumErrorTracking
16
18
  };
package/src/version.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  // generated by genversion
2
- export const version = '0.3.15';
2
+ export const version = '0.4.0-alpha.4';