@snowplow/react-native-tracker 1.4.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 (239) 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/README.md +23 -110
  20. package/android/build.gradle +93 -37
  21. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  22. package/android/gradle/wrapper/gradle-wrapper.properties +1 -2
  23. package/android/gradle.properties +5 -2
  24. package/android/gradlew +172 -110
  25. package/android/gradlew.bat +24 -19
  26. package/android/src/main/AndroidManifest.xml +1 -3
  27. package/android/src/main/AndroidManifestNew.xml +2 -0
  28. package/android/src/main/java/com/snowplow/reactnativetracker/ReactNativeTrackerModule.kt +704 -0
  29. package/android/src/main/java/com/snowplow/reactnativetracker/ReactNativeTrackerPackage.kt +17 -0
  30. package/android/src/main/java/com/snowplow/reactnativetracker/util/ConfigUtil.kt +271 -0
  31. package/android/src/main/java/com/snowplow/reactnativetracker/util/EventUtil.kt +213 -0
  32. package/android/src/main/java/com/snowplow/reactnativetracker/util/TrackerVersion.kt +5 -0
  33. package/babel.config.js +3 -0
  34. package/example/.watchmanconfig +1 -0
  35. package/example/Gemfile +6 -0
  36. package/example/android/app/build.gradle +129 -0
  37. package/example/android/app/debug.keystore +0 -0
  38. package/example/android/app/proguard-rules.pro +10 -0
  39. package/example/android/app/src/androidTest/java/com/reactnativetrackerexample/DetoxTest.java +36 -0
  40. package/example/android/app/src/androidTest/java/com/reactnativetrackerexample/DetoxTestAppJUnitRunner.java +21 -0
  41. package/example/android/app/src/debug/AndroidManifest.xml +13 -0
  42. package/example/android/app/src/debug/java/com/reactnativetrackerexample/ReactNativeFlipper.java +75 -0
  43. package/example/android/app/src/main/AndroidManifest.xml +26 -0
  44. package/example/android/app/src/main/java/com/reactnativetrackerexample/MainActivity.java +32 -0
  45. package/example/android/app/src/main/java/com/reactnativetrackerexample/MainApplication.java +62 -0
  46. package/example/android/app/src/main/res/drawable/rn_edit_text_material.xml +36 -0
  47. package/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  48. package/example/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
  49. package/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  50. package/example/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
  51. package/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  52. package/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
  53. package/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  54. package/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  55. package/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  56. package/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  57. package/example/android/app/src/main/res/values/strings.xml +3 -0
  58. package/example/android/app/src/main/res/values/styles.xml +9 -0
  59. package/example/android/app/src/release/java/com/reactnativetrackerexample/ReactNativeFlipper.java +20 -0
  60. package/example/android/build.gradle +31 -0
  61. package/example/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  62. package/example/android/gradle/wrapper/gradle-wrapper.properties +6 -0
  63. package/example/android/gradle.properties +44 -0
  64. package/example/android/gradlew +244 -0
  65. package/example/android/gradlew.bat +92 -0
  66. package/example/android/settings.gradle +4 -0
  67. package/example/app.json +4 -0
  68. package/example/babel.config.js +17 -0
  69. package/example/detox.config.js +92 -0
  70. package/example/e2e/config.json +10 -0
  71. package/example/e2e/emitEvents.e2e.detox.js +108 -0
  72. package/example/e2e/environment.js +23 -0
  73. package/example/e2e/helpers/microCommands.js +153 -0
  74. package/example/e2e/helpers/microHelpers.js +346 -0
  75. package/example/e2e/helpers/microHelpers.test.js +308 -0
  76. package/example/e2e/helpers/schemas.js +62 -0
  77. package/example/e2e/jest.config.js +16 -0
  78. package/example/e2e/setup.js +4 -0
  79. package/example/e2e/testEvents.micro.test.js +300 -0
  80. package/example/index.js +5 -0
  81. package/example/ios/.xcode.env +11 -0
  82. package/example/ios/Podfile +64 -0
  83. package/example/ios/Podfile.lock +737 -0
  84. package/example/ios/ReactNativeTrackerExample/AppDelegate.h +6 -0
  85. package/example/ios/ReactNativeTrackerExample/AppDelegate.mm +26 -0
  86. package/example/ios/ReactNativeTrackerExample/Images.xcassets/AppIcon.appiconset/Contents.json +53 -0
  87. package/example/ios/ReactNativeTrackerExample/Images.xcassets/Contents.json +6 -0
  88. package/example/ios/ReactNativeTrackerExample/Info.plist +55 -0
  89. package/example/ios/ReactNativeTrackerExample/LaunchScreen.storyboard +47 -0
  90. package/example/ios/ReactNativeTrackerExample/main.m +10 -0
  91. package/example/ios/ReactNativeTrackerExample-Bridging-Header.h +3 -0
  92. package/example/ios/ReactNativeTrackerExample.xcodeproj/project.pbxproj +722 -0
  93. package/{ios/RNSnowplowTracker.xcodeproj/xcshareddata/xcschemes/RNSnowplowTracker.xcscheme → example/ios/ReactNativeTrackerExample.xcodeproj/xcshareddata/xcschemes/ReactNativeTrackerExample.xcscheme} +29 -21
  94. package/example/ios/ReactNativeTrackerExample.xcworkspace/contents.xcworkspacedata +10 -0
  95. package/example/ios/ReactNativeTrackerExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  96. package/example/ios/ReactNativeTrackerExampleTests/Info.plist +24 -0
  97. package/example/ios/ReactNativeTrackerExampleTests/ReactNativeTrackerExampleTests.m +66 -0
  98. package/example/metro.config.js +45 -0
  99. package/example/package.json +54 -0
  100. package/example/react-native.config.js +10 -0
  101. package/example/src/App.js +557 -0
  102. package/example/tsconfig.json +5 -0
  103. package/example/yarn.lock +7379 -0
  104. package/ios/ReactNativeTracker-Bridging-Header.h +2 -0
  105. package/ios/ReactNativeTracker.mm +165 -0
  106. package/ios/ReactNativeTracker.swift +757 -0
  107. package/ios/{RNSnowplowTracker.xcodeproj → ReactNativeTracker.xcodeproj}/project.pbxproj +55 -79
  108. package/ios/Util/ConfigUtils.swift +206 -0
  109. package/ios/Util/TrackerVersion.swift +3 -0
  110. package/ios/Util/Utilities.swift +37 -0
  111. package/lefthook.yml +11 -0
  112. package/lib/commonjs/api.js +475 -0
  113. package/lib/commonjs/api.js.map +1 -0
  114. package/lib/commonjs/configurations.js +209 -0
  115. package/lib/commonjs/configurations.js.map +1 -0
  116. package/lib/commonjs/constants.js +85 -0
  117. package/lib/commonjs/constants.js.map +1 -0
  118. package/lib/commonjs/events.js +256 -0
  119. package/lib/commonjs/events.js.map +1 -0
  120. package/lib/commonjs/index.js +141 -0
  121. package/lib/commonjs/index.js.map +1 -0
  122. package/lib/commonjs/jsCore.js +393 -0
  123. package/lib/commonjs/jsCore.js.map +1 -0
  124. package/lib/commonjs/native.js +29 -0
  125. package/lib/commonjs/native.js.map +1 -0
  126. package/lib/commonjs/subject.js +248 -0
  127. package/lib/commonjs/subject.js.map +1 -0
  128. package/lib/commonjs/tracker.js +221 -0
  129. package/lib/commonjs/tracker.js.map +1 -0
  130. package/lib/commonjs/types.js +2 -0
  131. package/lib/commonjs/types.js.map +1 -0
  132. package/lib/commonjs/utils.js +85 -0
  133. package/lib/commonjs/utils.js.map +1 -0
  134. package/lib/commonjs/webViewInterface.js +79 -0
  135. package/lib/commonjs/webViewInterface.js.map +1 -0
  136. package/lib/module/api.js +439 -0
  137. package/lib/module/api.js.map +1 -0
  138. package/lib/module/configurations.js +197 -0
  139. package/lib/module/configurations.js.map +1 -0
  140. package/lib/module/constants.js +80 -0
  141. package/lib/module/constants.js.map +1 -0
  142. package/lib/module/events.js +240 -0
  143. package/lib/module/events.js.map +1 -0
  144. package/lib/module/index.js +129 -0
  145. package/lib/module/index.js.map +1 -0
  146. package/lib/module/jsCore.js +390 -0
  147. package/lib/module/jsCore.js.map +1 -0
  148. package/lib/module/native.js +25 -0
  149. package/lib/module/native.js.map +1 -0
  150. package/lib/module/subject.js +235 -0
  151. package/lib/module/subject.js.map +1 -0
  152. package/lib/module/tracker.js +209 -0
  153. package/lib/module/tracker.js.map +1 -0
  154. package/lib/module/types.js +2 -0
  155. package/lib/module/types.js.map +1 -0
  156. package/lib/module/utils.js +79 -0
  157. package/lib/module/utils.js.map +1 -0
  158. package/lib/module/webViewInterface.js +75 -0
  159. package/lib/module/webViewInterface.js.map +1 -0
  160. package/lib/typescript/__tests__/api.test.d.ts +2 -0
  161. package/lib/typescript/__tests__/api.test.d.ts.map +1 -0
  162. package/lib/typescript/__tests__/configurations.test.d.ts +2 -0
  163. package/lib/typescript/__tests__/configurations.test.d.ts.map +1 -0
  164. package/lib/typescript/__tests__/events.test.d.ts +2 -0
  165. package/lib/typescript/__tests__/events.test.d.ts.map +1 -0
  166. package/lib/typescript/__tests__/index.test.d.ts +2 -0
  167. package/lib/typescript/__tests__/index.test.d.ts.map +1 -0
  168. package/lib/typescript/__tests__/jsCore.test.d.ts +2 -0
  169. package/lib/typescript/__tests__/jsCore.test.d.ts.map +1 -0
  170. package/lib/typescript/__tests__/utils.test.d.ts +2 -0
  171. package/lib/typescript/__tests__/utils.test.d.ts.map +1 -0
  172. package/lib/typescript/api.d.ts +226 -0
  173. package/lib/typescript/api.d.ts.map +1 -0
  174. package/lib/typescript/configurations.d.ts +73 -0
  175. package/lib/typescript/configurations.d.ts.map +1 -0
  176. package/lib/typescript/constants.d.ts +59 -0
  177. package/lib/typescript/constants.d.ts.map +1 -0
  178. package/lib/typescript/events.d.ts +101 -0
  179. package/lib/typescript/events.d.ts.map +1 -0
  180. package/lib/typescript/index.d.ts +27 -0
  181. package/lib/typescript/index.d.ts.map +1 -0
  182. package/lib/typescript/jsCore.d.ts +140 -0
  183. package/lib/typescript/jsCore.d.ts.map +1 -0
  184. package/lib/typescript/native.d.ts +4 -0
  185. package/lib/typescript/native.d.ts.map +1 -0
  186. package/lib/typescript/subject.d.ts +91 -0
  187. package/lib/typescript/subject.d.ts.map +1 -0
  188. package/lib/typescript/tracker.d.ts +93 -0
  189. package/lib/typescript/tracker.d.ts.map +1 -0
  190. package/{dist/index.d.ts → lib/typescript/types.d.ts} +188 -75
  191. package/lib/typescript/types.d.ts.map +1 -0
  192. package/lib/typescript/utils.d.ts +35 -0
  193. package/lib/typescript/utils.d.ts.map +1 -0
  194. package/lib/typescript/webViewInterface.d.ts +15 -0
  195. package/lib/typescript/webViewInterface.d.ts.map +1 -0
  196. package/package.json +134 -52
  197. package/scripts/bootstrap.js +29 -0
  198. package/snowplow-react-native-tracker.podspec +42 -0
  199. package/src/__mocks__/react-native.js +7 -0
  200. package/src/__tests__/api.test.ts +34 -0
  201. package/src/__tests__/configurations.test.ts +620 -0
  202. package/src/__tests__/events.test.ts +749 -0
  203. package/src/__tests__/index.test.ts +27 -0
  204. package/src/__tests__/jsCore.test.ts +169 -0
  205. package/src/__tests__/utils.test.ts +23 -0
  206. package/src/api.ts +535 -0
  207. package/src/configurations.ts +337 -0
  208. package/src/constants.ts +102 -0
  209. package/src/events.ts +330 -0
  210. package/src/index.ts +189 -0
  211. package/src/jsCore.ts +553 -0
  212. package/src/native.ts +34 -0
  213. package/src/subject.ts +315 -0
  214. package/src/tracker.ts +330 -0
  215. package/src/types.ts +1087 -0
  216. package/src/utils.ts +78 -0
  217. package/src/webViewInterface.ts +105 -0
  218. package/tsconfig.build.json +5 -0
  219. package/tsconfig.json +28 -0
  220. package/turbo.json +34 -0
  221. package/yarn.lock +9333 -0
  222. package/RNSnowplowTracker.podspec +0 -24
  223. package/android/src/main/java/com/snowplowanalytics/react/tracker/RNSnowplowTrackerModule.java +0 -750
  224. package/android/src/main/java/com/snowplowanalytics/react/tracker/RNSnowplowTrackerPackage.java +0 -29
  225. package/android/src/main/java/com/snowplowanalytics/react/util/ConfigUtil.java +0 -351
  226. package/android/src/main/java/com/snowplowanalytics/react/util/EventUtil.java +0 -339
  227. package/android/src/main/java/com/snowplowanalytics/react/util/TrackerVersion.java +0 -7
  228. package/dist/index.js +0 -2026
  229. package/dist/index.js.map +0 -1
  230. package/ios/RNSnowplowTracker.h +0 -34
  231. package/ios/RNSnowplowTracker.m +0 -911
  232. package/ios/Util/NSDictionary+RNSP_TypeMethods.h +0 -33
  233. package/ios/Util/NSDictionary+RNSP_TypeMethods.m +0 -40
  234. package/ios/Util/RNConfigUtils.h +0 -44
  235. package/ios/Util/RNConfigUtils.m +0 -209
  236. package/ios/Util/RNTrackerVersion.h +0 -27
  237. package/ios/Util/RNTrackerVersion.m +0 -27
  238. package/ios/Util/RNUtilities.h +0 -32
  239. package/ios/Util/RNUtilities.m +0 -68
@@ -0,0 +1,390 @@
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
+ import { trackerCore, buildSelfDescribingEvent, buildStructEvent, buildPageView, buildConsentGranted, buildConsentWithdrawn, buildEcommerceTransaction, buildEcommerceTransactionItem } from '@snowplow/tracker-core';
17
+ import { errorHandler } from './utils';
18
+ import { schemas } from './constants';
19
+ import { v4 as uuid } from 'uuid';
20
+
21
+ // Tracker version added to the events
22
+ const trackerVersion = 'rn-2.0.0';
23
+ let trackers = {};
24
+ function preparePayload(payload) {
25
+ const stringifiedPayload = {};
26
+ payload['stm'] = new Date().getTime().toString();
27
+ for (const key in payload) {
28
+ if (Object.prototype.hasOwnProperty.call(payload, key)) {
29
+ stringifiedPayload[key] = String(payload[key]);
30
+ }
31
+ }
32
+ return stringifiedPayload;
33
+ }
34
+ function createEmitCallback(networkConfig) {
35
+ return e => {
36
+ const postJson = {
37
+ schema: schemas.payloadData,
38
+ data: [preparePayload(e)]
39
+ };
40
+ const endpoint = networkConfig.endpoint;
41
+ const postPath = networkConfig.customPostPath ?? '/com.snowplowanalytics.snowplow/tp2';
42
+ const headers = networkConfig.requestHeaders ?? {};
43
+ fetch(endpoint + postPath, {
44
+ method: 'POST',
45
+ body: JSON.stringify(postJson),
46
+ headers: {
47
+ 'Content-Type': 'application/json',
48
+ ...headers
49
+ }
50
+ }).catch(errorHandler);
51
+ };
52
+ }
53
+ function updateTrackerProperties(tracker, configuration) {
54
+ var _configuration$tracke, _configuration$tracke2, _configuration$subjec, _configuration$subjec2, _configuration$subjec3, _configuration$subjec4, _configuration$subjec5, _configuration$subjec6, _configuration$subjec7, _configuration$subjec8, _configuration$subjec9;
55
+ tracker.setPlatform(((_configuration$tracke = configuration.trackerConfig) === null || _configuration$tracke === void 0 ? void 0 : _configuration$tracke.devicePlatform) ?? 'mob');
56
+ tracker.setTrackerVersion(trackerVersion);
57
+ tracker.setTrackerNamespace(configuration.namespace);
58
+ if (((_configuration$tracke2 = configuration.trackerConfig) === null || _configuration$tracke2 === void 0 ? void 0 : _configuration$tracke2.appId) != null) {
59
+ tracker.setAppId(configuration.trackerConfig.appId);
60
+ }
61
+ if (((_configuration$subjec = configuration.subjectConfig) === null || _configuration$subjec === void 0 ? void 0 : _configuration$subjec.colorDepth) != null) {
62
+ tracker.setColorDepth(String(configuration.subjectConfig.colorDepth));
63
+ }
64
+ if (((_configuration$subjec2 = configuration.subjectConfig) === null || _configuration$subjec2 === void 0 ? void 0 : _configuration$subjec2.domainUserId) != null) {
65
+ tracker.setDomainUserId(configuration.subjectConfig.domainUserId);
66
+ }
67
+ if (((_configuration$subjec3 = configuration.subjectConfig) === null || _configuration$subjec3 === void 0 ? void 0 : _configuration$subjec3.ipAddress) != null) {
68
+ tracker.setIpAddress(configuration.subjectConfig.ipAddress);
69
+ }
70
+ if (((_configuration$subjec4 = configuration.subjectConfig) === null || _configuration$subjec4 === void 0 ? void 0 : _configuration$subjec4.language) != null) {
71
+ tracker.setLang(configuration.subjectConfig.language);
72
+ }
73
+ if (((_configuration$subjec5 = configuration.subjectConfig) === null || _configuration$subjec5 === void 0 ? void 0 : _configuration$subjec5.screenResolution) != null) {
74
+ tracker.setScreenResolution(String(configuration.subjectConfig.screenResolution[0]), String(configuration.subjectConfig.screenResolution[1]));
75
+ }
76
+ if (((_configuration$subjec6 = configuration.subjectConfig) === null || _configuration$subjec6 === void 0 ? void 0 : _configuration$subjec6.screenViewport) != null) {
77
+ tracker.setViewport(String(configuration.subjectConfig.screenViewport[0]), String(configuration.subjectConfig.screenViewport[1]));
78
+ }
79
+ if (((_configuration$subjec7 = configuration.subjectConfig) === null || _configuration$subjec7 === void 0 ? void 0 : _configuration$subjec7.timezone) != null) {
80
+ tracker.setTimezone(configuration.subjectConfig.timezone);
81
+ }
82
+ if (((_configuration$subjec8 = configuration.subjectConfig) === null || _configuration$subjec8 === void 0 ? void 0 : _configuration$subjec8.userId) != null) {
83
+ tracker.setUserId(configuration.subjectConfig.userId);
84
+ }
85
+ if (((_configuration$subjec9 = configuration.subjectConfig) === null || _configuration$subjec9 === void 0 ? void 0 : _configuration$subjec9.useragent) != null) {
86
+ tracker.setUseragent(configuration.subjectConfig.useragent);
87
+ }
88
+ }
89
+ function createTracker(configuration, emitCallback) {
90
+ var _configuration$tracke3;
91
+ // create an emit callback if not given
92
+ const emitter = emitCallback ?? createEmitCallback(configuration.networkConfig);
93
+
94
+ // the tracker core does not provide an option to set the duid, so we need to add custom
95
+ let domainUserId;
96
+ const setDomainUserId = userId => {
97
+ domainUserId = userId;
98
+ };
99
+ let networkUserId;
100
+ const setNetworkUserId = userId => {
101
+ networkUserId = userId;
102
+ };
103
+
104
+ // initialize the tracker core
105
+ const core = trackerCore({
106
+ base64: ((_configuration$tracke3 = configuration.trackerConfig) === null || _configuration$tracke3 === void 0 ? void 0 : _configuration$tracke3.base64Encoding) ?? true,
107
+ callback: payload => {
108
+ if (domainUserId != null) {
109
+ payload.add('duid', domainUserId);
110
+ }
111
+ if (networkUserId != null) {
112
+ payload.add('tnuid', networkUserId);
113
+ }
114
+ const builtPayload = payload.build();
115
+ emitter(builtPayload);
116
+ }
117
+ });
118
+ const tracker = {
119
+ ...core,
120
+ setDomainUserId,
121
+ setNetworkUserId
122
+ };
123
+ trackers[configuration.namespace] = tracker;
124
+
125
+ // update tracker properties to reflect subject and tracker info
126
+ updateTrackerProperties(tracker, configuration);
127
+ return Promise.resolve();
128
+ }
129
+ function removeTracker(details) {
130
+ delete trackers[details.tracker];
131
+ return Promise.resolve(true);
132
+ }
133
+ function removeAllTrackers() {
134
+ trackers = {};
135
+ return Promise.resolve(true);
136
+ }
137
+ function forTracker(namespace, callback) {
138
+ const tracker = namespace != null ? trackers[namespace] : Object.values(trackers)[0];
139
+ if (tracker) {
140
+ callback(tracker);
141
+ } else {
142
+ errorHandler(new Error('No such tracker found.'));
143
+ }
144
+ }
145
+ function trackSelfDescribingEvent(details) {
146
+ forTracker(details.tracker, tracker => {
147
+ tracker.track(buildSelfDescribingEvent({
148
+ event: details.eventData
149
+ }), details.contexts);
150
+ });
151
+ return Promise.resolve();
152
+ }
153
+ function trackStructuredEvent(details) {
154
+ forTracker(details.tracker, tracker => {
155
+ tracker.track(buildStructEvent(details.eventData), details.contexts);
156
+ });
157
+ return Promise.resolve();
158
+ }
159
+ function trackScreenViewEvent(details) {
160
+ const data = {
161
+ name: details.eventData.name,
162
+ id: details.eventData.id ?? uuid()
163
+ };
164
+ if (details.eventData.type != null) {
165
+ data.type = details.eventData.type;
166
+ }
167
+ if (details.eventData.previousName != null) {
168
+ data.previousName = details.eventData.previousName;
169
+ }
170
+ if (details.eventData.previousId != null) {
171
+ data.previousId = details.eventData.previousId;
172
+ }
173
+ if (details.eventData.previousType != null) {
174
+ data.previousType = details.eventData.previousType;
175
+ }
176
+ if (details.eventData.transitionType != null) {
177
+ data.transitionType = details.eventData.transitionType;
178
+ }
179
+ return trackSelfDescribingEvent({
180
+ tracker: details.tracker,
181
+ eventData: {
182
+ schema: schemas.screenViewSchema,
183
+ data: data
184
+ },
185
+ contexts: details.contexts
186
+ });
187
+ }
188
+ function trackPageViewEvent(details) {
189
+ forTracker(details.tracker, tracker => {
190
+ tracker.track(buildPageView(details.eventData), details.contexts);
191
+ });
192
+ return Promise.resolve();
193
+ }
194
+ function trackTimingEvent(details) {
195
+ return trackSelfDescribingEvent({
196
+ tracker: details.tracker,
197
+ eventData: {
198
+ schema: schemas.timingSchema,
199
+ data: details.eventData
200
+ },
201
+ contexts: details.contexts
202
+ });
203
+ }
204
+ function trackConsentGrantedEvent(details) {
205
+ forTracker(details.tracker, tracker => {
206
+ const built = buildConsentGranted({
207
+ id: details.eventData.documentId,
208
+ version: details.eventData.version,
209
+ name: details.eventData.name,
210
+ description: details.eventData.documentDescription,
211
+ expiry: details.eventData.expiry
212
+ });
213
+ tracker.track(built.event, details.contexts.concat(built.context));
214
+ });
215
+ return Promise.resolve();
216
+ }
217
+ function trackConsentWithdrawnEvent(details) {
218
+ forTracker(details.tracker, tracker => {
219
+ const built = buildConsentWithdrawn({
220
+ all: details.eventData.all,
221
+ id: details.eventData.documentId,
222
+ version: details.eventData.version,
223
+ name: details.eventData.name,
224
+ description: details.eventData.documentDescription
225
+ });
226
+ tracker.track(built.event, details.contexts.concat(built.context));
227
+ });
228
+ return Promise.resolve();
229
+ }
230
+ function trackEcommerceTransactionEvent(details) {
231
+ forTracker(details.tracker, tracker => {
232
+ details.eventData.items.forEach(item => {
233
+ tracker.track(buildEcommerceTransactionItem({
234
+ ...item,
235
+ orderId: details.eventData.orderId
236
+ }), details.contexts);
237
+ });
238
+ tracker.track(buildEcommerceTransaction({
239
+ orderId: details.eventData.orderId,
240
+ total: details.eventData.totalValue,
241
+ affiliation: details.eventData.affiliation,
242
+ tax: details.eventData.taxValue,
243
+ shipping: details.eventData.shipping,
244
+ city: details.eventData.city,
245
+ state: details.eventData.state,
246
+ country: details.eventData.country,
247
+ currency: details.eventData.currency
248
+ }), details.contexts);
249
+ });
250
+ return Promise.resolve();
251
+ }
252
+ function trackDeepLinkReceivedEvent(details) {
253
+ return trackSelfDescribingEvent({
254
+ tracker: details.tracker,
255
+ eventData: {
256
+ schema: schemas.deepLinkReceivedSchema,
257
+ data: details.eventData
258
+ },
259
+ contexts: details.contexts
260
+ });
261
+ }
262
+ function trackMessageNotificationEvent(details) {
263
+ return trackSelfDescribingEvent({
264
+ tracker: details.tracker,
265
+ eventData: {
266
+ schema: schemas.messageNotificationSchema,
267
+ data: details.eventData
268
+ },
269
+ contexts: details.contexts
270
+ });
271
+ }
272
+ function removeGlobalContexts() {
273
+ return Promise.reject(new Error('Not implemented'));
274
+ }
275
+ function addGlobalContexts() {
276
+ return Promise.reject(new Error('Not implemented'));
277
+ }
278
+ function setUserId(details) {
279
+ var _trackers$details$tra;
280
+ (_trackers$details$tra = trackers[details.tracker]) === null || _trackers$details$tra === void 0 || _trackers$details$tra.setUserId(details.userId ?? '');
281
+ return Promise.resolve();
282
+ }
283
+ function setNetworkUserId(details) {
284
+ var _trackers$details$tra2;
285
+ (_trackers$details$tra2 = trackers[details.tracker]) === null || _trackers$details$tra2 === void 0 || _trackers$details$tra2.setNetworkUserId(details.networkUserId ?? '');
286
+ return Promise.resolve();
287
+ }
288
+ function setDomainUserId(details) {
289
+ var _trackers$details$tra3;
290
+ (_trackers$details$tra3 = trackers[details.tracker]) === null || _trackers$details$tra3 === void 0 || _trackers$details$tra3.setDomainUserId(details.domainUserId ?? '');
291
+ return Promise.resolve();
292
+ }
293
+ function setIpAddress(details) {
294
+ var _trackers$details$tra4;
295
+ (_trackers$details$tra4 = trackers[details.tracker]) === null || _trackers$details$tra4 === void 0 || _trackers$details$tra4.setIpAddress(details.ipAddress ?? '');
296
+ return Promise.resolve();
297
+ }
298
+ function setUseragent(details) {
299
+ var _trackers$details$tra5;
300
+ (_trackers$details$tra5 = trackers[details.tracker]) === null || _trackers$details$tra5 === void 0 || _trackers$details$tra5.setUseragent(details.useragent ?? '');
301
+ return Promise.resolve();
302
+ }
303
+ function setTimezone(details) {
304
+ var _trackers$details$tra6;
305
+ (_trackers$details$tra6 = trackers[details.tracker]) === null || _trackers$details$tra6 === void 0 || _trackers$details$tra6.setTimezone(details.timezone ?? '');
306
+ return Promise.resolve();
307
+ }
308
+ function setLanguage(details) {
309
+ var _trackers$details$tra7;
310
+ (_trackers$details$tra7 = trackers[details.tracker]) === null || _trackers$details$tra7 === void 0 || _trackers$details$tra7.setLang(details.language ?? '');
311
+ return Promise.resolve();
312
+ }
313
+ function setScreenResolution(details) {
314
+ if (details.screenResolution) {
315
+ var _trackers$details$tra8;
316
+ (_trackers$details$tra8 = trackers[details.tracker]) === null || _trackers$details$tra8 === void 0 || _trackers$details$tra8.setScreenResolution(String(details.screenResolution[0]), String(details.screenResolution[1]));
317
+ } else {
318
+ var _trackers$details$tra9;
319
+ (_trackers$details$tra9 = trackers[details.tracker]) === null || _trackers$details$tra9 === void 0 || _trackers$details$tra9.addPayloadPair('res', '');
320
+ }
321
+ return Promise.resolve();
322
+ }
323
+ function setScreenViewport(details) {
324
+ if (details.screenViewport) {
325
+ var _trackers$details$tra10;
326
+ (_trackers$details$tra10 = trackers[details.tracker]) === null || _trackers$details$tra10 === void 0 || _trackers$details$tra10.setViewport(String(details.screenViewport[0]), String(details.screenViewport[1]));
327
+ } else {
328
+ var _trackers$details$tra11;
329
+ (_trackers$details$tra11 = trackers[details.tracker]) === null || _trackers$details$tra11 === void 0 || _trackers$details$tra11.addPayloadPair('vp', '');
330
+ }
331
+ return Promise.resolve();
332
+ }
333
+ function setColorDepth(details) {
334
+ var _trackers$details$tra12;
335
+ (_trackers$details$tra12 = trackers[details.tracker]) === null || _trackers$details$tra12 === void 0 || _trackers$details$tra12.setColorDepth(String(details.colorDepth ?? ''));
336
+ return Promise.resolve();
337
+ }
338
+ function getSessionUserId() {
339
+ return Promise.reject(new Error('Not implemented'));
340
+ }
341
+ function getSessionId() {
342
+ return Promise.reject(new Error('Not implemented'));
343
+ }
344
+ function getSessionIndex() {
345
+ return Promise.reject(new Error('Not implemented'));
346
+ }
347
+ function getIsInBackground() {
348
+ return Promise.reject(new Error('Not implemented'));
349
+ }
350
+ function getBackgroundIndex() {
351
+ return Promise.reject(new Error('Not implemented'));
352
+ }
353
+ function getForegroundIndex() {
354
+ return Promise.reject(new Error('Not implemented'));
355
+ }
356
+ const JSSnowplowTracker = Object.freeze({
357
+ createTracker,
358
+ removeTracker,
359
+ removeAllTrackers,
360
+ trackSelfDescribingEvent,
361
+ trackStructuredEvent,
362
+ trackScreenViewEvent,
363
+ trackPageViewEvent,
364
+ trackTimingEvent,
365
+ trackConsentGrantedEvent,
366
+ trackConsentWithdrawnEvent,
367
+ trackEcommerceTransactionEvent,
368
+ trackDeepLinkReceivedEvent,
369
+ trackMessageNotificationEvent,
370
+ removeGlobalContexts,
371
+ addGlobalContexts,
372
+ setUserId,
373
+ setNetworkUserId,
374
+ setDomainUserId,
375
+ setIpAddress,
376
+ setUseragent,
377
+ setTimezone,
378
+ setLanguage,
379
+ setScreenResolution,
380
+ setScreenViewport,
381
+ setColorDepth,
382
+ getSessionUserId,
383
+ getSessionId,
384
+ getSessionIndex,
385
+ getIsInBackground,
386
+ getBackgroundIndex,
387
+ getForegroundIndex
388
+ });
389
+ export { JSSnowplowTracker };
390
+ //# sourceMappingURL=jsCore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["trackerCore","buildSelfDescribingEvent","buildStructEvent","buildPageView","buildConsentGranted","buildConsentWithdrawn","buildEcommerceTransaction","buildEcommerceTransactionItem","errorHandler","schemas","v4","uuid","trackerVersion","trackers","preparePayload","payload","stringifiedPayload","Date","getTime","toString","key","Object","prototype","hasOwnProperty","call","String","createEmitCallback","networkConfig","e","postJson","schema","payloadData","data","endpoint","postPath","customPostPath","headers","requestHeaders","fetch","method","body","JSON","stringify","catch","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","base64","base64Encoding","callback","add","builtPayload","build","Promise","resolve","removeTracker","details","removeAllTrackers","forTracker","values","Error","trackSelfDescribingEvent","track","event","eventData","contexts","trackStructuredEvent","trackScreenViewEvent","name","id","type","previousName","previousId","previousType","transitionType","screenViewSchema","trackPageViewEvent","trackTimingEvent","timingSchema","trackConsentGrantedEvent","built","documentId","version","description","documentDescription","expiry","concat","context","trackConsentWithdrawnEvent","all","trackEcommerceTransactionEvent","items","forEach","item","orderId","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","JSSnowplowTracker","freeze"],"sourceRoot":"../../src","sources":["jsCore.ts"],"mappings":"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"}
@@ -0,0 +1,25 @@
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
+ import { NativeModules } from 'react-native';
17
+ import { JSSnowplowTracker } from './jsCore';
18
+ import { errorHandler } from './utils';
19
+ const isAvailable = NativeModules.ReactNativeTracker != null;
20
+ if (!isAvailable) {
21
+ errorHandler(new Error('Unable to access the native iOS/Android Snowplow tracker, a tracker implementation with very limited functionality is used.'));
22
+ }
23
+ const RNSnowplowTracker = isAvailable ? NativeModules.ReactNativeTracker : JSSnowplowTracker;
24
+ export { RNSnowplowTracker };
25
+ //# sourceMappingURL=native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeModules","JSSnowplowTracker","errorHandler","isAvailable","ReactNativeTracker","Error","RNSnowplowTracker"],"sourceRoot":"../../src","sources":["native.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY;;AAEZ,SAASA,aAAa,QAAQ,cAAc;AAC5C,SAASC,iBAAiB,QAAQ,UAAU;AAE5C,SAASC,YAAY,QAAQ,SAAS;AAEtC,MAAMC,WAAW,GAAGH,aAAa,CAACI,kBAAkB,IAAI,IAAI;AAC5D,IAAI,CAACD,WAAW,EAAE;EAChBD,YAAY,CACV,IAAIG,KAAK,CACP,6HACF,CACF,CAAC;AACH;AAEA,MAAMC,iBAAyB,GAAGH,WAAW,GACxCH,aAAa,CAACI,kBAAkB,GACjCH,iBAAiB;AAErB,SAASK,iBAAiB"}