@snowplow/react-native-tracker 1.3.0 → 2.0.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 +150 -0
  8. package/.github/workflows/deploy.yml +98 -0
  9. package/.github/workflows/e2e-android.yml +121 -0
  10. package/.github/workflows/e2e-ios.yml +90 -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 +166 -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 +704 -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 +271 -0
  32. package/android/src/main/java/com/snowplow/reactnativetracker/util/EventUtil.kt +213 -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 +108 -0
  73. package/example/e2e/environment.js +23 -0
  74. package/example/e2e/helpers/microCommands.js +153 -0
  75. package/example/e2e/helpers/microHelpers.js +346 -0
  76. package/example/e2e/helpers/microHelpers.test.js +308 -0
  77. package/example/e2e/helpers/schemas.js +62 -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 +300 -0
  81. package/example/index.js +5 -0
  82. package/example/ios/.xcode.env +11 -0
  83. package/example/ios/Podfile +64 -0
  84. package/example/ios/Podfile.lock +737 -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 +557 -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 +165 -0
  107. package/ios/ReactNativeTracker.swift +757 -0
  108. package/ios/{RNSnowplowTracker.xcodeproj → ReactNativeTracker.xcodeproj}/project.pbxproj +55 -79
  109. package/ios/Util/ConfigUtils.swift +206 -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 +475 -0
  114. package/lib/commonjs/api.js.map +1 -0
  115. package/lib/commonjs/configurations.js +209 -0
  116. package/lib/commonjs/configurations.js.map +1 -0
  117. package/lib/commonjs/constants.js +85 -0
  118. package/lib/commonjs/constants.js.map +1 -0
  119. package/lib/commonjs/events.js +256 -0
  120. package/lib/commonjs/events.js.map +1 -0
  121. package/lib/commonjs/index.js +141 -0
  122. package/lib/commonjs/index.js.map +1 -0
  123. package/lib/commonjs/jsCore.js +393 -0
  124. package/lib/commonjs/jsCore.js.map +1 -0
  125. package/lib/commonjs/native.js +29 -0
  126. package/lib/commonjs/native.js.map +1 -0
  127. package/lib/commonjs/subject.js +248 -0
  128. package/lib/commonjs/subject.js.map +1 -0
  129. package/lib/commonjs/tracker.js +221 -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 +85 -0
  134. package/lib/commonjs/utils.js.map +1 -0
  135. package/lib/commonjs/webViewInterface.js +79 -0
  136. package/lib/commonjs/webViewInterface.js.map +1 -0
  137. package/lib/module/api.js +439 -0
  138. package/lib/module/api.js.map +1 -0
  139. package/lib/module/configurations.js +197 -0
  140. package/lib/module/configurations.js.map +1 -0
  141. package/lib/module/constants.js +80 -0
  142. package/lib/module/constants.js.map +1 -0
  143. package/lib/module/events.js +240 -0
  144. package/lib/module/events.js.map +1 -0
  145. package/lib/module/index.js +129 -0
  146. package/lib/module/index.js.map +1 -0
  147. package/lib/module/jsCore.js +390 -0
  148. package/lib/module/jsCore.js.map +1 -0
  149. package/lib/module/native.js +25 -0
  150. package/lib/module/native.js.map +1 -0
  151. package/lib/module/subject.js +235 -0
  152. package/lib/module/subject.js.map +1 -0
  153. package/lib/module/tracker.js +209 -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 +79 -0
  158. package/lib/module/utils.js.map +1 -0
  159. package/lib/module/webViewInterface.js +75 -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 +226 -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 +59 -0
  178. package/lib/typescript/constants.d.ts.map +1 -0
  179. package/lib/typescript/events.d.ts +101 -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 +140 -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 +93 -0
  190. package/lib/typescript/tracker.d.ts.map +1 -0
  191. package/{dist/index.d.ts → lib/typescript/types.d.ts} +188 -75
  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 +138 -51
  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 +34 -0
  202. package/src/__tests__/configurations.test.ts +620 -0
  203. package/src/__tests__/events.test.ts +749 -0
  204. package/src/__tests__/index.test.ts +27 -0
  205. package/src/__tests__/jsCore.test.ts +169 -0
  206. package/src/__tests__/utils.test.ts +23 -0
  207. package/src/api.ts +535 -0
  208. package/src/configurations.ts +337 -0
  209. package/src/constants.ts +102 -0
  210. package/src/events.ts +330 -0
  211. package/src/index.ts +189 -0
  212. package/src/jsCore.ts +553 -0
  213. package/src/native.ts +34 -0
  214. package/src/subject.ts +315 -0
  215. package/src/tracker.ts +330 -0
  216. package/src/types.ts +1087 -0
  217. package/src/utils.ts +78 -0
  218. package/src/webViewInterface.ts +105 -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 -1650
  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,141 @@
1
+ /*
2
+ * Copyright (c) 2020-2023 Snowplow Analytics Ltd. All rights reserved.
3
+ *
4
+ * This program is licensed to you under the Apache License Version 2.0,
5
+ * and you may not use this file except in compliance with the Apache License Version 2.0.
6
+ * You may obtain a copy of the Apache License Version 2.0 at http://www.apache.org/licenses/LICENSE-2.0.
7
+ *
8
+ * Unless required by applicable law or agreed to in writing,
9
+ * software distributed under the Apache License Version 2.0 is distributed on an
10
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
+ * See the Apache License Version 2.0 for the specific language governing permissions and limitations there under.
12
+ */
13
+
14
+ 'use strict';
15
+
16
+ Object.defineProperty(exports, "__esModule", {
17
+ value: true
18
+ });
19
+ exports.createTracker = createTracker;
20
+ Object.defineProperty(exports, "getWebViewCallback", {
21
+ enumerable: true,
22
+ get: function () {
23
+ return _webViewInterface.getWebViewCallback;
24
+ }
25
+ });
26
+ exports.removeAllTrackers = removeAllTrackers;
27
+ exports.removeTracker = removeTracker;
28
+ var api = _interopRequireWildcard(require("./api"));
29
+ var _utils = require("./utils");
30
+ var _webViewInterface = require("./webViewInterface");
31
+ 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); }
32
+ 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; }
33
+ /**
34
+ * Creates a React Native Tracker object
35
+ *
36
+ * @param namespace {string} - The tracker namespace
37
+ * @param networkConfig {Object} - The network configuration
38
+ * @param control {Array} - The tracker controller configuration
39
+ * @returns The tracker object
40
+ */
41
+ function createTracker(namespace, networkConfig) {
42
+ let controllerConfig = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
43
+ // initTrackerPromise
44
+ const initTrackerPromise = Promise.resolve(api.createTracker({
45
+ namespace,
46
+ networkConfig,
47
+ ...controllerConfig
48
+ }));
49
+
50
+ // mkMethod creates methods subscribed to the initTrackerPromise
51
+ const mkMethod = (0, _utils.safeWait)(initTrackerPromise, _utils.errorHandler);
52
+
53
+ // mkCallback creates callbacks subscribed to the initTrackerPromise
54
+ const mkCallback = (0, _utils.safeWaitCallback)(initTrackerPromise, _utils.errorHandler);
55
+
56
+ // track methods
57
+ const trackSelfDescribingEvent = mkMethod(api.trackSelfDescribingEvent(namespace));
58
+ const trackScreenViewEvent = mkMethod(api.trackScreenViewEvent(namespace));
59
+ const trackStructuredEvent = mkMethod(api.trackStructuredEvent(namespace));
60
+ const trackPageViewEvent = mkMethod(api.trackPageViewEvent(namespace));
61
+ const trackTimingEvent = mkMethod(api.trackTimingEvent(namespace));
62
+ const trackConsentGrantedEvent = mkMethod(api.trackConsentGrantedEvent(namespace));
63
+ const trackConsentWithdrawnEvent = mkMethod(api.trackConsentWithdrawnEvent(namespace));
64
+ const trackEcommerceTransactionEvent = mkMethod(api.trackEcommerceTransactionEvent(namespace));
65
+ const trackDeepLinkReceivedEvent = mkMethod(api.trackDeepLinkReceivedEvent(namespace));
66
+ const trackMessageNotificationEvent = mkMethod(api.trackMessageNotificationEvent(namespace));
67
+ // Global Contexts
68
+ const removeGlobalContexts = mkMethod(api.removeGlobalContexts(namespace));
69
+ const addGlobalContexts = mkMethod(api.addGlobalContexts(namespace));
70
+ // setters
71
+ const setUserId = mkMethod(api.setUserId(namespace));
72
+ const setNetworkUserId = mkMethod(api.setNetworkUserId(namespace));
73
+ const setDomainUserId = mkMethod(api.setDomainUserId(namespace));
74
+ const setIpAddress = mkMethod(api.setIpAddress(namespace));
75
+ const setUseragent = mkMethod(api.setUseragent(namespace));
76
+ const setTimezone = mkMethod(api.setTimezone(namespace));
77
+ const setLanguage = mkMethod(api.setLanguage(namespace));
78
+ const setScreenResolution = mkMethod(api.setScreenResolution(namespace));
79
+ const setScreenViewport = mkMethod(api.setScreenViewport(namespace));
80
+ const setColorDepth = mkMethod(api.setColorDepth(namespace));
81
+ const setSubjectData = mkMethod(api.setSubjectData(namespace));
82
+
83
+ // callbacks
84
+ const getSessionUserId = mkCallback(api.getSessionUserId(namespace));
85
+ const getSessionId = mkCallback(api.getSessionId(namespace));
86
+ const getSessionIndex = mkCallback(api.getSessionIndex(namespace));
87
+ const getIsInBackground = mkCallback(api.getIsInBackground(namespace));
88
+ const getBackgroundIndex = mkCallback(api.getBackgroundIndex(namespace));
89
+ const getForegroundIndex = mkCallback(api.getForegroundIndex(namespace));
90
+ return Object.freeze({
91
+ trackSelfDescribingEvent,
92
+ trackScreenViewEvent,
93
+ trackStructuredEvent,
94
+ trackPageViewEvent,
95
+ trackTimingEvent,
96
+ trackConsentGrantedEvent,
97
+ trackConsentWithdrawnEvent,
98
+ trackEcommerceTransactionEvent,
99
+ trackDeepLinkReceivedEvent,
100
+ trackMessageNotificationEvent,
101
+ removeGlobalContexts,
102
+ addGlobalContexts,
103
+ setUserId,
104
+ setNetworkUserId,
105
+ setDomainUserId,
106
+ setIpAddress,
107
+ setUseragent,
108
+ setTimezone,
109
+ setLanguage,
110
+ setScreenResolution,
111
+ setScreenViewport,
112
+ setColorDepth,
113
+ setSubjectData,
114
+ getSessionUserId,
115
+ getSessionId,
116
+ getSessionIndex,
117
+ getIsInBackground,
118
+ getBackgroundIndex,
119
+ getForegroundIndex
120
+ });
121
+ }
122
+
123
+ /**
124
+ * Removes a tracker given its namespace
125
+ *
126
+ * @param trackerNamespace {string}
127
+ * @returns - A boolean promise
128
+ */
129
+ function removeTracker(trackerNamespace) {
130
+ return api.removeTracker(trackerNamespace).catch(e => (0, _utils.errorHandler)(e));
131
+ }
132
+
133
+ /**
134
+ * Removes all trackers
135
+ *
136
+ * @returns - A boolean promise
137
+ */
138
+ function removeAllTrackers() {
139
+ return api.removeAllTrackers().catch(e => (0, _utils.errorHandler)(e));
140
+ }
141
+ //# 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","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,393 @@
1
+ /*
2
+ * Copyright (c) 2020-2023 Snowplow Analytics Ltd. All rights reserved.
3
+ *
4
+ * This program is licensed to you under the Apache License Version 2.0,
5
+ * and you may not use this file except in compliance with the Apache License Version 2.0.
6
+ * You may obtain a copy of the Apache License Version 2.0 at http://www.apache.org/licenses/LICENSE-2.0.
7
+ *
8
+ * Unless required by applicable law or agreed to in writing,
9
+ * software distributed under the Apache License Version 2.0 is distributed on an
10
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
+ * See the Apache License Version 2.0 for the specific language governing permissions and limitations there under.
12
+ */
13
+
14
+ 'use strict';
15
+
16
+ Object.defineProperty(exports, "__esModule", {
17
+ value: true
18
+ });
19
+ exports.JSSnowplowTracker = void 0;
20
+ var _trackerCore = require("@snowplow/tracker-core");
21
+ var _utils = require("./utils");
22
+ var _constants = require("./constants");
23
+ var _uuid = require("uuid");
24
+ // Tracker version added to the events
25
+ const trackerVersion = 'rn-2.0.0';
26
+ let trackers = {};
27
+ function preparePayload(payload) {
28
+ const stringifiedPayload = {};
29
+ payload['stm'] = new Date().getTime().toString();
30
+ for (const key in payload) {
31
+ if (Object.prototype.hasOwnProperty.call(payload, key)) {
32
+ stringifiedPayload[key] = String(payload[key]);
33
+ }
34
+ }
35
+ return stringifiedPayload;
36
+ }
37
+ function createEmitCallback(networkConfig) {
38
+ return e => {
39
+ const postJson = {
40
+ schema: _constants.schemas.payloadData,
41
+ data: [preparePayload(e)]
42
+ };
43
+ const endpoint = networkConfig.endpoint;
44
+ const postPath = networkConfig.customPostPath ?? '/com.snowplowanalytics.snowplow/tp2';
45
+ const headers = networkConfig.requestHeaders ?? {};
46
+ fetch(endpoint + postPath, {
47
+ method: 'POST',
48
+ body: JSON.stringify(postJson),
49
+ headers: {
50
+ 'Content-Type': 'application/json',
51
+ ...headers
52
+ }
53
+ }).catch(_utils.errorHandler);
54
+ };
55
+ }
56
+ function updateTrackerProperties(tracker, configuration) {
57
+ var _configuration$tracke, _configuration$tracke2, _configuration$subjec, _configuration$subjec2, _configuration$subjec3, _configuration$subjec4, _configuration$subjec5, _configuration$subjec6, _configuration$subjec7, _configuration$subjec8, _configuration$subjec9;
58
+ tracker.setPlatform(((_configuration$tracke = configuration.trackerConfig) === null || _configuration$tracke === void 0 ? void 0 : _configuration$tracke.devicePlatform) ?? 'mob');
59
+ tracker.setTrackerVersion(trackerVersion);
60
+ tracker.setTrackerNamespace(configuration.namespace);
61
+ if (((_configuration$tracke2 = configuration.trackerConfig) === null || _configuration$tracke2 === void 0 ? void 0 : _configuration$tracke2.appId) != null) {
62
+ tracker.setAppId(configuration.trackerConfig.appId);
63
+ }
64
+ if (((_configuration$subjec = configuration.subjectConfig) === null || _configuration$subjec === void 0 ? void 0 : _configuration$subjec.colorDepth) != null) {
65
+ tracker.setColorDepth(String(configuration.subjectConfig.colorDepth));
66
+ }
67
+ if (((_configuration$subjec2 = configuration.subjectConfig) === null || _configuration$subjec2 === void 0 ? void 0 : _configuration$subjec2.domainUserId) != null) {
68
+ tracker.setDomainUserId(configuration.subjectConfig.domainUserId);
69
+ }
70
+ if (((_configuration$subjec3 = configuration.subjectConfig) === null || _configuration$subjec3 === void 0 ? void 0 : _configuration$subjec3.ipAddress) != null) {
71
+ tracker.setIpAddress(configuration.subjectConfig.ipAddress);
72
+ }
73
+ if (((_configuration$subjec4 = configuration.subjectConfig) === null || _configuration$subjec4 === void 0 ? void 0 : _configuration$subjec4.language) != null) {
74
+ tracker.setLang(configuration.subjectConfig.language);
75
+ }
76
+ if (((_configuration$subjec5 = configuration.subjectConfig) === null || _configuration$subjec5 === void 0 ? void 0 : _configuration$subjec5.screenResolution) != null) {
77
+ tracker.setScreenResolution(String(configuration.subjectConfig.screenResolution[0]), String(configuration.subjectConfig.screenResolution[1]));
78
+ }
79
+ if (((_configuration$subjec6 = configuration.subjectConfig) === null || _configuration$subjec6 === void 0 ? void 0 : _configuration$subjec6.screenViewport) != null) {
80
+ tracker.setViewport(String(configuration.subjectConfig.screenViewport[0]), String(configuration.subjectConfig.screenViewport[1]));
81
+ }
82
+ if (((_configuration$subjec7 = configuration.subjectConfig) === null || _configuration$subjec7 === void 0 ? void 0 : _configuration$subjec7.timezone) != null) {
83
+ tracker.setTimezone(configuration.subjectConfig.timezone);
84
+ }
85
+ if (((_configuration$subjec8 = configuration.subjectConfig) === null || _configuration$subjec8 === void 0 ? void 0 : _configuration$subjec8.userId) != null) {
86
+ tracker.setUserId(configuration.subjectConfig.userId);
87
+ }
88
+ if (((_configuration$subjec9 = configuration.subjectConfig) === null || _configuration$subjec9 === void 0 ? void 0 : _configuration$subjec9.useragent) != null) {
89
+ tracker.setUseragent(configuration.subjectConfig.useragent);
90
+ }
91
+ }
92
+ function createTracker(configuration, emitCallback) {
93
+ var _configuration$tracke3;
94
+ // create an emit callback if not given
95
+ const emitter = emitCallback ?? createEmitCallback(configuration.networkConfig);
96
+
97
+ // the tracker core does not provide an option to set the duid, so we need to add custom
98
+ let domainUserId;
99
+ const setDomainUserId = userId => {
100
+ domainUserId = userId;
101
+ };
102
+ let networkUserId;
103
+ const setNetworkUserId = userId => {
104
+ networkUserId = userId;
105
+ };
106
+
107
+ // initialize the tracker core
108
+ const core = (0, _trackerCore.trackerCore)({
109
+ base64: ((_configuration$tracke3 = configuration.trackerConfig) === null || _configuration$tracke3 === void 0 ? void 0 : _configuration$tracke3.base64Encoding) ?? true,
110
+ callback: payload => {
111
+ if (domainUserId != null) {
112
+ payload.add('duid', domainUserId);
113
+ }
114
+ if (networkUserId != null) {
115
+ payload.add('tnuid', networkUserId);
116
+ }
117
+ const builtPayload = payload.build();
118
+ emitter(builtPayload);
119
+ }
120
+ });
121
+ const tracker = {
122
+ ...core,
123
+ setDomainUserId,
124
+ setNetworkUserId
125
+ };
126
+ trackers[configuration.namespace] = tracker;
127
+
128
+ // update tracker properties to reflect subject and tracker info
129
+ updateTrackerProperties(tracker, configuration);
130
+ return Promise.resolve();
131
+ }
132
+ function removeTracker(details) {
133
+ delete trackers[details.tracker];
134
+ return Promise.resolve(true);
135
+ }
136
+ function removeAllTrackers() {
137
+ trackers = {};
138
+ return Promise.resolve(true);
139
+ }
140
+ function forTracker(namespace, callback) {
141
+ const tracker = namespace != null ? trackers[namespace] : Object.values(trackers)[0];
142
+ if (tracker) {
143
+ callback(tracker);
144
+ } else {
145
+ (0, _utils.errorHandler)(new Error('No such tracker found.'));
146
+ }
147
+ }
148
+ function trackSelfDescribingEvent(details) {
149
+ forTracker(details.tracker, tracker => {
150
+ tracker.track((0, _trackerCore.buildSelfDescribingEvent)({
151
+ event: details.eventData
152
+ }), details.contexts);
153
+ });
154
+ return Promise.resolve();
155
+ }
156
+ function trackStructuredEvent(details) {
157
+ forTracker(details.tracker, tracker => {
158
+ tracker.track((0, _trackerCore.buildStructEvent)(details.eventData), details.contexts);
159
+ });
160
+ return Promise.resolve();
161
+ }
162
+ function trackScreenViewEvent(details) {
163
+ const data = {
164
+ name: details.eventData.name,
165
+ id: details.eventData.id ?? (0, _uuid.v4)()
166
+ };
167
+ if (details.eventData.type != null) {
168
+ data.type = details.eventData.type;
169
+ }
170
+ if (details.eventData.previousName != null) {
171
+ data.previousName = details.eventData.previousName;
172
+ }
173
+ if (details.eventData.previousId != null) {
174
+ data.previousId = details.eventData.previousId;
175
+ }
176
+ if (details.eventData.previousType != null) {
177
+ data.previousType = details.eventData.previousType;
178
+ }
179
+ if (details.eventData.transitionType != null) {
180
+ data.transitionType = details.eventData.transitionType;
181
+ }
182
+ return trackSelfDescribingEvent({
183
+ tracker: details.tracker,
184
+ eventData: {
185
+ schema: _constants.schemas.screenViewSchema,
186
+ data: data
187
+ },
188
+ contexts: details.contexts
189
+ });
190
+ }
191
+ function trackPageViewEvent(details) {
192
+ forTracker(details.tracker, tracker => {
193
+ tracker.track((0, _trackerCore.buildPageView)(details.eventData), details.contexts);
194
+ });
195
+ return Promise.resolve();
196
+ }
197
+ function trackTimingEvent(details) {
198
+ return trackSelfDescribingEvent({
199
+ tracker: details.tracker,
200
+ eventData: {
201
+ schema: _constants.schemas.timingSchema,
202
+ data: details.eventData
203
+ },
204
+ contexts: details.contexts
205
+ });
206
+ }
207
+ function trackConsentGrantedEvent(details) {
208
+ forTracker(details.tracker, tracker => {
209
+ const built = (0, _trackerCore.buildConsentGranted)({
210
+ id: details.eventData.documentId,
211
+ version: details.eventData.version,
212
+ name: details.eventData.name,
213
+ description: details.eventData.documentDescription,
214
+ expiry: details.eventData.expiry
215
+ });
216
+ tracker.track(built.event, details.contexts.concat(built.context));
217
+ });
218
+ return Promise.resolve();
219
+ }
220
+ function trackConsentWithdrawnEvent(details) {
221
+ forTracker(details.tracker, tracker => {
222
+ const built = (0, _trackerCore.buildConsentWithdrawn)({
223
+ all: details.eventData.all,
224
+ id: details.eventData.documentId,
225
+ version: details.eventData.version,
226
+ name: details.eventData.name,
227
+ description: details.eventData.documentDescription
228
+ });
229
+ tracker.track(built.event, details.contexts.concat(built.context));
230
+ });
231
+ return Promise.resolve();
232
+ }
233
+ function trackEcommerceTransactionEvent(details) {
234
+ forTracker(details.tracker, tracker => {
235
+ details.eventData.items.forEach(item => {
236
+ tracker.track((0, _trackerCore.buildEcommerceTransactionItem)({
237
+ ...item,
238
+ orderId: details.eventData.orderId
239
+ }), details.contexts);
240
+ });
241
+ tracker.track((0, _trackerCore.buildEcommerceTransaction)({
242
+ orderId: details.eventData.orderId,
243
+ total: details.eventData.totalValue,
244
+ affiliation: details.eventData.affiliation,
245
+ tax: details.eventData.taxValue,
246
+ shipping: details.eventData.shipping,
247
+ city: details.eventData.city,
248
+ state: details.eventData.state,
249
+ country: details.eventData.country,
250
+ currency: details.eventData.currency
251
+ }), details.contexts);
252
+ });
253
+ return Promise.resolve();
254
+ }
255
+ function trackDeepLinkReceivedEvent(details) {
256
+ return trackSelfDescribingEvent({
257
+ tracker: details.tracker,
258
+ eventData: {
259
+ schema: _constants.schemas.deepLinkReceivedSchema,
260
+ data: details.eventData
261
+ },
262
+ contexts: details.contexts
263
+ });
264
+ }
265
+ function trackMessageNotificationEvent(details) {
266
+ return trackSelfDescribingEvent({
267
+ tracker: details.tracker,
268
+ eventData: {
269
+ schema: _constants.schemas.messageNotificationSchema,
270
+ data: details.eventData
271
+ },
272
+ contexts: details.contexts
273
+ });
274
+ }
275
+ function removeGlobalContexts() {
276
+ return Promise.reject(new Error('Not implemented'));
277
+ }
278
+ function addGlobalContexts() {
279
+ return Promise.reject(new Error('Not implemented'));
280
+ }
281
+ function setUserId(details) {
282
+ var _trackers$details$tra;
283
+ (_trackers$details$tra = trackers[details.tracker]) === null || _trackers$details$tra === void 0 || _trackers$details$tra.setUserId(details.userId ?? '');
284
+ return Promise.resolve();
285
+ }
286
+ function setNetworkUserId(details) {
287
+ var _trackers$details$tra2;
288
+ (_trackers$details$tra2 = trackers[details.tracker]) === null || _trackers$details$tra2 === void 0 || _trackers$details$tra2.setNetworkUserId(details.networkUserId ?? '');
289
+ return Promise.resolve();
290
+ }
291
+ function setDomainUserId(details) {
292
+ var _trackers$details$tra3;
293
+ (_trackers$details$tra3 = trackers[details.tracker]) === null || _trackers$details$tra3 === void 0 || _trackers$details$tra3.setDomainUserId(details.domainUserId ?? '');
294
+ return Promise.resolve();
295
+ }
296
+ function setIpAddress(details) {
297
+ var _trackers$details$tra4;
298
+ (_trackers$details$tra4 = trackers[details.tracker]) === null || _trackers$details$tra4 === void 0 || _trackers$details$tra4.setIpAddress(details.ipAddress ?? '');
299
+ return Promise.resolve();
300
+ }
301
+ function setUseragent(details) {
302
+ var _trackers$details$tra5;
303
+ (_trackers$details$tra5 = trackers[details.tracker]) === null || _trackers$details$tra5 === void 0 || _trackers$details$tra5.setUseragent(details.useragent ?? '');
304
+ return Promise.resolve();
305
+ }
306
+ function setTimezone(details) {
307
+ var _trackers$details$tra6;
308
+ (_trackers$details$tra6 = trackers[details.tracker]) === null || _trackers$details$tra6 === void 0 || _trackers$details$tra6.setTimezone(details.timezone ?? '');
309
+ return Promise.resolve();
310
+ }
311
+ function setLanguage(details) {
312
+ var _trackers$details$tra7;
313
+ (_trackers$details$tra7 = trackers[details.tracker]) === null || _trackers$details$tra7 === void 0 || _trackers$details$tra7.setLang(details.language ?? '');
314
+ return Promise.resolve();
315
+ }
316
+ function setScreenResolution(details) {
317
+ if (details.screenResolution) {
318
+ var _trackers$details$tra8;
319
+ (_trackers$details$tra8 = trackers[details.tracker]) === null || _trackers$details$tra8 === void 0 || _trackers$details$tra8.setScreenResolution(String(details.screenResolution[0]), String(details.screenResolution[1]));
320
+ } else {
321
+ var _trackers$details$tra9;
322
+ (_trackers$details$tra9 = trackers[details.tracker]) === null || _trackers$details$tra9 === void 0 || _trackers$details$tra9.addPayloadPair('res', '');
323
+ }
324
+ return Promise.resolve();
325
+ }
326
+ function setScreenViewport(details) {
327
+ if (details.screenViewport) {
328
+ var _trackers$details$tra10;
329
+ (_trackers$details$tra10 = trackers[details.tracker]) === null || _trackers$details$tra10 === void 0 || _trackers$details$tra10.setViewport(String(details.screenViewport[0]), String(details.screenViewport[1]));
330
+ } else {
331
+ var _trackers$details$tra11;
332
+ (_trackers$details$tra11 = trackers[details.tracker]) === null || _trackers$details$tra11 === void 0 || _trackers$details$tra11.addPayloadPair('vp', '');
333
+ }
334
+ return Promise.resolve();
335
+ }
336
+ function setColorDepth(details) {
337
+ var _trackers$details$tra12;
338
+ (_trackers$details$tra12 = trackers[details.tracker]) === null || _trackers$details$tra12 === void 0 || _trackers$details$tra12.setColorDepth(String(details.colorDepth ?? ''));
339
+ return Promise.resolve();
340
+ }
341
+ function getSessionUserId() {
342
+ return Promise.reject(new Error('Not implemented'));
343
+ }
344
+ function getSessionId() {
345
+ return Promise.reject(new Error('Not implemented'));
346
+ }
347
+ function getSessionIndex() {
348
+ return Promise.reject(new Error('Not implemented'));
349
+ }
350
+ function getIsInBackground() {
351
+ return Promise.reject(new Error('Not implemented'));
352
+ }
353
+ function getBackgroundIndex() {
354
+ return Promise.reject(new Error('Not implemented'));
355
+ }
356
+ function getForegroundIndex() {
357
+ return Promise.reject(new Error('Not implemented'));
358
+ }
359
+ const JSSnowplowTracker = Object.freeze({
360
+ createTracker,
361
+ removeTracker,
362
+ removeAllTrackers,
363
+ trackSelfDescribingEvent,
364
+ trackStructuredEvent,
365
+ trackScreenViewEvent,
366
+ trackPageViewEvent,
367
+ trackTimingEvent,
368
+ trackConsentGrantedEvent,
369
+ trackConsentWithdrawnEvent,
370
+ trackEcommerceTransactionEvent,
371
+ trackDeepLinkReceivedEvent,
372
+ trackMessageNotificationEvent,
373
+ removeGlobalContexts,
374
+ addGlobalContexts,
375
+ setUserId,
376
+ setNetworkUserId,
377
+ setDomainUserId,
378
+ setIpAddress,
379
+ setUseragent,
380
+ setTimezone,
381
+ setLanguage,
382
+ setScreenResolution,
383
+ setScreenViewport,
384
+ setColorDepth,
385
+ getSessionUserId,
386
+ getSessionId,
387
+ getSessionIndex,
388
+ getIsInBackground,
389
+ getBackgroundIndex,
390
+ getForegroundIndex
391
+ });
392
+ exports.JSSnowplowTracker = JSSnowplowTracker;
393
+ //# 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","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","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,29 @@
1
+ /*
2
+ * Copyright (c) 2020-2023 Snowplow Analytics Ltd. All rights reserved.
3
+ *
4
+ * This program is licensed to you under the Apache License Version 2.0,
5
+ * and you may not use this file except in compliance with the Apache License Version 2.0.
6
+ * You may obtain a copy of the Apache License Version 2.0 at http://www.apache.org/licenses/LICENSE-2.0.
7
+ *
8
+ * Unless required by applicable law or agreed to in writing,
9
+ * software distributed under the Apache License Version 2.0 is distributed on an
10
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
+ * See the Apache License Version 2.0 for the specific language governing permissions and limitations there under.
12
+ */
13
+
14
+ 'use strict';
15
+
16
+ Object.defineProperty(exports, "__esModule", {
17
+ value: true
18
+ });
19
+ exports.RNSnowplowTracker = void 0;
20
+ var _reactNative = require("react-native");
21
+ var _jsCore = require("./jsCore");
22
+ var _utils = require("./utils");
23
+ const isAvailable = _reactNative.NativeModules.ReactNativeTracker != null;
24
+ if (!isAvailable) {
25
+ (0, _utils.errorHandler)(new Error('Unable to access the native iOS/Android Snowplow tracker, a tracker implementation with very limited functionality is used.'));
26
+ }
27
+ const RNSnowplowTracker = isAvailable ? _reactNative.NativeModules.ReactNativeTracker : _jsCore.JSSnowplowTracker;
28
+ exports.RNSnowplowTracker = RNSnowplowTracker;
29
+ //# 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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,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"}