@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,235 @@
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 { RNSnowplowTracker } from './native';
17
+ import { logMessages } from './constants';
18
+ import { isScreenSize, isValidSubjectConf } from './configurations';
19
+ /**
20
+ * Sets the userId of the tracker subject
21
+ *
22
+ * @param namespace {string} - the tracker namespace
23
+ * @param newUid {string | null} - the new userId
24
+ * @returns - Promise
25
+ */
26
+ function setUserId(namespace, newUid) {
27
+ if (!(newUid === null || typeof newUid === 'string')) {
28
+ return Promise.reject(new Error(logMessages.setUserId));
29
+ }
30
+ return Promise.resolve(RNSnowplowTracker.setUserId({
31
+ tracker: namespace,
32
+ userId: newUid
33
+ }));
34
+ }
35
+
36
+ /**
37
+ * Sets the networkUserId of the tracker subject
38
+ *
39
+ * @param namespace {string} - the tracker namespace
40
+ * @param newNuid {string | null} - the new networkUserId
41
+ * @returns - Promise
42
+ */
43
+ function setNetworkUserId(namespace, newNuid) {
44
+ if (!(newNuid === null || typeof newNuid === 'string')) {
45
+ return Promise.reject(new Error(logMessages.setNetworkUserId));
46
+ }
47
+ return Promise.resolve(RNSnowplowTracker.setNetworkUserId({
48
+ tracker: namespace,
49
+ networkUserId: newNuid
50
+ }));
51
+ }
52
+
53
+ /**
54
+ * Sets the domainUserId of the tracker subject
55
+ *
56
+ * @param namespace {string} - the tracker namespace
57
+ * @param newDuid {string | null} - the new domainUserId
58
+ * @returns - Promise
59
+ */
60
+ function setDomainUserId(namespace, newDuid) {
61
+ if (!(newDuid === null || typeof newDuid === 'string')) {
62
+ return Promise.reject(new Error(logMessages.setDomainUserId));
63
+ }
64
+ return Promise.resolve(RNSnowplowTracker.setDomainUserId({
65
+ tracker: namespace,
66
+ domainUserId: newDuid
67
+ }));
68
+ }
69
+
70
+ /**
71
+ * Sets the ipAddress of the tracker subject
72
+ *
73
+ * @param namespace {string} - the tracker namespace
74
+ * @param newIp {string | null} - the new ipAddress
75
+ * @returns - Promise
76
+ */
77
+ function setIpAddress(namespace, newIp) {
78
+ if (!(newIp === null || typeof newIp === 'string')) {
79
+ return Promise.reject(new Error(logMessages.setIpAddress));
80
+ }
81
+ return Promise.resolve(RNSnowplowTracker.setIpAddress({
82
+ tracker: namespace,
83
+ ipAddress: newIp
84
+ }));
85
+ }
86
+
87
+ /**
88
+ * Sets the useragent of the tracker subject
89
+ *
90
+ * @param namespace {string} - the tracker namespace
91
+ * @param newUagent {string | null} - the new useragent
92
+ * @returns - Promise
93
+ */
94
+ function setUseragent(namespace, newUagent) {
95
+ if (!(newUagent === null || typeof newUagent === 'string')) {
96
+ return Promise.reject(new Error(logMessages.setUseragent));
97
+ }
98
+ return Promise.resolve(RNSnowplowTracker.setUseragent({
99
+ tracker: namespace,
100
+ useragent: newUagent
101
+ }));
102
+ }
103
+
104
+ /**
105
+ * Sets the timezone of the tracker subject
106
+ *
107
+ * @param namespace {string} - the tracker namespace
108
+ * @param newTz {string | null} - the new timezone
109
+ * @returns - Promise
110
+ */
111
+ function setTimezone(namespace, newTz) {
112
+ if (!(newTz === null || typeof newTz === 'string')) {
113
+ return Promise.reject(new Error(logMessages.setTimezone));
114
+ }
115
+ return Promise.resolve(RNSnowplowTracker.setTimezone({
116
+ tracker: namespace,
117
+ timezone: newTz
118
+ }));
119
+ }
120
+
121
+ /**
122
+ * Sets the language of the tracker subject
123
+ *
124
+ * @param namespace {string} - the tracker namespace
125
+ * @param newLang {string | null} - the new language
126
+ * @returns - Promise
127
+ */
128
+ function setLanguage(namespace, newLang) {
129
+ if (!(newLang === null || typeof newLang === 'string')) {
130
+ return Promise.reject(new Error(logMessages.setLanguage));
131
+ }
132
+ return Promise.resolve(RNSnowplowTracker.setLanguage({
133
+ tracker: namespace,
134
+ language: newLang
135
+ }));
136
+ }
137
+
138
+ /**
139
+ * Sets the screenResolution of the tracker subject
140
+ *
141
+ * @param namespace {string} - the tracker namespace
142
+ * @param newRes {ScreenSize | null} - the new screenResolution
143
+ * @returns - Promise
144
+ */
145
+ function setScreenResolution(namespace, newRes) {
146
+ if (!(newRes === null || isScreenSize(newRes))) {
147
+ return Promise.reject(new Error(logMessages.setScreenResolution));
148
+ }
149
+ return Promise.resolve(RNSnowplowTracker.setScreenResolution({
150
+ tracker: namespace,
151
+ screenResolution: newRes
152
+ }));
153
+ }
154
+
155
+ /**
156
+ * Sets the screenViewport of the tracker subject
157
+ *
158
+ * @param namespace {string} - the tracker namespace
159
+ * @param newView {ScreenSize | null} - the new screenViewport
160
+ * @returns - Promise
161
+ */
162
+ function setScreenViewport(namespace, newView) {
163
+ if (!(newView === null || isScreenSize(newView))) {
164
+ return Promise.reject(new Error(logMessages.setScreenViewport));
165
+ }
166
+ return Promise.resolve(RNSnowplowTracker.setScreenViewport({
167
+ tracker: namespace,
168
+ screenViewport: newView
169
+ }));
170
+ }
171
+
172
+ /**
173
+ * Sets the colorDepth of the tracker subject
174
+ *
175
+ * @param namespace {string} - the tracker namespace
176
+ * @param newColorD {number | null} - the new colorDepth
177
+ * @returns - Promise
178
+ */
179
+ function setColorDepth(namespace, newColorD) {
180
+ if (!(newColorD === null || typeof newColorD === 'number')) {
181
+ return Promise.reject(new Error(logMessages.setColorDepth));
182
+ }
183
+ return Promise.resolve(RNSnowplowTracker.setColorDepth({
184
+ tracker: namespace,
185
+ colorDepth: newColorD
186
+ }));
187
+ }
188
+ const setterMap = {
189
+ userId: setUserId,
190
+ networkUserId: setNetworkUserId,
191
+ domainUserId: setDomainUserId,
192
+ ipAddress: setIpAddress,
193
+ useragent: setUseragent,
194
+ timezone: setTimezone,
195
+ language: setLanguage,
196
+ screenResolution: setScreenResolution,
197
+ screenViewport: setScreenViewport,
198
+ colorDepth: setColorDepth
199
+ };
200
+
201
+ /**
202
+ * Sets the tracker subject
203
+ *
204
+ * @param namespace {string} - the tracker namespace
205
+ * @param config {SubjectConfiguration} - the new subject data
206
+ * @returns - Promise
207
+ */
208
+ function setSubjectData(namespace, config) {
209
+ if (!isValidSubjectConf(config)) {
210
+ return Promise.reject(new Error(`${logMessages.setSubjectData} ${logMessages.subject}`));
211
+ }
212
+ const promises = Object.keys(config).map(k => {
213
+ const fun = setterMap[k];
214
+ return fun ? fun(namespace, config[k]) : undefined;
215
+ }).filter(f => f !== undefined);
216
+
217
+ // to use Promise.all (Promise.allSettled not supported in all RN versions)
218
+ const safePromises = promises.map(p => p.then(x => Object.assign({
219
+ status: 'fulfilled',
220
+ value: x
221
+ })).catch(err => Object.assign({
222
+ status: 'rejected',
223
+ reason: err.message
224
+ })));
225
+ return Promise.all(safePromises).then(outcomes => {
226
+ const anyReasons = outcomes.filter(res => res.status === 'rejected');
227
+ if (anyReasons.length > 0) {
228
+ const allReasons = anyReasons.reduce((acc, curr) => acc + ':' + curr.reason, logMessages.setSubjectData);
229
+ throw new Error(allReasons);
230
+ }
231
+ return true;
232
+ });
233
+ }
234
+ export { setUserId, setNetworkUserId, setDomainUserId, setIpAddress, setUseragent, setTimezone, setLanguage, setScreenResolution, setScreenViewport, setColorDepth, setSubjectData };
235
+ //# sourceMappingURL=subject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["RNSnowplowTracker","logMessages","isScreenSize","isValidSubjectConf","setUserId","namespace","newUid","Promise","reject","Error","resolve","tracker","userId","setNetworkUserId","newNuid","networkUserId","setDomainUserId","newDuid","domainUserId","setIpAddress","newIp","ipAddress","setUseragent","newUagent","useragent","setTimezone","newTz","timezone","setLanguage","newLang","language","setScreenResolution","newRes","screenResolution","setScreenViewport","newView","screenViewport","setColorDepth","newColorD","colorDepth","setterMap","setSubjectData","config","subject","promises","Object","keys","map","k","fun","undefined","filter","f","safePromises","p","then","x","assign","status","value","catch","err","reason","message","all","outcomes","anyReasons","res","length","allReasons","reduce","acc","curr"],"sourceRoot":"../../src","sources":["subject.ts"],"mappings":"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"}
@@ -0,0 +1,209 @@
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 { RNSnowplowTracker } from './native';
17
+ import { logMessages } from './constants';
18
+ import { validateContexts, validateSelfDesc, validateScreenView, validateStructured, validatePageView, validateTiming, validateConsentGranted, validateConsentWithdrawn, validateEcommerceTransaction, validateDeepLinkReceived, validateMessageNotification } from './events';
19
+ /**
20
+ * Tracks a self-describing event
21
+ *
22
+ * @param namespace {string} - the tracker namespace
23
+ * @param argmap {Object} - the event data
24
+ * @param contexts {Array}- the event contexts
25
+ * @returns {Promise}
26
+ */
27
+ function trackSelfDescribingEvent(namespace, argmap) {
28
+ let contexts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
29
+ return validateSelfDesc(argmap).then(() => validateContexts(contexts)).then(() => RNSnowplowTracker.trackSelfDescribingEvent({
30
+ tracker: namespace,
31
+ eventData: argmap,
32
+ contexts: contexts
33
+ })).catch(error => {
34
+ throw new Error(`${logMessages.trackSelfDesc} ${error.message}`);
35
+ });
36
+ }
37
+
38
+ /**
39
+ * Tracks a screen-view event
40
+ *
41
+ * @param namespace {string} - the tracker namespace
42
+ * @param argmap {Object} - the event data
43
+ * @param contexts {Array}- the event contexts
44
+ * @returns {Promise}
45
+ */
46
+ function trackScreenViewEvent(namespace, argmap) {
47
+ let contexts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
48
+ return validateScreenView(argmap).then(() => validateContexts(contexts)).then(() => RNSnowplowTracker.trackScreenViewEvent({
49
+ tracker: namespace,
50
+ eventData: argmap,
51
+ contexts: contexts
52
+ })).catch(error => {
53
+ throw new Error(`${logMessages.trackScreenView} ${error.message}`);
54
+ });
55
+ }
56
+
57
+ /**
58
+ * Tracks a structured event
59
+ *
60
+ * @param namespace {string} - the tracker namespace
61
+ * @param argmap {Object} - the event data
62
+ * @param contexts {Array}- the event contexts
63
+ * @returns {Promise}
64
+ */
65
+ function trackStructuredEvent(namespace, argmap) {
66
+ let contexts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
67
+ return validateStructured(argmap).then(() => validateContexts(contexts)).then(() => RNSnowplowTracker.trackStructuredEvent({
68
+ tracker: namespace,
69
+ eventData: argmap,
70
+ contexts: contexts
71
+ })).catch(error => {
72
+ throw new Error(`${logMessages.trackStructured} ${error.message}`);
73
+ });
74
+ }
75
+
76
+ /**
77
+ * Tracks a page-view event
78
+ *
79
+ * @param namespace {string} - the tracker namespace
80
+ * @param argmap {Object} - the event data
81
+ * @param contexts {Array}- the event contexts
82
+ * @returns {Promise}
83
+ */
84
+ function trackPageViewEvent(namespace, argmap) {
85
+ let contexts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
86
+ return validatePageView(argmap).then(() => validateContexts(contexts)).then(() => RNSnowplowTracker.trackPageViewEvent({
87
+ tracker: namespace,
88
+ eventData: argmap,
89
+ contexts: contexts
90
+ })).catch(error => {
91
+ throw new Error(`${logMessages.trackPageView} ${error.message}`);
92
+ });
93
+ }
94
+
95
+ /**
96
+ * Tracks a timing event
97
+ *
98
+ * @param namespace {string} - the tracker namespace
99
+ * @param argmap {Object} - the event data
100
+ * @param contexts {Array}- the event contexts
101
+ * @returns {Promise}
102
+ */
103
+ function trackTimingEvent(namespace, argmap) {
104
+ let contexts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
105
+ return validateTiming(argmap).then(() => validateContexts(contexts)).then(() => RNSnowplowTracker.trackTimingEvent({
106
+ tracker: namespace,
107
+ eventData: argmap,
108
+ contexts: contexts
109
+ })).catch(error => {
110
+ throw new Error(`${logMessages.trackTiming} ${error.message}`);
111
+ });
112
+ }
113
+
114
+ /**
115
+ * Tracks a consent-granted event
116
+ *
117
+ * @param namespace {string} - the tracker namespace
118
+ * @param argmap {Object} - the event data
119
+ * @param contexts {Array}- the event contexts
120
+ * @returns {Promise}
121
+ */
122
+ function trackConsentGrantedEvent(namespace, argmap) {
123
+ let contexts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
124
+ return validateConsentGranted(argmap).then(() => validateContexts(contexts)).then(() => RNSnowplowTracker.trackConsentGrantedEvent({
125
+ tracker: namespace,
126
+ eventData: argmap,
127
+ contexts: contexts
128
+ })).catch(error => {
129
+ throw new Error(`${logMessages.trackConsentGranted} ${error.message}`);
130
+ });
131
+ }
132
+
133
+ /**
134
+ * Tracks a consent-withdrawn event
135
+ *
136
+ * @param namespace {string} - the tracker namespace
137
+ * @param argmap {Object} - the event data
138
+ * @param contexts {Array}- the event contexts
139
+ * @returns {Promise}
140
+ */
141
+ function trackConsentWithdrawnEvent(namespace, argmap) {
142
+ let contexts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
143
+ return validateConsentWithdrawn(argmap).then(() => validateContexts(contexts)).then(() => RNSnowplowTracker.trackConsentWithdrawnEvent({
144
+ tracker: namespace,
145
+ eventData: argmap,
146
+ contexts: contexts
147
+ })).catch(error => {
148
+ throw new Error(`${logMessages.trackConsentWithdrawn} ${error.message}`);
149
+ });
150
+ }
151
+
152
+ /**
153
+ * Tracks an ecommerce-transaction event
154
+ *
155
+ * @param namespace {string} - the tracker namespace
156
+ * @param argmap {Object} - the event data
157
+ * @param contexts {Array}- the event contexts
158
+ * @returns {Promise}
159
+ */
160
+ function trackEcommerceTransactionEvent(namespace, argmap) {
161
+ let contexts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
162
+ return validateEcommerceTransaction(argmap).then(() => validateContexts(contexts)).then(() => RNSnowplowTracker.trackEcommerceTransactionEvent({
163
+ tracker: namespace,
164
+ eventData: argmap,
165
+ contexts: contexts
166
+ })).catch(error => {
167
+ throw new Error(`${logMessages.trackEcommerceTransaction} ${error.message}`);
168
+ });
169
+ }
170
+
171
+ /**
172
+ * Tracks a deep link received event
173
+ *
174
+ * @param namespace {string} - the tracker namespace
175
+ * @param argmap {Object} - the event data
176
+ * @param contexts {Array}- the event contexts
177
+ * @returns {Promise}
178
+ */
179
+ function trackDeepLinkReceivedEvent(namespace, argmap) {
180
+ let contexts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
181
+ return validateDeepLinkReceived(argmap).then(() => validateContexts(contexts)).then(() => RNSnowplowTracker.trackDeepLinkReceivedEvent({
182
+ tracker: namespace,
183
+ eventData: argmap,
184
+ contexts: contexts
185
+ })).catch(error => {
186
+ throw new Error(`${logMessages.trackDeepLinkReceived} ${error.message}`);
187
+ });
188
+ }
189
+
190
+ /**
191
+ * Tracks a message notification event
192
+ *
193
+ * @param namespace {string} - the tracker namespace
194
+ * @param argmap {Object} - the event data
195
+ * @param contexts {Array}- the event contexts
196
+ * @returns {Promise}
197
+ */
198
+ function trackMessageNotificationEvent(namespace, argmap) {
199
+ let contexts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
200
+ return validateMessageNotification(argmap).then(() => validateContexts(contexts)).then(() => RNSnowplowTracker.trackMessageNotificationEvent({
201
+ tracker: namespace,
202
+ eventData: argmap,
203
+ contexts: contexts
204
+ })).catch(error => {
205
+ throw new Error(`${logMessages.trackMessageNotification} ${error.message}`);
206
+ });
207
+ }
208
+ export { trackSelfDescribingEvent, trackScreenViewEvent, trackStructuredEvent, trackPageViewEvent, trackTimingEvent, trackConsentGrantedEvent, trackConsentWithdrawnEvent, trackEcommerceTransactionEvent, trackDeepLinkReceivedEvent, trackMessageNotificationEvent };
209
+ //# sourceMappingURL=tracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["RNSnowplowTracker","logMessages","validateContexts","validateSelfDesc","validateScreenView","validateStructured","validatePageView","validateTiming","validateConsentGranted","validateConsentWithdrawn","validateEcommerceTransaction","validateDeepLinkReceived","validateMessageNotification","trackSelfDescribingEvent","namespace","argmap","contexts","arguments","length","undefined","then","tracker","eventData","catch","error","Error","trackSelfDesc","message","trackScreenViewEvent","trackScreenView","trackStructuredEvent","trackStructured","trackPageViewEvent","trackPageView","trackTimingEvent","trackTiming","trackConsentGrantedEvent","trackConsentGranted","trackConsentWithdrawnEvent","trackConsentWithdrawn","trackEcommerceTransactionEvent","trackEcommerceTransaction","trackDeepLinkReceivedEvent","trackDeepLinkReceived","trackMessageNotificationEvent","trackMessageNotification"],"sourceRoot":"../../src","sources":["tracker.ts"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["types.ts"],"mappings":""}
@@ -0,0 +1,79 @@
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
+ /**
17
+ * Returns a function that accepts a side-effect function as its argument and subscribes
18
+ * that function to aPromise's fullfillment,
19
+ * and errHandle to aPromise's rejection.
20
+ *
21
+ * @param aPromise - A void Promise
22
+ * @param errHandle - A function to handle the promise being rejected
23
+ * @returns - A function subscribed to the Promise's fullfillment
24
+ */
25
+ function safeWait(aPromise, errHandle) {
26
+ return func => {
27
+ return function () {
28
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
29
+ args[_key] = arguments[_key];
30
+ }
31
+ return aPromise.then(() => func(...args)).catch(err => errHandle(err));
32
+ };
33
+ };
34
+ }
35
+
36
+ /**
37
+ * Returns a function that accepts a callback function as its argument and subscribes
38
+ * that function to aPromise's fullfillment,
39
+ * and errHandle to aPromise's rejection.
40
+ *
41
+ * @param aPromise - A void Promise
42
+ * @param errHandle - A function to handle the promise being rejected
43
+ * @returns - A function subscribed to the Promise's fullfillment
44
+ */
45
+ function safeWaitCallback(callPromise, errHandle) {
46
+ return func => {
47
+ return function () {
48
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
49
+ args[_key2] = arguments[_key2];
50
+ }
51
+ return callPromise.then(() => func(...args)).catch(err => errHandle(err));
52
+ };
53
+ };
54
+ }
55
+
56
+ /**
57
+ * Handles an error.
58
+ *
59
+ * @param err - The error to be handled.
60
+ */
61
+ function errorHandler(err) {
62
+ if (__DEV__) {
63
+ console.warn('SnowplowTracker:' + err.message);
64
+ return undefined;
65
+ }
66
+ return undefined;
67
+ }
68
+
69
+ /**
70
+ * Helper to check whether its argument is of object type
71
+ *
72
+ * @param x - The argument to check.
73
+ * @returns - A boolean
74
+ */
75
+ function isObject(x) {
76
+ return Object.prototype.toString.call(x) === '[object Object]';
77
+ }
78
+ export { safeWait, safeWaitCallback, errorHandler, isObject };
79
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["safeWait","aPromise","errHandle","func","_len","arguments","length","args","Array","_key","then","catch","err","safeWaitCallback","callPromise","_len2","_key2","errorHandler","__DEV__","console","warn","message","undefined","isObject","x","Object","prototype","toString","call"],"sourceRoot":"../../src","sources":["utils.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY;;AAEZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,QAAQA,CAACC,QAAuB,EAAEC,SAA+B,EAAE;EAC1E,OAAuDC,IAAO,IAAK;IACjE,OAAO,YAA2C;MAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAvCC,IAAI,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;QAAJF,IAAI,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;MAAA;MACb,OAAOR,QAAQ,CAACS,IAAI,CAAC,MAAMP,IAAI,CAAC,GAAGI,IAAI,CAAC,CAAC,CAACI,KAAK,CAAEC,GAAG,IAAKV,SAAS,CAACU,GAAG,CAAC,CAAC;IAC1E,CAAC;EACH,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,gBAAgBA,CACvBC,WAA0B,EAC1BZ,SAAoC,EACpC;EACA,OAAuDC,IAAO,IAAK;IACjE,OAAO,YAAgE;MAAA,SAAAY,KAAA,GAAAV,SAAA,CAAAC,MAAA,EAA5DC,IAAI,OAAAC,KAAA,CAAAO,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;QAAJT,IAAI,CAAAS,KAAA,IAAAX,SAAA,CAAAW,KAAA;MAAA;MACb,OAAOF,WAAW,CACfJ,IAAI,CAAC,MAAqBP,IAAI,CAAC,GAAGI,IAAI,CAAC,CAAC,CACxCI,KAAK,CAAEC,GAAG,IAAKV,SAAS,CAACU,GAAG,CAAC,CAAC;IACnC,CAAC;EACH,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASK,YAAYA,CAACL,GAAU,EAAa;EAC3C,IAAIM,OAAO,EAAE;IACXC,OAAO,CAACC,IAAI,CAAC,kBAAkB,GAAGR,GAAG,CAACS,OAAO,CAAC;IAC9C,OAAOC,SAAS;EAClB;EACA,OAAOA,SAAS;AAClB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,QAAQA,CAAOC,CAAO,EAAW;EACxC,OAAOC,MAAM,CAACC,SAAS,CAACC,QAAQ,CAACC,IAAI,CAACJ,CAAC,CAAC,KAAK,iBAAiB;AAChE;AAEA,SAASxB,QAAQ,EAAEa,gBAAgB,EAAEI,YAAY,EAAEM,QAAQ"}
@@ -0,0 +1,75 @@
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 { trackPageViewEvent, trackScreenViewEvent, trackSelfDescribingEvent, trackStructuredEvent } from './tracker';
17
+ import { errorHandler } from './utils';
18
+ function forEachTracker(trackers, iterator) {
19
+ if (trackers && trackers.length > 0) {
20
+ trackers.forEach(iterator);
21
+ } else {
22
+ iterator(null);
23
+ }
24
+ }
25
+
26
+ /**
27
+ * Enables tracking events from apps rendered in react-native-webview components.
28
+ * The apps need to use the Snowplow WebView tracker to track the events.
29
+ *
30
+ * To subscribe for the events, set the `onMessage` attribute:
31
+ * <WebView onMessage={getWebViewCallback()} ... />
32
+ *
33
+ * @returns Callback to subscribe for events from Web views tracked using the Snowplow WebView tracker.
34
+ */
35
+ export function getWebViewCallback() {
36
+ return message => {
37
+ const data = JSON.parse(message.nativeEvent.data);
38
+ switch (data.command) {
39
+ case 'trackSelfDescribingEvent':
40
+ forEachTracker(data.trackers, namespace => {
41
+ trackSelfDescribingEvent(namespace, data.event, data.context || []).catch(error => {
42
+ errorHandler(error);
43
+ });
44
+ });
45
+ break;
46
+ case 'trackStructEvent':
47
+ forEachTracker(data.trackers, namespace => {
48
+ trackStructuredEvent(namespace, data.event, data.context || []).catch(error => {
49
+ errorHandler(error);
50
+ });
51
+ });
52
+ break;
53
+ case 'trackPageView':
54
+ forEachTracker(data.trackers, namespace => {
55
+ const event = data.event;
56
+ trackPageViewEvent(namespace, {
57
+ pageTitle: event.title ?? '',
58
+ pageUrl: event.url ?? '',
59
+ referrer: event.referrer
60
+ }).catch(error => {
61
+ errorHandler(error);
62
+ });
63
+ });
64
+ break;
65
+ case 'trackScreenView':
66
+ forEachTracker(data.trackers, namespace => {
67
+ trackScreenViewEvent(namespace, data.event, data.context || []).catch(error => {
68
+ errorHandler(error);
69
+ });
70
+ });
71
+ break;
72
+ }
73
+ };
74
+ }
75
+ //# sourceMappingURL=webViewInterface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["trackPageViewEvent","trackScreenViewEvent","trackSelfDescribingEvent","trackStructuredEvent","errorHandler","forEachTracker","trackers","iterator","length","forEach","getWebViewCallback","message","data","JSON","parse","nativeEvent","command","namespace","event","context","catch","error","pageTitle","title","pageUrl","url","referrer"],"sourceRoot":"../../src","sources":["webViewInterface.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY;;AAEZ,SACEA,kBAAkB,EAClBC,oBAAoB,EACpBC,wBAAwB,EACxBC,oBAAoB,QACf,WAAW;AAQlB,SAASC,YAAY,QAAQ,SAAS;AAEtC,SAASC,cAAcA,CACrBC,QAAmC,EACnCC,QAA4C,EACtC;EACN,IAAID,QAAQ,IAAIA,QAAQ,CAACE,MAAM,GAAG,CAAC,EAAE;IACnCF,QAAQ,CAACG,OAAO,CAACF,QAAQ,CAAC;EAC5B,CAAC,MAAM;IACLA,QAAQ,CAAC,IAAI,CAAC;EAChB;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASG,kBAAkBA,CAAA,EAAG;EACnC,OAAQC,OAA0C,IAAW;IAC3D,MAAMC,IAAI,GAAGC,IAAI,CAACC,KAAK,CAACH,OAAO,CAACI,WAAW,CAACH,IAAI,CAAmB;IACnE,QAAQA,IAAI,CAACI,OAAO;MAClB,KAAK,0BAA0B;QAC7BX,cAAc,CAACO,IAAI,CAACN,QAAQ,EAAGW,SAAS,IAAK;UAC3Cf,wBAAwB,CACtBe,SAAS,EACTL,IAAI,CAACM,KAAK,EACVN,IAAI,CAACO,OAAO,IAAI,EAClB,CAAC,CAACC,KAAK,CAAEC,KAAK,IAAK;YACjBjB,YAAY,CAACiB,KAAK,CAAC;UACrB,CAAC,CAAC;QACJ,CAAC,CAAC;QACF;MAEF,KAAK,kBAAkB;QACrBhB,cAAc,CAACO,IAAI,CAACN,QAAQ,EAAGW,SAAS,IAAK;UAC3Cd,oBAAoB,CAClBc,SAAS,EACTL,IAAI,CAACM,KAAK,EACVN,IAAI,CAACO,OAAO,IAAI,EAClB,CAAC,CAACC,KAAK,CAAEC,KAAK,IAAK;YACjBjB,YAAY,CAACiB,KAAK,CAAC;UACrB,CAAC,CAAC;QACJ,CAAC,CAAC;QACF;MAEF,KAAK,eAAe;QAClBhB,cAAc,CAACO,IAAI,CAACN,QAAQ,EAAGW,SAAS,IAAK;UAC3C,MAAMC,KAAK,GAAGN,IAAI,CAACM,KAA6B;UAChDlB,kBAAkB,CAACiB,SAAS,EAAE;YAC5BK,SAAS,EAAEJ,KAAK,CAACK,KAAK,IAAI,EAAE;YAC5BC,OAAO,EAAEN,KAAK,CAACO,GAAG,IAAI,EAAE;YACxBC,QAAQ,EAAER,KAAK,CAACQ;UAClB,CAAC,CAAC,CAACN,KAAK,CAAEC,KAAK,IAAK;YAClBjB,YAAY,CAACiB,KAAK,CAAC;UACrB,CAAC,CAAC;QACJ,CAAC,CAAC;QACF;MAEF,KAAK,iBAAiB;QACpBhB,cAAc,CAACO,IAAI,CAACN,QAAQ,EAAGW,SAAS,IAAK;UAC3ChB,oBAAoB,CAClBgB,SAAS,EACTL,IAAI,CAACM,KAAK,EACVN,IAAI,CAACO,OAAO,IAAI,EAClB,CAAC,CAACC,KAAK,CAAEC,KAAK,IAAK;YACjBjB,YAAY,CAACiB,KAAK,CAAC;UACrB,CAAC,CAAC;QACJ,CAAC,CAAC;QACF;IACJ;EACF,CAAC;AACH"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=api.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/api.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=configurations.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configurations.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/configurations.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=events.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/events.test.ts"],"names":[],"mappings":""}