@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,424 @@
1
+ 'use strict';
2
+
3
+ import { trackerCore, buildSelfDescribingEvent, buildStructEvent, buildPageView, buildConsentGranted, buildConsentWithdrawn, buildEcommerceTransaction, buildEcommerceTransactionItem } from '@snowplow/tracker-core';
4
+ import { errorHandler } from './utils';
5
+ import { schemas } from './constants';
6
+ import { v4 as uuid } from 'uuid';
7
+
8
+ // Tracker version added to the events
9
+ const trackerVersion = 'rn-2.1.0';
10
+ let trackers = {};
11
+ function preparePayload(payload) {
12
+ const stringifiedPayload = {};
13
+ payload.stm = new Date().getTime().toString();
14
+ for (const key in payload) {
15
+ if (Object.prototype.hasOwnProperty.call(payload, key)) {
16
+ stringifiedPayload[key] = String(payload[key]);
17
+ }
18
+ }
19
+ return stringifiedPayload;
20
+ }
21
+ function createEmitCallback(networkConfig) {
22
+ return e => {
23
+ const postJson = {
24
+ schema: schemas.payloadData,
25
+ data: [preparePayload(e)]
26
+ };
27
+ const endpoint = networkConfig.endpoint;
28
+ const postPath = networkConfig.customPostPath ?? '/com.snowplowanalytics.snowplow/tp2';
29
+ const headers = networkConfig.requestHeaders ?? {};
30
+ fetch(endpoint + postPath, {
31
+ method: 'POST',
32
+ body: JSON.stringify(postJson),
33
+ headers: {
34
+ 'Content-Type': 'application/json',
35
+ ...headers
36
+ }
37
+ }).catch(errorHandler);
38
+ };
39
+ }
40
+ function updateTrackerProperties(tracker, configuration) {
41
+ var _configuration$tracke, _configuration$tracke2, _configuration$subjec, _configuration$subjec2, _configuration$subjec3, _configuration$subjec4, _configuration$subjec5, _configuration$subjec6, _configuration$subjec7, _configuration$subjec8, _configuration$subjec9;
42
+ tracker.setPlatform(((_configuration$tracke = configuration.trackerConfig) === null || _configuration$tracke === void 0 ? void 0 : _configuration$tracke.devicePlatform) ?? 'mob');
43
+ tracker.setTrackerVersion(trackerVersion);
44
+ tracker.setTrackerNamespace(configuration.namespace);
45
+ if (((_configuration$tracke2 = configuration.trackerConfig) === null || _configuration$tracke2 === void 0 ? void 0 : _configuration$tracke2.appId) != null) {
46
+ tracker.setAppId(configuration.trackerConfig.appId);
47
+ }
48
+ if (((_configuration$subjec = configuration.subjectConfig) === null || _configuration$subjec === void 0 ? void 0 : _configuration$subjec.colorDepth) != null) {
49
+ tracker.setColorDepth(String(configuration.subjectConfig.colorDepth));
50
+ }
51
+ if (((_configuration$subjec2 = configuration.subjectConfig) === null || _configuration$subjec2 === void 0 ? void 0 : _configuration$subjec2.domainUserId) != null) {
52
+ tracker.setDomainUserId(configuration.subjectConfig.domainUserId);
53
+ }
54
+ if (((_configuration$subjec3 = configuration.subjectConfig) === null || _configuration$subjec3 === void 0 ? void 0 : _configuration$subjec3.ipAddress) != null) {
55
+ tracker.setIpAddress(configuration.subjectConfig.ipAddress);
56
+ }
57
+ if (((_configuration$subjec4 = configuration.subjectConfig) === null || _configuration$subjec4 === void 0 ? void 0 : _configuration$subjec4.language) != null) {
58
+ tracker.setLang(configuration.subjectConfig.language);
59
+ }
60
+ if (((_configuration$subjec5 = configuration.subjectConfig) === null || _configuration$subjec5 === void 0 ? void 0 : _configuration$subjec5.screenResolution) != null) {
61
+ tracker.setScreenResolution(String(configuration.subjectConfig.screenResolution[0]), String(configuration.subjectConfig.screenResolution[1]));
62
+ }
63
+ if (((_configuration$subjec6 = configuration.subjectConfig) === null || _configuration$subjec6 === void 0 ? void 0 : _configuration$subjec6.screenViewport) != null) {
64
+ tracker.setViewport(String(configuration.subjectConfig.screenViewport[0]), String(configuration.subjectConfig.screenViewport[1]));
65
+ }
66
+ if (((_configuration$subjec7 = configuration.subjectConfig) === null || _configuration$subjec7 === void 0 ? void 0 : _configuration$subjec7.timezone) != null) {
67
+ tracker.setTimezone(configuration.subjectConfig.timezone);
68
+ }
69
+ if (((_configuration$subjec8 = configuration.subjectConfig) === null || _configuration$subjec8 === void 0 ? void 0 : _configuration$subjec8.userId) != null) {
70
+ tracker.setUserId(configuration.subjectConfig.userId);
71
+ }
72
+ if (((_configuration$subjec9 = configuration.subjectConfig) === null || _configuration$subjec9 === void 0 ? void 0 : _configuration$subjec9.useragent) != null) {
73
+ tracker.setUseragent(configuration.subjectConfig.useragent);
74
+ }
75
+ }
76
+ function createTracker(configuration, emitCallback) {
77
+ var _configuration$tracke3;
78
+ // create an emit callback if not given
79
+ const emitter = emitCallback ?? createEmitCallback(configuration.networkConfig);
80
+
81
+ // the tracker core does not provide an option to set the duid, so we need to add custom
82
+ let domainUserId;
83
+ const setDomainUserId = userId => {
84
+ domainUserId = userId;
85
+ };
86
+ let networkUserId;
87
+ const setNetworkUserId = userId => {
88
+ networkUserId = userId;
89
+ };
90
+
91
+ // initialize the tracker core
92
+ const core = trackerCore({
93
+ base64: ((_configuration$tracke3 = configuration.trackerConfig) === null || _configuration$tracke3 === void 0 ? void 0 : _configuration$tracke3.base64Encoding) ?? true,
94
+ callback: payload => {
95
+ if (domainUserId != null) {
96
+ payload.add('duid', domainUserId);
97
+ }
98
+ if (networkUserId != null) {
99
+ payload.add('tnuid', networkUserId);
100
+ }
101
+ const builtPayload = payload.build();
102
+ emitter(builtPayload);
103
+ }
104
+ });
105
+ const tracker = {
106
+ ...core,
107
+ setDomainUserId,
108
+ setNetworkUserId
109
+ };
110
+ trackers[configuration.namespace] = tracker;
111
+
112
+ // update tracker properties to reflect subject and tracker info
113
+ updateTrackerProperties(tracker, configuration);
114
+ return Promise.resolve();
115
+ }
116
+ function removeTracker(details) {
117
+ delete trackers[details.tracker];
118
+ return Promise.resolve(true);
119
+ }
120
+ function removeAllTrackers() {
121
+ trackers = {};
122
+ return Promise.resolve(true);
123
+ }
124
+ function forTracker(namespace, callback) {
125
+ const tracker = namespace != null ? trackers[namespace] : Object.values(trackers)[0];
126
+ if (tracker) {
127
+ callback(tracker);
128
+ } else {
129
+ errorHandler(new Error('No such tracker found.'));
130
+ }
131
+ }
132
+ function trackSelfDescribingEvent(details) {
133
+ forTracker(details.tracker, tracker => {
134
+ tracker.track(buildSelfDescribingEvent({
135
+ event: details.eventData
136
+ }), details.contexts);
137
+ });
138
+ return Promise.resolve();
139
+ }
140
+ function trackStructuredEvent(details) {
141
+ forTracker(details.tracker, tracker => {
142
+ tracker.track(buildStructEvent(details.eventData), details.contexts);
143
+ });
144
+ return Promise.resolve();
145
+ }
146
+ function trackScreenViewEvent(details) {
147
+ const data = {
148
+ name: details.eventData.name,
149
+ id: details.eventData.id ?? uuid()
150
+ };
151
+ if (details.eventData.type != null) {
152
+ data.type = details.eventData.type;
153
+ }
154
+ if (details.eventData.previousName != null) {
155
+ data.previousName = details.eventData.previousName;
156
+ }
157
+ if (details.eventData.previousId != null) {
158
+ data.previousId = details.eventData.previousId;
159
+ }
160
+ if (details.eventData.previousType != null) {
161
+ data.previousType = details.eventData.previousType;
162
+ }
163
+ if (details.eventData.transitionType != null) {
164
+ data.transitionType = details.eventData.transitionType;
165
+ }
166
+ return trackSelfDescribingEvent({
167
+ tracker: details.tracker,
168
+ eventData: {
169
+ schema: schemas.screenViewSchema,
170
+ data: data
171
+ },
172
+ contexts: details.contexts
173
+ });
174
+ }
175
+ function trackScrollChangedEvent(details) {
176
+ const data = {};
177
+ if (details.eventData.yOffset != null) {
178
+ data.y_offset = details.eventData.yOffset;
179
+ }
180
+ if (details.eventData.xOffset != null) {
181
+ data.x_offset = details.eventData.xOffset;
182
+ }
183
+ if (details.eventData.viewHeight != null) {
184
+ data.view_height = details.eventData.viewHeight;
185
+ }
186
+ if (details.eventData.viewWidth != null) {
187
+ data.view_width = details.eventData.viewWidth;
188
+ }
189
+ if (details.eventData.contentHeight != null) {
190
+ data.content_height = details.eventData.contentHeight;
191
+ }
192
+ if (details.eventData.contentWidth != null) {
193
+ data.content_width = details.eventData.contentWidth;
194
+ }
195
+ return trackSelfDescribingEvent({
196
+ tracker: details.tracker,
197
+ eventData: {
198
+ schema: schemas.scrollChangedSchema,
199
+ data: data
200
+ },
201
+ contexts: details.contexts
202
+ });
203
+ }
204
+ function trackListItemViewEvent(details) {
205
+ const data = {
206
+ index: details.eventData.index
207
+ };
208
+ if (details.eventData.itemsCount != null) {
209
+ data.items_count = details.eventData.itemsCount;
210
+ }
211
+ return trackSelfDescribingEvent({
212
+ tracker: details.tracker,
213
+ eventData: {
214
+ schema: schemas.listItemViewSchema,
215
+ data: data
216
+ },
217
+ contexts: details.contexts
218
+ });
219
+ }
220
+ function trackPageViewEvent(details) {
221
+ forTracker(details.tracker, tracker => {
222
+ tracker.track(buildPageView(details.eventData), details.contexts);
223
+ });
224
+ return Promise.resolve();
225
+ }
226
+ function trackTimingEvent(details) {
227
+ return trackSelfDescribingEvent({
228
+ tracker: details.tracker,
229
+ eventData: {
230
+ schema: schemas.timingSchema,
231
+ data: details.eventData
232
+ },
233
+ contexts: details.contexts
234
+ });
235
+ }
236
+ function trackConsentGrantedEvent(details) {
237
+ forTracker(details.tracker, tracker => {
238
+ const built = buildConsentGranted({
239
+ id: details.eventData.documentId,
240
+ version: details.eventData.version,
241
+ name: details.eventData.name,
242
+ description: details.eventData.documentDescription,
243
+ expiry: details.eventData.expiry
244
+ });
245
+ tracker.track(built.event, details.contexts.concat(built.context));
246
+ });
247
+ return Promise.resolve();
248
+ }
249
+ function trackConsentWithdrawnEvent(details) {
250
+ forTracker(details.tracker, tracker => {
251
+ const built = buildConsentWithdrawn({
252
+ all: details.eventData.all,
253
+ id: details.eventData.documentId,
254
+ version: details.eventData.version,
255
+ name: details.eventData.name,
256
+ description: details.eventData.documentDescription
257
+ });
258
+ tracker.track(built.event, details.contexts.concat(built.context));
259
+ });
260
+ return Promise.resolve();
261
+ }
262
+ function trackEcommerceTransactionEvent(details) {
263
+ forTracker(details.tracker, tracker => {
264
+ details.eventData.items.forEach(item => {
265
+ tracker.track(buildEcommerceTransactionItem({
266
+ ...item,
267
+ orderId: details.eventData.orderId
268
+ }), details.contexts);
269
+ });
270
+ tracker.track(buildEcommerceTransaction({
271
+ orderId: details.eventData.orderId,
272
+ total: details.eventData.totalValue,
273
+ affiliation: details.eventData.affiliation,
274
+ tax: details.eventData.taxValue,
275
+ shipping: details.eventData.shipping,
276
+ city: details.eventData.city,
277
+ state: details.eventData.state,
278
+ country: details.eventData.country,
279
+ currency: details.eventData.currency
280
+ }), details.contexts);
281
+ });
282
+ return Promise.resolve();
283
+ }
284
+ function trackDeepLinkReceivedEvent(details) {
285
+ return trackSelfDescribingEvent({
286
+ tracker: details.tracker,
287
+ eventData: {
288
+ schema: schemas.deepLinkReceivedSchema,
289
+ data: details.eventData
290
+ },
291
+ contexts: details.contexts
292
+ });
293
+ }
294
+ function trackMessageNotificationEvent(details) {
295
+ return trackSelfDescribingEvent({
296
+ tracker: details.tracker,
297
+ eventData: {
298
+ schema: schemas.messageNotificationSchema,
299
+ data: details.eventData
300
+ },
301
+ contexts: details.contexts
302
+ });
303
+ }
304
+ function removeGlobalContexts() {
305
+ return Promise.reject(new Error('Not implemented'));
306
+ }
307
+ function addGlobalContexts() {
308
+ return Promise.reject(new Error('Not implemented'));
309
+ }
310
+ function setUserId(details) {
311
+ var _trackers$details$tra;
312
+ (_trackers$details$tra = trackers[details.tracker]) === null || _trackers$details$tra === void 0 || _trackers$details$tra.setUserId(details.userId ?? '');
313
+ return Promise.resolve();
314
+ }
315
+ function setNetworkUserId(details) {
316
+ var _trackers$details$tra2;
317
+ (_trackers$details$tra2 = trackers[details.tracker]) === null || _trackers$details$tra2 === void 0 || _trackers$details$tra2.setNetworkUserId(details.networkUserId ?? '');
318
+ return Promise.resolve();
319
+ }
320
+ function setDomainUserId(details) {
321
+ var _trackers$details$tra3;
322
+ (_trackers$details$tra3 = trackers[details.tracker]) === null || _trackers$details$tra3 === void 0 || _trackers$details$tra3.setDomainUserId(details.domainUserId ?? '');
323
+ return Promise.resolve();
324
+ }
325
+ function setIpAddress(details) {
326
+ var _trackers$details$tra4;
327
+ (_trackers$details$tra4 = trackers[details.tracker]) === null || _trackers$details$tra4 === void 0 || _trackers$details$tra4.setIpAddress(details.ipAddress ?? '');
328
+ return Promise.resolve();
329
+ }
330
+ function setUseragent(details) {
331
+ var _trackers$details$tra5;
332
+ (_trackers$details$tra5 = trackers[details.tracker]) === null || _trackers$details$tra5 === void 0 || _trackers$details$tra5.setUseragent(details.useragent ?? '');
333
+ return Promise.resolve();
334
+ }
335
+ function setTimezone(details) {
336
+ var _trackers$details$tra6;
337
+ (_trackers$details$tra6 = trackers[details.tracker]) === null || _trackers$details$tra6 === void 0 || _trackers$details$tra6.setTimezone(details.timezone ?? '');
338
+ return Promise.resolve();
339
+ }
340
+ function setLanguage(details) {
341
+ var _trackers$details$tra7;
342
+ (_trackers$details$tra7 = trackers[details.tracker]) === null || _trackers$details$tra7 === void 0 || _trackers$details$tra7.setLang(details.language ?? '');
343
+ return Promise.resolve();
344
+ }
345
+ function setScreenResolution(details) {
346
+ if (details.screenResolution) {
347
+ var _trackers$details$tra8;
348
+ (_trackers$details$tra8 = trackers[details.tracker]) === null || _trackers$details$tra8 === void 0 || _trackers$details$tra8.setScreenResolution(String(details.screenResolution[0]), String(details.screenResolution[1]));
349
+ } else {
350
+ var _trackers$details$tra9;
351
+ (_trackers$details$tra9 = trackers[details.tracker]) === null || _trackers$details$tra9 === void 0 || _trackers$details$tra9.addPayloadPair('res', '');
352
+ }
353
+ return Promise.resolve();
354
+ }
355
+ function setScreenViewport(details) {
356
+ if (details.screenViewport) {
357
+ var _trackers$details$tra10;
358
+ (_trackers$details$tra10 = trackers[details.tracker]) === null || _trackers$details$tra10 === void 0 || _trackers$details$tra10.setViewport(String(details.screenViewport[0]), String(details.screenViewport[1]));
359
+ } else {
360
+ var _trackers$details$tra11;
361
+ (_trackers$details$tra11 = trackers[details.tracker]) === null || _trackers$details$tra11 === void 0 || _trackers$details$tra11.addPayloadPair('vp', '');
362
+ }
363
+ return Promise.resolve();
364
+ }
365
+ function setColorDepth(details) {
366
+ var _trackers$details$tra12;
367
+ (_trackers$details$tra12 = trackers[details.tracker]) === null || _trackers$details$tra12 === void 0 || _trackers$details$tra12.setColorDepth(String(details.colorDepth ?? ''));
368
+ return Promise.resolve();
369
+ }
370
+ function getSessionUserId() {
371
+ return Promise.reject(new Error('Not implemented'));
372
+ }
373
+ function getSessionId() {
374
+ return Promise.reject(new Error('Not implemented'));
375
+ }
376
+ function getSessionIndex() {
377
+ return Promise.reject(new Error('Not implemented'));
378
+ }
379
+ function getIsInBackground() {
380
+ return Promise.reject(new Error('Not implemented'));
381
+ }
382
+ function getBackgroundIndex() {
383
+ return Promise.reject(new Error('Not implemented'));
384
+ }
385
+ function getForegroundIndex() {
386
+ return Promise.reject(new Error('Not implemented'));
387
+ }
388
+ const JSSnowplowTracker = Object.freeze({
389
+ createTracker,
390
+ removeTracker,
391
+ removeAllTrackers,
392
+ trackSelfDescribingEvent,
393
+ trackStructuredEvent,
394
+ trackScreenViewEvent,
395
+ trackScrollChangedEvent,
396
+ trackListItemViewEvent,
397
+ trackPageViewEvent,
398
+ trackTimingEvent,
399
+ trackConsentGrantedEvent,
400
+ trackConsentWithdrawnEvent,
401
+ trackEcommerceTransactionEvent,
402
+ trackDeepLinkReceivedEvent,
403
+ trackMessageNotificationEvent,
404
+ removeGlobalContexts,
405
+ addGlobalContexts,
406
+ setUserId,
407
+ setNetworkUserId,
408
+ setDomainUserId,
409
+ setIpAddress,
410
+ setUseragent,
411
+ setTimezone,
412
+ setLanguage,
413
+ setScreenResolution,
414
+ setScreenViewport,
415
+ setColorDepth,
416
+ getSessionUserId,
417
+ getSessionId,
418
+ getSessionIndex,
419
+ getIsInBackground,
420
+ getBackgroundIndex,
421
+ getForegroundIndex
422
+ });
423
+ export { JSSnowplowTracker };
424
+ //# 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","stm","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","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","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,12 @@
1
+ 'use strict';
2
+
3
+ import { NativeModules } from 'react-native';
4
+ import { JSSnowplowTracker } from './jsCore';
5
+ import { errorHandler } from './utils';
6
+ const isAvailable = NativeModules.ReactNativeTracker != null;
7
+ if (!isAvailable) {
8
+ errorHandler(new Error('Unable to access the native iOS/Android Snowplow tracker, a tracker implementation with very limited functionality is used.'));
9
+ }
10
+ const RNSnowplowTracker = isAvailable ? NativeModules.ReactNativeTracker : JSSnowplowTracker;
11
+ export { RNSnowplowTracker };
12
+ //# 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,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"}