@snowplow/react-native-tracker 1.4.0 → 2.1.0

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 (240) hide show
  1. package/.editorconfig +15 -0
  2. package/.eslintignore +6 -0
  3. package/.gitattributes +3 -0
  4. package/.github/ISSUE_TEMPLATE/bug_report.md +29 -0
  5. package/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  6. package/.github/actions/setup/action.yml +28 -0
  7. package/.github/workflows/build.yml +155 -0
  8. package/.github/workflows/deploy.yml +97 -0
  9. package/.github/workflows/e2e-android.yml +121 -0
  10. package/.github/workflows/e2e-ios.yml +95 -0
  11. package/.github/workflows/snyk.yml +21 -0
  12. package/.gitignore +70 -0
  13. package/.npmignore +60 -0
  14. package/.nvmrc +1 -0
  15. package/.watchmanconfig +1 -0
  16. package/.yarnrc +3 -0
  17. package/CHANGELOG +176 -0
  18. package/CONTRIBUTING.md +80 -0
  19. package/LICENSE +1 -1
  20. package/README.md +24 -111
  21. package/android/build.gradle +93 -37
  22. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  23. package/android/gradle/wrapper/gradle-wrapper.properties +1 -2
  24. package/android/gradle.properties +5 -2
  25. package/android/gradlew +172 -110
  26. package/android/gradlew.bat +24 -19
  27. package/android/src/main/AndroidManifest.xml +1 -3
  28. package/android/src/main/AndroidManifestNew.xml +2 -0
  29. package/android/src/main/java/com/snowplow/reactnativetracker/ReactNativeTrackerModule.kt +744 -0
  30. package/android/src/main/java/com/snowplow/reactnativetracker/ReactNativeTrackerPackage.kt +17 -0
  31. package/android/src/main/java/com/snowplow/reactnativetracker/util/ConfigUtil.kt +274 -0
  32. package/android/src/main/java/com/snowplow/reactnativetracker/util/EventUtil.kt +233 -0
  33. package/android/src/main/java/com/snowplow/reactnativetracker/util/TrackerVersion.kt +5 -0
  34. package/babel.config.js +3 -0
  35. package/example/.watchmanconfig +1 -0
  36. package/example/Gemfile +6 -0
  37. package/example/android/app/build.gradle +129 -0
  38. package/example/android/app/debug.keystore +0 -0
  39. package/example/android/app/proguard-rules.pro +10 -0
  40. package/example/android/app/src/androidTest/java/com/reactnativetrackerexample/DetoxTest.java +36 -0
  41. package/example/android/app/src/androidTest/java/com/reactnativetrackerexample/DetoxTestAppJUnitRunner.java +21 -0
  42. package/example/android/app/src/debug/AndroidManifest.xml +13 -0
  43. package/example/android/app/src/debug/java/com/reactnativetrackerexample/ReactNativeFlipper.java +75 -0
  44. package/example/android/app/src/main/AndroidManifest.xml +26 -0
  45. package/example/android/app/src/main/java/com/reactnativetrackerexample/MainActivity.java +32 -0
  46. package/example/android/app/src/main/java/com/reactnativetrackerexample/MainApplication.java +62 -0
  47. package/example/android/app/src/main/res/drawable/rn_edit_text_material.xml +36 -0
  48. package/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  49. package/example/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
  50. package/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  51. package/example/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
  52. package/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  53. package/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
  54. package/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  55. package/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  56. package/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  57. package/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  58. package/example/android/app/src/main/res/values/strings.xml +3 -0
  59. package/example/android/app/src/main/res/values/styles.xml +9 -0
  60. package/example/android/app/src/release/java/com/reactnativetrackerexample/ReactNativeFlipper.java +20 -0
  61. package/example/android/build.gradle +31 -0
  62. package/example/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  63. package/example/android/gradle/wrapper/gradle-wrapper.properties +6 -0
  64. package/example/android/gradle.properties +44 -0
  65. package/example/android/gradlew +244 -0
  66. package/example/android/gradlew.bat +92 -0
  67. package/example/android/settings.gradle +4 -0
  68. package/example/app.json +4 -0
  69. package/example/babel.config.js +17 -0
  70. package/example/detox.config.js +92 -0
  71. package/example/e2e/config.json +10 -0
  72. package/example/e2e/emitEvents.e2e.detox.js +95 -0
  73. package/example/e2e/environment.js +23 -0
  74. package/example/e2e/helpers/microCommands.js +140 -0
  75. package/example/e2e/helpers/microHelpers.js +333 -0
  76. package/example/e2e/helpers/microHelpers.test.js +295 -0
  77. package/example/e2e/helpers/schemas.js +49 -0
  78. package/example/e2e/jest.config.js +16 -0
  79. package/example/e2e/setup.js +4 -0
  80. package/example/e2e/testEvents.micro.test.js +287 -0
  81. package/example/index.js +5 -0
  82. package/example/ios/.xcode.env +11 -0
  83. package/example/ios/Podfile +62 -0
  84. package/example/ios/Podfile.lock +730 -0
  85. package/example/ios/ReactNativeTrackerExample/AppDelegate.h +6 -0
  86. package/example/ios/ReactNativeTrackerExample/AppDelegate.mm +26 -0
  87. package/example/ios/ReactNativeTrackerExample/Images.xcassets/AppIcon.appiconset/Contents.json +53 -0
  88. package/example/ios/ReactNativeTrackerExample/Images.xcassets/Contents.json +6 -0
  89. package/example/ios/ReactNativeTrackerExample/Info.plist +55 -0
  90. package/example/ios/ReactNativeTrackerExample/LaunchScreen.storyboard +47 -0
  91. package/example/ios/ReactNativeTrackerExample/main.m +10 -0
  92. package/example/ios/ReactNativeTrackerExample-Bridging-Header.h +3 -0
  93. package/example/ios/ReactNativeTrackerExample.xcodeproj/project.pbxproj +722 -0
  94. package/{ios/RNSnowplowTracker.xcodeproj/xcshareddata/xcschemes/RNSnowplowTracker.xcscheme → example/ios/ReactNativeTrackerExample.xcodeproj/xcshareddata/xcschemes/ReactNativeTrackerExample.xcscheme} +29 -21
  95. package/example/ios/ReactNativeTrackerExample.xcworkspace/contents.xcworkspacedata +10 -0
  96. package/example/ios/ReactNativeTrackerExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  97. package/example/ios/ReactNativeTrackerExampleTests/Info.plist +24 -0
  98. package/example/ios/ReactNativeTrackerExampleTests/ReactNativeTrackerExampleTests.m +66 -0
  99. package/example/metro.config.js +45 -0
  100. package/example/package.json +54 -0
  101. package/example/react-native.config.js +10 -0
  102. package/example/src/App.js +566 -0
  103. package/example/tsconfig.json +5 -0
  104. package/example/yarn.lock +7379 -0
  105. package/ios/ReactNativeTracker-Bridging-Header.h +2 -0
  106. package/ios/ReactNativeTracker.mm +175 -0
  107. package/ios/ReactNativeTracker.swift +822 -0
  108. package/ios/{RNSnowplowTracker.xcodeproj → ReactNativeTracker.xcodeproj}/project.pbxproj +55 -79
  109. package/ios/Util/ConfigUtils.swift +209 -0
  110. package/ios/Util/TrackerVersion.swift +3 -0
  111. package/ios/Util/Utilities.swift +37 -0
  112. package/lefthook.yml +11 -0
  113. package/lib/commonjs/api.js +490 -0
  114. package/lib/commonjs/api.js.map +1 -0
  115. package/lib/commonjs/configurations.js +196 -0
  116. package/lib/commonjs/configurations.js.map +1 -0
  117. package/lib/commonjs/constants.js +77 -0
  118. package/lib/commonjs/constants.js.map +1 -0
  119. package/lib/commonjs/events.js +277 -0
  120. package/lib/commonjs/events.js.map +1 -0
  121. package/lib/commonjs/index.js +132 -0
  122. package/lib/commonjs/index.js.map +1 -0
  123. package/lib/commonjs/jsCore.js +427 -0
  124. package/lib/commonjs/jsCore.js.map +1 -0
  125. package/lib/commonjs/native.js +16 -0
  126. package/lib/commonjs/native.js.map +1 -0
  127. package/lib/commonjs/subject.js +235 -0
  128. package/lib/commonjs/subject.js.map +1 -0
  129. package/lib/commonjs/tracker.js +248 -0
  130. package/lib/commonjs/tracker.js.map +1 -0
  131. package/lib/commonjs/types.js +2 -0
  132. package/lib/commonjs/types.js.map +1 -0
  133. package/lib/commonjs/utils.js +72 -0
  134. package/lib/commonjs/utils.js.map +1 -0
  135. package/lib/commonjs/webViewInterface.js +66 -0
  136. package/lib/commonjs/webViewInterface.js.map +1 -0
  137. package/lib/module/api.js +452 -0
  138. package/lib/module/api.js.map +1 -0
  139. package/lib/module/configurations.js +184 -0
  140. package/lib/module/configurations.js.map +1 -0
  141. package/lib/module/constants.js +72 -0
  142. package/lib/module/constants.js.map +1 -0
  143. package/lib/module/events.js +259 -0
  144. package/lib/module/events.js.map +1 -0
  145. package/lib/module/index.js +120 -0
  146. package/lib/module/index.js.map +1 -0
  147. package/lib/module/jsCore.js +424 -0
  148. package/lib/module/jsCore.js.map +1 -0
  149. package/lib/module/native.js +12 -0
  150. package/lib/module/native.js.map +1 -0
  151. package/lib/module/subject.js +222 -0
  152. package/lib/module/subject.js.map +1 -0
  153. package/lib/module/tracker.js +234 -0
  154. package/lib/module/tracker.js.map +1 -0
  155. package/lib/module/types.js +2 -0
  156. package/lib/module/types.js.map +1 -0
  157. package/lib/module/utils.js +66 -0
  158. package/lib/module/utils.js.map +1 -0
  159. package/lib/module/webViewInterface.js +62 -0
  160. package/lib/module/webViewInterface.js.map +1 -0
  161. package/lib/typescript/__tests__/api.test.d.ts +2 -0
  162. package/lib/typescript/__tests__/api.test.d.ts.map +1 -0
  163. package/lib/typescript/__tests__/configurations.test.d.ts +2 -0
  164. package/lib/typescript/__tests__/configurations.test.d.ts.map +1 -0
  165. package/lib/typescript/__tests__/events.test.d.ts +2 -0
  166. package/lib/typescript/__tests__/events.test.d.ts.map +1 -0
  167. package/lib/typescript/__tests__/index.test.d.ts +2 -0
  168. package/lib/typescript/__tests__/index.test.d.ts.map +1 -0
  169. package/lib/typescript/__tests__/jsCore.test.d.ts +2 -0
  170. package/lib/typescript/__tests__/jsCore.test.d.ts.map +1 -0
  171. package/lib/typescript/__tests__/utils.test.d.ts +2 -0
  172. package/lib/typescript/__tests__/utils.test.d.ts.map +1 -0
  173. package/lib/typescript/api.d.ts +240 -0
  174. package/lib/typescript/api.d.ts.map +1 -0
  175. package/lib/typescript/configurations.d.ts +73 -0
  176. package/lib/typescript/configurations.d.ts.map +1 -0
  177. package/lib/typescript/constants.d.ts +64 -0
  178. package/lib/typescript/constants.d.ts.map +1 -0
  179. package/lib/typescript/events.d.ts +115 -0
  180. package/lib/typescript/events.d.ts.map +1 -0
  181. package/lib/typescript/index.d.ts +27 -0
  182. package/lib/typescript/index.d.ts.map +1 -0
  183. package/lib/typescript/jsCore.d.ts +152 -0
  184. package/lib/typescript/jsCore.d.ts.map +1 -0
  185. package/lib/typescript/native.d.ts +4 -0
  186. package/lib/typescript/native.d.ts.map +1 -0
  187. package/lib/typescript/subject.d.ts +91 -0
  188. package/lib/typescript/subject.d.ts.map +1 -0
  189. package/lib/typescript/tracker.d.ts +111 -0
  190. package/lib/typescript/tracker.d.ts.map +1 -0
  191. package/{dist/index.d.ts → lib/typescript/types.d.ts} +264 -73
  192. package/lib/typescript/types.d.ts.map +1 -0
  193. package/lib/typescript/utils.d.ts +35 -0
  194. package/lib/typescript/utils.d.ts.map +1 -0
  195. package/lib/typescript/webViewInterface.d.ts +15 -0
  196. package/lib/typescript/webViewInterface.d.ts.map +1 -0
  197. package/package.json +135 -53
  198. package/scripts/bootstrap.js +29 -0
  199. package/snowplow-react-native-tracker.podspec +42 -0
  200. package/src/__mocks__/react-native.js +7 -0
  201. package/src/__tests__/api.test.ts +21 -0
  202. package/src/__tests__/configurations.test.ts +608 -0
  203. package/src/__tests__/events.test.ts +736 -0
  204. package/src/__tests__/index.test.ts +14 -0
  205. package/src/__tests__/jsCore.test.ts +199 -0
  206. package/src/__tests__/utils.test.ts +10 -0
  207. package/src/api.ts +556 -0
  208. package/src/configurations.ts +325 -0
  209. package/src/constants.ts +97 -0
  210. package/src/events.ts +355 -0
  211. package/src/index.ts +184 -0
  212. package/src/jsCore.ts +603 -0
  213. package/src/native.ts +21 -0
  214. package/src/subject.ts +302 -0
  215. package/src/tracker.ts +377 -0
  216. package/src/types.ts +1162 -0
  217. package/src/utils.ts +65 -0
  218. package/src/webViewInterface.ts +92 -0
  219. package/tsconfig.build.json +5 -0
  220. package/tsconfig.json +28 -0
  221. package/turbo.json +34 -0
  222. package/yarn.lock +9333 -0
  223. package/RNSnowplowTracker.podspec +0 -24
  224. package/android/src/main/java/com/snowplowanalytics/react/tracker/RNSnowplowTrackerModule.java +0 -750
  225. package/android/src/main/java/com/snowplowanalytics/react/tracker/RNSnowplowTrackerPackage.java +0 -29
  226. package/android/src/main/java/com/snowplowanalytics/react/util/ConfigUtil.java +0 -351
  227. package/android/src/main/java/com/snowplowanalytics/react/util/EventUtil.java +0 -339
  228. package/android/src/main/java/com/snowplowanalytics/react/util/TrackerVersion.java +0 -7
  229. package/dist/index.js +0 -2026
  230. package/dist/index.js.map +0 -1
  231. package/ios/RNSnowplowTracker.h +0 -34
  232. package/ios/RNSnowplowTracker.m +0 -911
  233. package/ios/Util/NSDictionary+RNSP_TypeMethods.h +0 -33
  234. package/ios/Util/NSDictionary+RNSP_TypeMethods.m +0 -40
  235. package/ios/Util/RNConfigUtils.h +0 -44
  236. package/ios/Util/RNConfigUtils.m +0 -209
  237. package/ios/Util/RNTrackerVersion.h +0 -27
  238. package/ios/Util/RNTrackerVersion.m +0 -27
  239. package/ios/Util/RNUtilities.h +0 -32
  240. package/ios/Util/RNUtilities.m +0 -68
@@ -0,0 +1,132 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createTracker = createTracker;
7
+ Object.defineProperty(exports, "getWebViewCallback", {
8
+ enumerable: true,
9
+ get: function () {
10
+ return _webViewInterface.getWebViewCallback;
11
+ }
12
+ });
13
+ exports.removeAllTrackers = removeAllTrackers;
14
+ exports.removeTracker = removeTracker;
15
+ var api = _interopRequireWildcard(require("./api"));
16
+ var _utils = require("./utils");
17
+ var _webViewInterface = require("./webViewInterface");
18
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
20
+ /**
21
+ * Creates a React Native Tracker object
22
+ *
23
+ * @param namespace {string} - The tracker namespace
24
+ * @param networkConfig {Object} - The network configuration
25
+ * @param control {Array} - The tracker controller configuration
26
+ * @returns The tracker object
27
+ */
28
+ function createTracker(namespace, networkConfig) {
29
+ let controllerConfig = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
30
+ // initTrackerPromise
31
+ const initTrackerPromise = Promise.resolve(api.createTracker({
32
+ namespace,
33
+ networkConfig,
34
+ ...controllerConfig
35
+ }));
36
+
37
+ // mkMethod creates methods subscribed to the initTrackerPromise
38
+ const mkMethod = (0, _utils.safeWait)(initTrackerPromise, _utils.errorHandler);
39
+
40
+ // mkCallback creates callbacks subscribed to the initTrackerPromise
41
+ const mkCallback = (0, _utils.safeWaitCallback)(initTrackerPromise, _utils.errorHandler);
42
+
43
+ // track methods
44
+ const trackSelfDescribingEvent = mkMethod(api.trackSelfDescribingEvent(namespace));
45
+ const trackScreenViewEvent = mkMethod(api.trackScreenViewEvent(namespace));
46
+ const trackScrollChangedEvent = mkMethod(api.trackScrollChangedEvent(namespace));
47
+ const trackListItemViewEvent = mkMethod(api.trackListItemViewEvent(namespace));
48
+ const trackStructuredEvent = mkMethod(api.trackStructuredEvent(namespace));
49
+ const trackPageViewEvent = mkMethod(api.trackPageViewEvent(namespace));
50
+ const trackTimingEvent = mkMethod(api.trackTimingEvent(namespace));
51
+ const trackConsentGrantedEvent = mkMethod(api.trackConsentGrantedEvent(namespace));
52
+ const trackConsentWithdrawnEvent = mkMethod(api.trackConsentWithdrawnEvent(namespace));
53
+ const trackEcommerceTransactionEvent = mkMethod(api.trackEcommerceTransactionEvent(namespace));
54
+ const trackDeepLinkReceivedEvent = mkMethod(api.trackDeepLinkReceivedEvent(namespace));
55
+ const trackMessageNotificationEvent = mkMethod(api.trackMessageNotificationEvent(namespace));
56
+ // Global Contexts
57
+ const removeGlobalContexts = mkMethod(api.removeGlobalContexts(namespace));
58
+ const addGlobalContexts = mkMethod(api.addGlobalContexts(namespace));
59
+ // setters
60
+ const setUserId = mkMethod(api.setUserId(namespace));
61
+ const setNetworkUserId = mkMethod(api.setNetworkUserId(namespace));
62
+ const setDomainUserId = mkMethod(api.setDomainUserId(namespace));
63
+ const setIpAddress = mkMethod(api.setIpAddress(namespace));
64
+ const setUseragent = mkMethod(api.setUseragent(namespace));
65
+ const setTimezone = mkMethod(api.setTimezone(namespace));
66
+ const setLanguage = mkMethod(api.setLanguage(namespace));
67
+ const setScreenResolution = mkMethod(api.setScreenResolution(namespace));
68
+ const setScreenViewport = mkMethod(api.setScreenViewport(namespace));
69
+ const setColorDepth = mkMethod(api.setColorDepth(namespace));
70
+ const setSubjectData = mkMethod(api.setSubjectData(namespace));
71
+
72
+ // callbacks
73
+ const getSessionUserId = mkCallback(api.getSessionUserId(namespace));
74
+ const getSessionId = mkCallback(api.getSessionId(namespace));
75
+ const getSessionIndex = mkCallback(api.getSessionIndex(namespace));
76
+ const getIsInBackground = mkCallback(api.getIsInBackground(namespace));
77
+ const getBackgroundIndex = mkCallback(api.getBackgroundIndex(namespace));
78
+ const getForegroundIndex = mkCallback(api.getForegroundIndex(namespace));
79
+ return Object.freeze({
80
+ trackSelfDescribingEvent,
81
+ trackScreenViewEvent,
82
+ trackScrollChangedEvent,
83
+ trackListItemViewEvent,
84
+ trackStructuredEvent,
85
+ trackPageViewEvent,
86
+ trackTimingEvent,
87
+ trackConsentGrantedEvent,
88
+ trackConsentWithdrawnEvent,
89
+ trackEcommerceTransactionEvent,
90
+ trackDeepLinkReceivedEvent,
91
+ trackMessageNotificationEvent,
92
+ removeGlobalContexts,
93
+ addGlobalContexts,
94
+ setUserId,
95
+ setNetworkUserId,
96
+ setDomainUserId,
97
+ setIpAddress,
98
+ setUseragent,
99
+ setTimezone,
100
+ setLanguage,
101
+ setScreenResolution,
102
+ setScreenViewport,
103
+ setColorDepth,
104
+ setSubjectData,
105
+ getSessionUserId,
106
+ getSessionId,
107
+ getSessionIndex,
108
+ getIsInBackground,
109
+ getBackgroundIndex,
110
+ getForegroundIndex
111
+ });
112
+ }
113
+
114
+ /**
115
+ * Removes a tracker given its namespace
116
+ *
117
+ * @param trackerNamespace {string}
118
+ * @returns - A boolean promise
119
+ */
120
+ function removeTracker(trackerNamespace) {
121
+ return api.removeTracker(trackerNamespace).catch(e => (0, _utils.errorHandler)(e));
122
+ }
123
+
124
+ /**
125
+ * Removes all trackers
126
+ *
127
+ * @returns - A boolean promise
128
+ */
129
+ function removeAllTrackers() {
130
+ return api.removeAllTrackers().catch(e => (0, _utils.errorHandler)(e));
131
+ }
132
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Object","defineProperty","exports","value","createTracker","enumerable","get","_webViewInterface","getWebViewCallback","removeAllTrackers","removeTracker","api","_interopRequireWildcard","require","_utils","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","namespace","networkConfig","controllerConfig","arguments","length","undefined","initTrackerPromise","Promise","resolve","mkMethod","safeWait","errorHandler","mkCallback","safeWaitCallback","trackSelfDescribingEvent","trackScreenViewEvent","trackScrollChangedEvent","trackListItemViewEvent","trackStructuredEvent","trackPageViewEvent","trackTimingEvent","trackConsentGrantedEvent","trackConsentWithdrawnEvent","trackEcommerceTransactionEvent","trackDeepLinkReceivedEvent","trackMessageNotificationEvent","removeGlobalContexts","addGlobalContexts","setUserId","setNetworkUserId","setDomainUserId","setIpAddress","setUseragent","setTimezone","setLanguage","setScreenResolution","setScreenViewport","setColorDepth","setSubjectData","getSessionUserId","getSessionId","getSessionIndex","getIsInBackground","getBackgroundIndex","getForegroundIndex","freeze","trackerNamespace","catch","e"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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"}
@@ -0,0 +1,427 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.JSSnowplowTracker = void 0;
7
+ var _trackerCore = require("@snowplow/tracker-core");
8
+ var _utils = require("./utils");
9
+ var _constants = require("./constants");
10
+ var _uuid = require("uuid");
11
+ // Tracker version added to the events
12
+ const trackerVersion = 'rn-2.1.0';
13
+ let trackers = {};
14
+ function preparePayload(payload) {
15
+ const stringifiedPayload = {};
16
+ payload.stm = new Date().getTime().toString();
17
+ for (const key in payload) {
18
+ if (Object.prototype.hasOwnProperty.call(payload, key)) {
19
+ stringifiedPayload[key] = String(payload[key]);
20
+ }
21
+ }
22
+ return stringifiedPayload;
23
+ }
24
+ function createEmitCallback(networkConfig) {
25
+ return e => {
26
+ const postJson = {
27
+ schema: _constants.schemas.payloadData,
28
+ data: [preparePayload(e)]
29
+ };
30
+ const endpoint = networkConfig.endpoint;
31
+ const postPath = networkConfig.customPostPath ?? '/com.snowplowanalytics.snowplow/tp2';
32
+ const headers = networkConfig.requestHeaders ?? {};
33
+ fetch(endpoint + postPath, {
34
+ method: 'POST',
35
+ body: JSON.stringify(postJson),
36
+ headers: {
37
+ 'Content-Type': 'application/json',
38
+ ...headers
39
+ }
40
+ }).catch(_utils.errorHandler);
41
+ };
42
+ }
43
+ function updateTrackerProperties(tracker, configuration) {
44
+ var _configuration$tracke, _configuration$tracke2, _configuration$subjec, _configuration$subjec2, _configuration$subjec3, _configuration$subjec4, _configuration$subjec5, _configuration$subjec6, _configuration$subjec7, _configuration$subjec8, _configuration$subjec9;
45
+ tracker.setPlatform(((_configuration$tracke = configuration.trackerConfig) === null || _configuration$tracke === void 0 ? void 0 : _configuration$tracke.devicePlatform) ?? 'mob');
46
+ tracker.setTrackerVersion(trackerVersion);
47
+ tracker.setTrackerNamespace(configuration.namespace);
48
+ if (((_configuration$tracke2 = configuration.trackerConfig) === null || _configuration$tracke2 === void 0 ? void 0 : _configuration$tracke2.appId) != null) {
49
+ tracker.setAppId(configuration.trackerConfig.appId);
50
+ }
51
+ if (((_configuration$subjec = configuration.subjectConfig) === null || _configuration$subjec === void 0 ? void 0 : _configuration$subjec.colorDepth) != null) {
52
+ tracker.setColorDepth(String(configuration.subjectConfig.colorDepth));
53
+ }
54
+ if (((_configuration$subjec2 = configuration.subjectConfig) === null || _configuration$subjec2 === void 0 ? void 0 : _configuration$subjec2.domainUserId) != null) {
55
+ tracker.setDomainUserId(configuration.subjectConfig.domainUserId);
56
+ }
57
+ if (((_configuration$subjec3 = configuration.subjectConfig) === null || _configuration$subjec3 === void 0 ? void 0 : _configuration$subjec3.ipAddress) != null) {
58
+ tracker.setIpAddress(configuration.subjectConfig.ipAddress);
59
+ }
60
+ if (((_configuration$subjec4 = configuration.subjectConfig) === null || _configuration$subjec4 === void 0 ? void 0 : _configuration$subjec4.language) != null) {
61
+ tracker.setLang(configuration.subjectConfig.language);
62
+ }
63
+ if (((_configuration$subjec5 = configuration.subjectConfig) === null || _configuration$subjec5 === void 0 ? void 0 : _configuration$subjec5.screenResolution) != null) {
64
+ tracker.setScreenResolution(String(configuration.subjectConfig.screenResolution[0]), String(configuration.subjectConfig.screenResolution[1]));
65
+ }
66
+ if (((_configuration$subjec6 = configuration.subjectConfig) === null || _configuration$subjec6 === void 0 ? void 0 : _configuration$subjec6.screenViewport) != null) {
67
+ tracker.setViewport(String(configuration.subjectConfig.screenViewport[0]), String(configuration.subjectConfig.screenViewport[1]));
68
+ }
69
+ if (((_configuration$subjec7 = configuration.subjectConfig) === null || _configuration$subjec7 === void 0 ? void 0 : _configuration$subjec7.timezone) != null) {
70
+ tracker.setTimezone(configuration.subjectConfig.timezone);
71
+ }
72
+ if (((_configuration$subjec8 = configuration.subjectConfig) === null || _configuration$subjec8 === void 0 ? void 0 : _configuration$subjec8.userId) != null) {
73
+ tracker.setUserId(configuration.subjectConfig.userId);
74
+ }
75
+ if (((_configuration$subjec9 = configuration.subjectConfig) === null || _configuration$subjec9 === void 0 ? void 0 : _configuration$subjec9.useragent) != null) {
76
+ tracker.setUseragent(configuration.subjectConfig.useragent);
77
+ }
78
+ }
79
+ function createTracker(configuration, emitCallback) {
80
+ var _configuration$tracke3;
81
+ // create an emit callback if not given
82
+ const emitter = emitCallback ?? createEmitCallback(configuration.networkConfig);
83
+
84
+ // the tracker core does not provide an option to set the duid, so we need to add custom
85
+ let domainUserId;
86
+ const setDomainUserId = userId => {
87
+ domainUserId = userId;
88
+ };
89
+ let networkUserId;
90
+ const setNetworkUserId = userId => {
91
+ networkUserId = userId;
92
+ };
93
+
94
+ // initialize the tracker core
95
+ const core = (0, _trackerCore.trackerCore)({
96
+ base64: ((_configuration$tracke3 = configuration.trackerConfig) === null || _configuration$tracke3 === void 0 ? void 0 : _configuration$tracke3.base64Encoding) ?? true,
97
+ callback: payload => {
98
+ if (domainUserId != null) {
99
+ payload.add('duid', domainUserId);
100
+ }
101
+ if (networkUserId != null) {
102
+ payload.add('tnuid', networkUserId);
103
+ }
104
+ const builtPayload = payload.build();
105
+ emitter(builtPayload);
106
+ }
107
+ });
108
+ const tracker = {
109
+ ...core,
110
+ setDomainUserId,
111
+ setNetworkUserId
112
+ };
113
+ trackers[configuration.namespace] = tracker;
114
+
115
+ // update tracker properties to reflect subject and tracker info
116
+ updateTrackerProperties(tracker, configuration);
117
+ return Promise.resolve();
118
+ }
119
+ function removeTracker(details) {
120
+ delete trackers[details.tracker];
121
+ return Promise.resolve(true);
122
+ }
123
+ function removeAllTrackers() {
124
+ trackers = {};
125
+ return Promise.resolve(true);
126
+ }
127
+ function forTracker(namespace, callback) {
128
+ const tracker = namespace != null ? trackers[namespace] : Object.values(trackers)[0];
129
+ if (tracker) {
130
+ callback(tracker);
131
+ } else {
132
+ (0, _utils.errorHandler)(new Error('No such tracker found.'));
133
+ }
134
+ }
135
+ function trackSelfDescribingEvent(details) {
136
+ forTracker(details.tracker, tracker => {
137
+ tracker.track((0, _trackerCore.buildSelfDescribingEvent)({
138
+ event: details.eventData
139
+ }), details.contexts);
140
+ });
141
+ return Promise.resolve();
142
+ }
143
+ function trackStructuredEvent(details) {
144
+ forTracker(details.tracker, tracker => {
145
+ tracker.track((0, _trackerCore.buildStructEvent)(details.eventData), details.contexts);
146
+ });
147
+ return Promise.resolve();
148
+ }
149
+ function trackScreenViewEvent(details) {
150
+ const data = {
151
+ name: details.eventData.name,
152
+ id: details.eventData.id ?? (0, _uuid.v4)()
153
+ };
154
+ if (details.eventData.type != null) {
155
+ data.type = details.eventData.type;
156
+ }
157
+ if (details.eventData.previousName != null) {
158
+ data.previousName = details.eventData.previousName;
159
+ }
160
+ if (details.eventData.previousId != null) {
161
+ data.previousId = details.eventData.previousId;
162
+ }
163
+ if (details.eventData.previousType != null) {
164
+ data.previousType = details.eventData.previousType;
165
+ }
166
+ if (details.eventData.transitionType != null) {
167
+ data.transitionType = details.eventData.transitionType;
168
+ }
169
+ return trackSelfDescribingEvent({
170
+ tracker: details.tracker,
171
+ eventData: {
172
+ schema: _constants.schemas.screenViewSchema,
173
+ data: data
174
+ },
175
+ contexts: details.contexts
176
+ });
177
+ }
178
+ function trackScrollChangedEvent(details) {
179
+ const data = {};
180
+ if (details.eventData.yOffset != null) {
181
+ data.y_offset = details.eventData.yOffset;
182
+ }
183
+ if (details.eventData.xOffset != null) {
184
+ data.x_offset = details.eventData.xOffset;
185
+ }
186
+ if (details.eventData.viewHeight != null) {
187
+ data.view_height = details.eventData.viewHeight;
188
+ }
189
+ if (details.eventData.viewWidth != null) {
190
+ data.view_width = details.eventData.viewWidth;
191
+ }
192
+ if (details.eventData.contentHeight != null) {
193
+ data.content_height = details.eventData.contentHeight;
194
+ }
195
+ if (details.eventData.contentWidth != null) {
196
+ data.content_width = details.eventData.contentWidth;
197
+ }
198
+ return trackSelfDescribingEvent({
199
+ tracker: details.tracker,
200
+ eventData: {
201
+ schema: _constants.schemas.scrollChangedSchema,
202
+ data: data
203
+ },
204
+ contexts: details.contexts
205
+ });
206
+ }
207
+ function trackListItemViewEvent(details) {
208
+ const data = {
209
+ index: details.eventData.index
210
+ };
211
+ if (details.eventData.itemsCount != null) {
212
+ data.items_count = details.eventData.itemsCount;
213
+ }
214
+ return trackSelfDescribingEvent({
215
+ tracker: details.tracker,
216
+ eventData: {
217
+ schema: _constants.schemas.listItemViewSchema,
218
+ data: data
219
+ },
220
+ contexts: details.contexts
221
+ });
222
+ }
223
+ function trackPageViewEvent(details) {
224
+ forTracker(details.tracker, tracker => {
225
+ tracker.track((0, _trackerCore.buildPageView)(details.eventData), details.contexts);
226
+ });
227
+ return Promise.resolve();
228
+ }
229
+ function trackTimingEvent(details) {
230
+ return trackSelfDescribingEvent({
231
+ tracker: details.tracker,
232
+ eventData: {
233
+ schema: _constants.schemas.timingSchema,
234
+ data: details.eventData
235
+ },
236
+ contexts: details.contexts
237
+ });
238
+ }
239
+ function trackConsentGrantedEvent(details) {
240
+ forTracker(details.tracker, tracker => {
241
+ const built = (0, _trackerCore.buildConsentGranted)({
242
+ id: details.eventData.documentId,
243
+ version: details.eventData.version,
244
+ name: details.eventData.name,
245
+ description: details.eventData.documentDescription,
246
+ expiry: details.eventData.expiry
247
+ });
248
+ tracker.track(built.event, details.contexts.concat(built.context));
249
+ });
250
+ return Promise.resolve();
251
+ }
252
+ function trackConsentWithdrawnEvent(details) {
253
+ forTracker(details.tracker, tracker => {
254
+ const built = (0, _trackerCore.buildConsentWithdrawn)({
255
+ all: details.eventData.all,
256
+ id: details.eventData.documentId,
257
+ version: details.eventData.version,
258
+ name: details.eventData.name,
259
+ description: details.eventData.documentDescription
260
+ });
261
+ tracker.track(built.event, details.contexts.concat(built.context));
262
+ });
263
+ return Promise.resolve();
264
+ }
265
+ function trackEcommerceTransactionEvent(details) {
266
+ forTracker(details.tracker, tracker => {
267
+ details.eventData.items.forEach(item => {
268
+ tracker.track((0, _trackerCore.buildEcommerceTransactionItem)({
269
+ ...item,
270
+ orderId: details.eventData.orderId
271
+ }), details.contexts);
272
+ });
273
+ tracker.track((0, _trackerCore.buildEcommerceTransaction)({
274
+ orderId: details.eventData.orderId,
275
+ total: details.eventData.totalValue,
276
+ affiliation: details.eventData.affiliation,
277
+ tax: details.eventData.taxValue,
278
+ shipping: details.eventData.shipping,
279
+ city: details.eventData.city,
280
+ state: details.eventData.state,
281
+ country: details.eventData.country,
282
+ currency: details.eventData.currency
283
+ }), details.contexts);
284
+ });
285
+ return Promise.resolve();
286
+ }
287
+ function trackDeepLinkReceivedEvent(details) {
288
+ return trackSelfDescribingEvent({
289
+ tracker: details.tracker,
290
+ eventData: {
291
+ schema: _constants.schemas.deepLinkReceivedSchema,
292
+ data: details.eventData
293
+ },
294
+ contexts: details.contexts
295
+ });
296
+ }
297
+ function trackMessageNotificationEvent(details) {
298
+ return trackSelfDescribingEvent({
299
+ tracker: details.tracker,
300
+ eventData: {
301
+ schema: _constants.schemas.messageNotificationSchema,
302
+ data: details.eventData
303
+ },
304
+ contexts: details.contexts
305
+ });
306
+ }
307
+ function removeGlobalContexts() {
308
+ return Promise.reject(new Error('Not implemented'));
309
+ }
310
+ function addGlobalContexts() {
311
+ return Promise.reject(new Error('Not implemented'));
312
+ }
313
+ function setUserId(details) {
314
+ var _trackers$details$tra;
315
+ (_trackers$details$tra = trackers[details.tracker]) === null || _trackers$details$tra === void 0 || _trackers$details$tra.setUserId(details.userId ?? '');
316
+ return Promise.resolve();
317
+ }
318
+ function setNetworkUserId(details) {
319
+ var _trackers$details$tra2;
320
+ (_trackers$details$tra2 = trackers[details.tracker]) === null || _trackers$details$tra2 === void 0 || _trackers$details$tra2.setNetworkUserId(details.networkUserId ?? '');
321
+ return Promise.resolve();
322
+ }
323
+ function setDomainUserId(details) {
324
+ var _trackers$details$tra3;
325
+ (_trackers$details$tra3 = trackers[details.tracker]) === null || _trackers$details$tra3 === void 0 || _trackers$details$tra3.setDomainUserId(details.domainUserId ?? '');
326
+ return Promise.resolve();
327
+ }
328
+ function setIpAddress(details) {
329
+ var _trackers$details$tra4;
330
+ (_trackers$details$tra4 = trackers[details.tracker]) === null || _trackers$details$tra4 === void 0 || _trackers$details$tra4.setIpAddress(details.ipAddress ?? '');
331
+ return Promise.resolve();
332
+ }
333
+ function setUseragent(details) {
334
+ var _trackers$details$tra5;
335
+ (_trackers$details$tra5 = trackers[details.tracker]) === null || _trackers$details$tra5 === void 0 || _trackers$details$tra5.setUseragent(details.useragent ?? '');
336
+ return Promise.resolve();
337
+ }
338
+ function setTimezone(details) {
339
+ var _trackers$details$tra6;
340
+ (_trackers$details$tra6 = trackers[details.tracker]) === null || _trackers$details$tra6 === void 0 || _trackers$details$tra6.setTimezone(details.timezone ?? '');
341
+ return Promise.resolve();
342
+ }
343
+ function setLanguage(details) {
344
+ var _trackers$details$tra7;
345
+ (_trackers$details$tra7 = trackers[details.tracker]) === null || _trackers$details$tra7 === void 0 || _trackers$details$tra7.setLang(details.language ?? '');
346
+ return Promise.resolve();
347
+ }
348
+ function setScreenResolution(details) {
349
+ if (details.screenResolution) {
350
+ var _trackers$details$tra8;
351
+ (_trackers$details$tra8 = trackers[details.tracker]) === null || _trackers$details$tra8 === void 0 || _trackers$details$tra8.setScreenResolution(String(details.screenResolution[0]), String(details.screenResolution[1]));
352
+ } else {
353
+ var _trackers$details$tra9;
354
+ (_trackers$details$tra9 = trackers[details.tracker]) === null || _trackers$details$tra9 === void 0 || _trackers$details$tra9.addPayloadPair('res', '');
355
+ }
356
+ return Promise.resolve();
357
+ }
358
+ function setScreenViewport(details) {
359
+ if (details.screenViewport) {
360
+ var _trackers$details$tra10;
361
+ (_trackers$details$tra10 = trackers[details.tracker]) === null || _trackers$details$tra10 === void 0 || _trackers$details$tra10.setViewport(String(details.screenViewport[0]), String(details.screenViewport[1]));
362
+ } else {
363
+ var _trackers$details$tra11;
364
+ (_trackers$details$tra11 = trackers[details.tracker]) === null || _trackers$details$tra11 === void 0 || _trackers$details$tra11.addPayloadPair('vp', '');
365
+ }
366
+ return Promise.resolve();
367
+ }
368
+ function setColorDepth(details) {
369
+ var _trackers$details$tra12;
370
+ (_trackers$details$tra12 = trackers[details.tracker]) === null || _trackers$details$tra12 === void 0 || _trackers$details$tra12.setColorDepth(String(details.colorDepth ?? ''));
371
+ return Promise.resolve();
372
+ }
373
+ function getSessionUserId() {
374
+ return Promise.reject(new Error('Not implemented'));
375
+ }
376
+ function getSessionId() {
377
+ return Promise.reject(new Error('Not implemented'));
378
+ }
379
+ function getSessionIndex() {
380
+ return Promise.reject(new Error('Not implemented'));
381
+ }
382
+ function getIsInBackground() {
383
+ return Promise.reject(new Error('Not implemented'));
384
+ }
385
+ function getBackgroundIndex() {
386
+ return Promise.reject(new Error('Not implemented'));
387
+ }
388
+ function getForegroundIndex() {
389
+ return Promise.reject(new Error('Not implemented'));
390
+ }
391
+ const JSSnowplowTracker = Object.freeze({
392
+ createTracker,
393
+ removeTracker,
394
+ removeAllTrackers,
395
+ trackSelfDescribingEvent,
396
+ trackStructuredEvent,
397
+ trackScreenViewEvent,
398
+ trackScrollChangedEvent,
399
+ trackListItemViewEvent,
400
+ trackPageViewEvent,
401
+ trackTimingEvent,
402
+ trackConsentGrantedEvent,
403
+ trackConsentWithdrawnEvent,
404
+ trackEcommerceTransactionEvent,
405
+ trackDeepLinkReceivedEvent,
406
+ trackMessageNotificationEvent,
407
+ removeGlobalContexts,
408
+ addGlobalContexts,
409
+ setUserId,
410
+ setNetworkUserId,
411
+ setDomainUserId,
412
+ setIpAddress,
413
+ setUseragent,
414
+ setTimezone,
415
+ setLanguage,
416
+ setScreenResolution,
417
+ setScreenViewport,
418
+ setColorDepth,
419
+ getSessionUserId,
420
+ getSessionId,
421
+ getSessionIndex,
422
+ getIsInBackground,
423
+ getBackgroundIndex,
424
+ getForegroundIndex
425
+ });
426
+ exports.JSSnowplowTracker = JSSnowplowTracker;
427
+ //# sourceMappingURL=jsCore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Object","defineProperty","exports","value","JSSnowplowTracker","_trackerCore","require","_utils","_constants","_uuid","trackerVersion","trackers","preparePayload","payload","stringifiedPayload","stm","Date","getTime","toString","key","prototype","hasOwnProperty","call","String","createEmitCallback","networkConfig","e","postJson","schema","schemas","payloadData","data","endpoint","postPath","customPostPath","headers","requestHeaders","fetch","method","body","JSON","stringify","catch","errorHandler","updateTrackerProperties","tracker","configuration","_configuration$tracke","_configuration$tracke2","_configuration$subjec","_configuration$subjec2","_configuration$subjec3","_configuration$subjec4","_configuration$subjec5","_configuration$subjec6","_configuration$subjec7","_configuration$subjec8","_configuration$subjec9","setPlatform","trackerConfig","devicePlatform","setTrackerVersion","setTrackerNamespace","namespace","appId","setAppId","subjectConfig","colorDepth","setColorDepth","domainUserId","setDomainUserId","ipAddress","setIpAddress","language","setLang","screenResolution","setScreenResolution","screenViewport","setViewport","timezone","setTimezone","userId","setUserId","useragent","setUseragent","createTracker","emitCallback","_configuration$tracke3","emitter","networkUserId","setNetworkUserId","core","trackerCore","base64","base64Encoding","callback","add","builtPayload","build","Promise","resolve","removeTracker","details","removeAllTrackers","forTracker","values","Error","trackSelfDescribingEvent","track","buildSelfDescribingEvent","event","eventData","contexts","trackStructuredEvent","buildStructEvent","trackScreenViewEvent","name","id","uuid","type","previousName","previousId","previousType","transitionType","screenViewSchema","trackScrollChangedEvent","yOffset","y_offset","xOffset","x_offset","viewHeight","view_height","viewWidth","view_width","contentHeight","content_height","contentWidth","content_width","scrollChangedSchema","trackListItemViewEvent","index","itemsCount","items_count","listItemViewSchema","trackPageViewEvent","buildPageView","trackTimingEvent","timingSchema","trackConsentGrantedEvent","built","buildConsentGranted","documentId","version","description","documentDescription","expiry","concat","context","trackConsentWithdrawnEvent","buildConsentWithdrawn","all","trackEcommerceTransactionEvent","items","forEach","item","buildEcommerceTransactionItem","orderId","buildEcommerceTransaction","total","totalValue","affiliation","tax","taxValue","shipping","city","state","country","currency","trackDeepLinkReceivedEvent","deepLinkReceivedSchema","trackMessageNotificationEvent","messageNotificationSchema","removeGlobalContexts","reject","addGlobalContexts","_trackers$details$tra","_trackers$details$tra2","_trackers$details$tra3","_trackers$details$tra4","_trackers$details$tra5","_trackers$details$tra6","setLanguage","_trackers$details$tra7","_trackers$details$tra8","_trackers$details$tra9","addPayloadPair","setScreenViewport","_trackers$details$tra10","_trackers$details$tra11","_trackers$details$tra12","getSessionUserId","getSessionId","getSessionIndex","getIsInBackground","getBackgroundIndex","getForegroundIndex","freeze"],"sourceRoot":"../../src","sources":["jsCore.ts"],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.RNSnowplowTracker = void 0;
7
+ var _reactNative = require("react-native");
8
+ var _jsCore = require("./jsCore");
9
+ var _utils = require("./utils");
10
+ const isAvailable = _reactNative.NativeModules.ReactNativeTracker != null;
11
+ if (!isAvailable) {
12
+ (0, _utils.errorHandler)(new Error('Unable to access the native iOS/Android Snowplow tracker, a tracker implementation with very limited functionality is used.'));
13
+ }
14
+ const RNSnowplowTracker = isAvailable ? _reactNative.NativeModules.ReactNativeTracker : _jsCore.JSSnowplowTracker;
15
+ exports.RNSnowplowTracker = RNSnowplowTracker;
16
+ //# sourceMappingURL=native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Object","defineProperty","exports","value","RNSnowplowTracker","_reactNative","require","_jsCore","_utils","isAvailable","NativeModules","ReactNativeTracker","errorHandler","Error","JSSnowplowTracker"],"sourceRoot":"../../src","sources":["native.ts"],"mappings":"AAAA,YAAY;;AAACA,MAAA,CAAAC,cAAA,CAAAC,OAAA;EAAAC,KAAA;AAAA;AAAAD,OAAA,CAAAE,iBAAA;AAEb,IAAAC,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAF,OAAA;AAEA,MAAMG,WAAW,GAAGC,0BAAa,CAACC,kBAAkB,IAAI,IAAI;AAC5D,IAAI,CAACF,WAAW,EAAE;EAChB,IAAAG,mBAAY,EACV,IAAIC,KAAK,CACP,6HACF,CACF,CAAC;AACH;AAEA,MAAMT,iBAAyB,GAAGK,WAAW,GACxCC,0BAAa,CAACC,kBAAkB,GACjCG,yBAAiB;AAACZ,OAAA,CAAAE,iBAAA,GAAAA,iBAAA"}