@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,140 @@
1
+ import type { InitTrackerConfiguration, SelfDescribing, EventContext, StructuredProps, ScreenViewProps, ScreenSize, PageViewProps, TimingProps, ConsentGrantedProps, ConsentWithdrawnProps, EcommerceTransactionProps, DeepLinkReceivedProps, MessageNotificationProps } from './types';
2
+ import { type Payload } from '@snowplow/tracker-core';
3
+ declare function createTracker(configuration: InitTrackerConfiguration, emitCallback?: (e: Payload) => void): Promise<void>;
4
+ declare function removeTracker(details: {
5
+ tracker: string;
6
+ }): Promise<boolean>;
7
+ declare function removeAllTrackers(): Promise<boolean>;
8
+ declare function trackSelfDescribingEvent(details: {
9
+ tracker: string | null;
10
+ eventData: SelfDescribing;
11
+ contexts: EventContext[];
12
+ }): Promise<void>;
13
+ declare function trackStructuredEvent(details: {
14
+ tracker: string | null;
15
+ eventData: StructuredProps;
16
+ contexts: EventContext[];
17
+ }): Promise<void>;
18
+ declare function trackScreenViewEvent(details: {
19
+ tracker: string | null;
20
+ eventData: ScreenViewProps;
21
+ contexts: EventContext[];
22
+ }): Promise<void>;
23
+ declare function trackPageViewEvent(details: {
24
+ tracker: string | null;
25
+ eventData: PageViewProps;
26
+ contexts: EventContext[];
27
+ }): Promise<void>;
28
+ declare function trackTimingEvent(details: {
29
+ tracker: string | null;
30
+ eventData: TimingProps;
31
+ contexts: EventContext[];
32
+ }): Promise<void>;
33
+ declare function trackConsentGrantedEvent(details: {
34
+ tracker: string | null;
35
+ eventData: ConsentGrantedProps;
36
+ contexts: EventContext[];
37
+ }): Promise<void>;
38
+ declare function trackConsentWithdrawnEvent(details: {
39
+ tracker: string | null;
40
+ eventData: ConsentWithdrawnProps;
41
+ contexts: EventContext[];
42
+ }): Promise<void>;
43
+ declare function trackEcommerceTransactionEvent(details: {
44
+ tracker: string | null;
45
+ eventData: EcommerceTransactionProps;
46
+ contexts: EventContext[];
47
+ }): Promise<void>;
48
+ declare function trackDeepLinkReceivedEvent(details: {
49
+ tracker: string | null;
50
+ eventData: DeepLinkReceivedProps;
51
+ contexts: EventContext[];
52
+ }): Promise<void>;
53
+ declare function trackMessageNotificationEvent(details: {
54
+ tracker: string | null;
55
+ eventData: MessageNotificationProps;
56
+ contexts: EventContext[];
57
+ }): Promise<void>;
58
+ declare function removeGlobalContexts(): Promise<void>;
59
+ declare function addGlobalContexts(): Promise<void>;
60
+ declare function setUserId(details: {
61
+ tracker: string;
62
+ userId: string | null;
63
+ }): Promise<void>;
64
+ declare function setNetworkUserId(details: {
65
+ tracker: string;
66
+ networkUserId: string | null;
67
+ }): Promise<void>;
68
+ declare function setDomainUserId(details: {
69
+ tracker: string;
70
+ domainUserId: string | null;
71
+ }): Promise<void>;
72
+ declare function setIpAddress(details: {
73
+ tracker: string;
74
+ ipAddress: string | null;
75
+ }): Promise<void>;
76
+ declare function setUseragent(details: {
77
+ tracker: string;
78
+ useragent: string | null;
79
+ }): Promise<void>;
80
+ declare function setTimezone(details: {
81
+ tracker: string;
82
+ timezone: string | null;
83
+ }): Promise<void>;
84
+ declare function setLanguage(details: {
85
+ tracker: string;
86
+ language: string | null;
87
+ }): Promise<void>;
88
+ declare function setScreenResolution(details: {
89
+ tracker: string;
90
+ screenResolution: ScreenSize | null;
91
+ }): Promise<void>;
92
+ declare function setScreenViewport(details: {
93
+ tracker: string;
94
+ screenViewport: ScreenSize | null;
95
+ }): Promise<void>;
96
+ declare function setColorDepth(details: {
97
+ tracker: string;
98
+ colorDepth: number | null;
99
+ }): Promise<void>;
100
+ declare function getSessionUserId(): Promise<string>;
101
+ declare function getSessionId(): Promise<string>;
102
+ declare function getSessionIndex(): Promise<number>;
103
+ declare function getIsInBackground(): Promise<boolean>;
104
+ declare function getBackgroundIndex(): Promise<number>;
105
+ declare function getForegroundIndex(): Promise<number>;
106
+ declare const JSSnowplowTracker: Readonly<{
107
+ createTracker: typeof createTracker;
108
+ removeTracker: typeof removeTracker;
109
+ removeAllTrackers: typeof removeAllTrackers;
110
+ trackSelfDescribingEvent: typeof trackSelfDescribingEvent;
111
+ trackStructuredEvent: typeof trackStructuredEvent;
112
+ trackScreenViewEvent: typeof trackScreenViewEvent;
113
+ trackPageViewEvent: typeof trackPageViewEvent;
114
+ trackTimingEvent: typeof trackTimingEvent;
115
+ trackConsentGrantedEvent: typeof trackConsentGrantedEvent;
116
+ trackConsentWithdrawnEvent: typeof trackConsentWithdrawnEvent;
117
+ trackEcommerceTransactionEvent: typeof trackEcommerceTransactionEvent;
118
+ trackDeepLinkReceivedEvent: typeof trackDeepLinkReceivedEvent;
119
+ trackMessageNotificationEvent: typeof trackMessageNotificationEvent;
120
+ removeGlobalContexts: typeof removeGlobalContexts;
121
+ addGlobalContexts: typeof addGlobalContexts;
122
+ setUserId: typeof setUserId;
123
+ setNetworkUserId: typeof setNetworkUserId;
124
+ setDomainUserId: typeof setDomainUserId;
125
+ setIpAddress: typeof setIpAddress;
126
+ setUseragent: typeof setUseragent;
127
+ setTimezone: typeof setTimezone;
128
+ setLanguage: typeof setLanguage;
129
+ setScreenResolution: typeof setScreenResolution;
130
+ setScreenViewport: typeof setScreenViewport;
131
+ setColorDepth: typeof setColorDepth;
132
+ getSessionUserId: typeof getSessionUserId;
133
+ getSessionId: typeof getSessionId;
134
+ getSessionIndex: typeof getSessionIndex;
135
+ getIsInBackground: typeof getIsInBackground;
136
+ getBackgroundIndex: typeof getBackgroundIndex;
137
+ getForegroundIndex: typeof getForegroundIndex;
138
+ }>;
139
+ export { JSSnowplowTracker };
140
+ //# sourceMappingURL=jsCore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsCore.d.ts","sourceRoot":"","sources":["../../src/jsCore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Native } from './types';
2
+ declare const RNSnowplowTracker: Native;
3
+ export { RNSnowplowTracker };
4
+ //# sourceMappingURL=native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../src/native.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAYtC,QAAA,MAAM,iBAAiB,EAAE,MAEJ,CAAC;AAEtB,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1,91 @@
1
+ import type { ScreenSize, SubjectConfiguration } from './types';
2
+ /**
3
+ * Sets the userId of the tracker subject
4
+ *
5
+ * @param namespace {string} - the tracker namespace
6
+ * @param newUid {string | null} - the new userId
7
+ * @returns - Promise
8
+ */
9
+ declare function setUserId(namespace: string, newUid: string | null): Promise<void>;
10
+ /**
11
+ * Sets the networkUserId of the tracker subject
12
+ *
13
+ * @param namespace {string} - the tracker namespace
14
+ * @param newNuid {string | null} - the new networkUserId
15
+ * @returns - Promise
16
+ */
17
+ declare function setNetworkUserId(namespace: string, newNuid: string | null): Promise<void>;
18
+ /**
19
+ * Sets the domainUserId of the tracker subject
20
+ *
21
+ * @param namespace {string} - the tracker namespace
22
+ * @param newDuid {string | null} - the new domainUserId
23
+ * @returns - Promise
24
+ */
25
+ declare function setDomainUserId(namespace: string, newDuid: string | null): Promise<void>;
26
+ /**
27
+ * Sets the ipAddress of the tracker subject
28
+ *
29
+ * @param namespace {string} - the tracker namespace
30
+ * @param newIp {string | null} - the new ipAddress
31
+ * @returns - Promise
32
+ */
33
+ declare function setIpAddress(namespace: string, newIp: string | null): Promise<void>;
34
+ /**
35
+ * Sets the useragent of the tracker subject
36
+ *
37
+ * @param namespace {string} - the tracker namespace
38
+ * @param newUagent {string | null} - the new useragent
39
+ * @returns - Promise
40
+ */
41
+ declare function setUseragent(namespace: string, newUagent: string | null): Promise<void>;
42
+ /**
43
+ * Sets the timezone of the tracker subject
44
+ *
45
+ * @param namespace {string} - the tracker namespace
46
+ * @param newTz {string | null} - the new timezone
47
+ * @returns - Promise
48
+ */
49
+ declare function setTimezone(namespace: string, newTz: string | null): Promise<void>;
50
+ /**
51
+ * Sets the language of the tracker subject
52
+ *
53
+ * @param namespace {string} - the tracker namespace
54
+ * @param newLang {string | null} - the new language
55
+ * @returns - Promise
56
+ */
57
+ declare function setLanguage(namespace: string, newLang: string | null): Promise<void>;
58
+ /**
59
+ * Sets the screenResolution of the tracker subject
60
+ *
61
+ * @param namespace {string} - the tracker namespace
62
+ * @param newRes {ScreenSize | null} - the new screenResolution
63
+ * @returns - Promise
64
+ */
65
+ declare function setScreenResolution(namespace: string, newRes: ScreenSize | null): Promise<void>;
66
+ /**
67
+ * Sets the screenViewport of the tracker subject
68
+ *
69
+ * @param namespace {string} - the tracker namespace
70
+ * @param newView {ScreenSize | null} - the new screenViewport
71
+ * @returns - Promise
72
+ */
73
+ declare function setScreenViewport(namespace: string, newView: ScreenSize | null): Promise<void>;
74
+ /**
75
+ * Sets the colorDepth of the tracker subject
76
+ *
77
+ * @param namespace {string} - the tracker namespace
78
+ * @param newColorD {number | null} - the new colorDepth
79
+ * @returns - Promise
80
+ */
81
+ declare function setColorDepth(namespace: string, newColorD: number | null): Promise<void>;
82
+ /**
83
+ * Sets the tracker subject
84
+ *
85
+ * @param namespace {string} - the tracker namespace
86
+ * @param config {SubjectConfiguration} - the new subject data
87
+ * @returns - Promise
88
+ */
89
+ declare function setSubjectData(namespace: string, config: SubjectConfiguration): Promise<void>;
90
+ export { setUserId, setNetworkUserId, setDomainUserId, setIpAddress, setUseragent, setTimezone, setLanguage, setScreenResolution, setScreenViewport, setColorDepth, setSubjectData, };
91
+ //# sourceMappingURL=subject.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subject.d.ts","sourceRoot":"","sources":["../../src/subject.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEhE;;;;;;GAMG;AACH,iBAAS,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAU1E;AAED;;;;;;GAMG;AACH,iBAAS,gBAAgB,CACvB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GAAG,IAAI,GACrB,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;;;;;GAMG;AACH,iBAAS,eAAe,CACtB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GAAG,IAAI,GACrB,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;;;;;GAMG;AACH,iBAAS,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAU5E;AAED;;;;;;GAMG;AACH,iBAAS,YAAY,CACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAAG,IAAI,GACvB,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;;;;;GAMG;AACH,iBAAS,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAU3E;AAED;;;;;;GAMG;AACH,iBAAS,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAU7E;AAED;;;;;;GAMG;AACH,iBAAS,mBAAmB,CAC1B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,UAAU,GAAG,IAAI,GACxB,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;;;;;GAMG;AACH,iBAAS,iBAAiB,CACxB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,UAAU,GAAG,IAAI,GACzB,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;;;;;GAMG;AACH,iBAAS,aAAa,CACpB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAAG,IAAI,GACvB,OAAO,CAAC,IAAI,CAAC,CAUf;AAkBD;;;;;;GAMG;AACH,iBAAS,cAAc,CACrB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,IAAI,CAAC,CA8Cf;AAED,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,cAAc,GACf,CAAC"}
@@ -0,0 +1,93 @@
1
+ import type { SelfDescribing, EventContext, ScreenViewProps, StructuredProps, PageViewProps, TimingProps, ConsentGrantedProps, ConsentWithdrawnProps, EcommerceTransactionProps, DeepLinkReceivedProps, MessageNotificationProps } from './types';
2
+ /**
3
+ * Tracks a self-describing event
4
+ *
5
+ * @param namespace {string} - the tracker namespace
6
+ * @param argmap {Object} - the event data
7
+ * @param contexts {Array}- the event contexts
8
+ * @returns {Promise}
9
+ */
10
+ declare function trackSelfDescribingEvent(namespace: string | null, argmap: SelfDescribing, contexts?: EventContext[]): Promise<void>;
11
+ /**
12
+ * Tracks a screen-view event
13
+ *
14
+ * @param namespace {string} - the tracker namespace
15
+ * @param argmap {Object} - the event data
16
+ * @param contexts {Array}- the event contexts
17
+ * @returns {Promise}
18
+ */
19
+ declare function trackScreenViewEvent(namespace: string | null, argmap: ScreenViewProps, contexts?: EventContext[]): Promise<void>;
20
+ /**
21
+ * Tracks a structured event
22
+ *
23
+ * @param namespace {string} - the tracker namespace
24
+ * @param argmap {Object} - the event data
25
+ * @param contexts {Array}- the event contexts
26
+ * @returns {Promise}
27
+ */
28
+ declare function trackStructuredEvent(namespace: string | null, argmap: StructuredProps, contexts?: EventContext[]): Promise<void>;
29
+ /**
30
+ * Tracks a page-view event
31
+ *
32
+ * @param namespace {string} - the tracker namespace
33
+ * @param argmap {Object} - the event data
34
+ * @param contexts {Array}- the event contexts
35
+ * @returns {Promise}
36
+ */
37
+ declare function trackPageViewEvent(namespace: string | null, argmap: PageViewProps, contexts?: EventContext[]): Promise<void>;
38
+ /**
39
+ * Tracks a timing 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
+ declare function trackTimingEvent(namespace: string | null, argmap: TimingProps, contexts?: EventContext[]): Promise<void>;
47
+ /**
48
+ * Tracks a consent-granted event
49
+ *
50
+ * @param namespace {string} - the tracker namespace
51
+ * @param argmap {Object} - the event data
52
+ * @param contexts {Array}- the event contexts
53
+ * @returns {Promise}
54
+ */
55
+ declare function trackConsentGrantedEvent(namespace: string | null, argmap: ConsentGrantedProps, contexts?: EventContext[]): Promise<void>;
56
+ /**
57
+ * Tracks a consent-withdrawn event
58
+ *
59
+ * @param namespace {string} - the tracker namespace
60
+ * @param argmap {Object} - the event data
61
+ * @param contexts {Array}- the event contexts
62
+ * @returns {Promise}
63
+ */
64
+ declare function trackConsentWithdrawnEvent(namespace: string | null, argmap: ConsentWithdrawnProps, contexts?: EventContext[]): Promise<void>;
65
+ /**
66
+ * Tracks an ecommerce-transaction event
67
+ *
68
+ * @param namespace {string} - the tracker namespace
69
+ * @param argmap {Object} - the event data
70
+ * @param contexts {Array}- the event contexts
71
+ * @returns {Promise}
72
+ */
73
+ declare function trackEcommerceTransactionEvent(namespace: string | null, argmap: EcommerceTransactionProps, contexts?: EventContext[]): Promise<void>;
74
+ /**
75
+ * Tracks a deep link received event
76
+ *
77
+ * @param namespace {string} - the tracker namespace
78
+ * @param argmap {Object} - the event data
79
+ * @param contexts {Array}- the event contexts
80
+ * @returns {Promise}
81
+ */
82
+ declare function trackDeepLinkReceivedEvent(namespace: string | null, argmap: DeepLinkReceivedProps, contexts?: EventContext[]): Promise<void>;
83
+ /**
84
+ * Tracks a message notification event
85
+ *
86
+ * @param namespace {string} - the tracker namespace
87
+ * @param argmap {Object} - the event data
88
+ * @param contexts {Array}- the event contexts
89
+ * @returns {Promise}
90
+ */
91
+ declare function trackMessageNotificationEvent(namespace: string | null, argmap: MessageNotificationProps, contexts?: EventContext[]): Promise<void>;
92
+ export { trackSelfDescribingEvent, trackScreenViewEvent, trackStructuredEvent, trackPageViewEvent, trackTimingEvent, trackConsentGrantedEvent, trackConsentWithdrawnEvent, trackEcommerceTransactionEvent, trackDeepLinkReceivedEvent, trackMessageNotificationEvent, };
93
+ //# sourceMappingURL=tracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracker.d.ts","sourceRoot":"","sources":["../../src/tracker.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,eAAe,EACf,eAAe,EACf,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,SAAS,CAAC;AAEjB;;;;;;;GAOG;AACH,iBAAS,wBAAwB,CAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,MAAM,EAAE,cAAc,EACtB,QAAQ,GAAE,YAAY,EAAO,GAC5B,OAAO,CAAC,IAAI,CAAC,CAaf;AAED;;;;;;;GAOG;AACH,iBAAS,oBAAoB,CAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,MAAM,EAAE,eAAe,EACvB,QAAQ,GAAE,YAAY,EAAO,GAC5B,OAAO,CAAC,IAAI,CAAC,CAaf;AAED;;;;;;;GAOG;AACH,iBAAS,oBAAoB,CAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,MAAM,EAAE,eAAe,EACvB,QAAQ,GAAE,YAAY,EAAO,GAC5B,OAAO,CAAC,IAAI,CAAC,CAaf;AAED;;;;;;;GAOG;AACH,iBAAS,kBAAkB,CACzB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,MAAM,EAAE,aAAa,EACrB,QAAQ,GAAE,YAAY,EAAO,GAC5B,OAAO,CAAC,IAAI,CAAC,CAaf;AAED;;;;;;;GAOG;AACH,iBAAS,gBAAgB,CACvB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,MAAM,EAAE,WAAW,EACnB,QAAQ,GAAE,YAAY,EAAO,GAC5B,OAAO,CAAC,IAAI,CAAC,CAaf;AAED;;;;;;;GAOG;AACH,iBAAS,wBAAwB,CAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,GAAE,YAAY,EAAO,GAC5B,OAAO,CAAC,IAAI,CAAC,CAaf;AAED;;;;;;;GAOG;AACH,iBAAS,0BAA0B,CACjC,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,MAAM,EAAE,qBAAqB,EAC7B,QAAQ,GAAE,YAAY,EAAO,GAC5B,OAAO,CAAC,IAAI,CAAC,CAaf;AAED;;;;;;;GAOG;AACH,iBAAS,8BAA8B,CACrC,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,MAAM,EAAE,yBAAyB,EACjC,QAAQ,GAAE,YAAY,EAAO,GAC5B,OAAO,CAAC,IAAI,CAAC,CAef;AAED;;;;;;;GAOG;AACH,iBAAS,0BAA0B,CACjC,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,MAAM,EAAE,qBAAqB,EAC7B,QAAQ,GAAE,YAAY,EAAO,GAC5B,OAAO,CAAC,IAAI,CAAC,CAaf;AAED;;;;;;;GAOG;AACH,iBAAS,6BAA6B,CACpC,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,MAAM,EAAE,wBAAwB,EAChC,QAAQ,GAAE,YAAY,EAAO,GAC5B,OAAO,CAAC,IAAI,CAAC,CAef;AAED,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,0BAA0B,EAC1B,8BAA8B,EAC9B,0BAA0B,EAC1B,6BAA6B,GAC9B,CAAC"}