castled-js-sdk 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (660) hide show
  1. package/README.md +21 -101
  2. package/index.es.js +1 -0
  3. package/index.js +1 -0
  4. package/package.json +39 -198
  5. package/{examples/chrome-extension/background-script-websockets/rudderAnalytics.js → service-worker/index.es.js} +1274 -1283
  6. package/service-worker/index.js +5346 -0
  7. package/.env.example +0 -8
  8. package/.eslintignore +0 -15
  9. package/.eslintrc.json +0 -41
  10. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -50
  11. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -19
  12. package/.github/pull_request_template.md +0 -22
  13. package/.github/workflows/build-and-quality-checks.yml +0 -50
  14. package/.github/workflows/deploy-beta.yml +0 -55
  15. package/.github/workflows/deploy-cdn.yml +0 -113
  16. package/.github/workflows/deploy-npm.yml +0 -80
  17. package/.github/workflows/deploy-sanity-suite.yml +0 -46
  18. package/.github/workflows/test.yml +0 -39
  19. package/.husky/commit-msg +0 -4
  20. package/.husky/pre-commit +0 -4
  21. package/.nvmrc +0 -1
  22. package/.prettierignore +0 -10
  23. package/.prettierrc +0 -7
  24. package/.size-limit.js +0 -30
  25. package/.versionrc +0 -12
  26. package/LICENSE +0 -67
  27. package/__mocks__/BraveBrowser.js +0 -9
  28. package/__mocks__/fixtures.js +0 -130
  29. package/__mocks__/msw.handlers.js +0 -34
  30. package/__mocks__/msw.server.js +0 -6
  31. package/__tests__/camelcase.test.js +0 -29
  32. package/__tests__/data-residency.test.js +0 -238
  33. package/__tests__/features/core/metrics/errorReporting/ErrorReportingService.test.js +0 -80
  34. package/__tests__/integrations/BingAds/__mocks__/data.js +0 -17
  35. package/__tests__/integrations/BingAds/browser.test.js +0 -148
  36. package/__tests__/integrations/BingAds/utils.test.js +0 -138
  37. package/__tests__/integrations/Braze/Braze.test.js +0 -462
  38. package/__tests__/integrations/FacebookPixel/FacebookPixel.test.js +0 -347
  39. package/__tests__/integrations/FacebookPixel/utils.test.js +0 -688
  40. package/__tests__/integrations/Fullstory/fullstory.test.js +0 -147
  41. package/__tests__/integrations/GA4/__mocks__/data.js +0 -1480
  42. package/__tests__/integrations/GA4/browser.test.js +0 -94
  43. package/__tests__/integrations/GA4/utils.test.js +0 -337
  44. package/__tests__/integrations/GoogleAds/__mocks__/data.js +0 -235
  45. package/__tests__/integrations/GoogleAds/browser.test.js +0 -202
  46. package/__tests__/integrations/GoogleAds/utils.test.js +0 -110
  47. package/__tests__/integrations/LaunchDarkly/__mocks__/data.js +0 -61
  48. package/__tests__/integrations/LaunchDarkly/browser.test.js +0 -148
  49. package/__tests__/integrations/LaunchDarkly/utils.test.js +0 -36
  50. package/__tests__/integrations/Lemnisk/lemnisk.test.js +0 -156
  51. package/__tests__/integrations/Mixpanel/browser.test.js +0 -60
  52. package/__tests__/integrations/PinterestTag/__mocks__/data.js +0 -24
  53. package/__tests__/integrations/PinterestTag/utils.test.js +0 -19
  54. package/__tests__/integrations/TikTokAds/tiktokads.test.js +0 -231
  55. package/__tests__/ketchConsent.test.js +0 -49
  56. package/__tests__/oneTrustCookieConsent.test.js +0 -89
  57. package/__tests__/script.test.js +0 -167
  58. package/__tests__/service-worker/__mocks__/fixtures.js +0 -79
  59. package/__tests__/service-worker/__mocks__/msw.server.js +0 -12
  60. package/__tests__/service-worker/index.test.js +0 -109
  61. package/__tests__/transformationHandler.test.js +0 -169
  62. package/__tests__/utils/IntegrationsData.test.js +0 -105
  63. package/__tests__/utils/ObjectUtils.test.js +0 -227
  64. package/__tests__/utils/cdnPaths.test.js +0 -63
  65. package/__tests__/utils/clientHint.test.js +0 -87
  66. package/__tests__/utils/commonUtils.test.js +0 -271
  67. package/__tests__/utils/errorHandler.test.js +0 -60
  68. package/__tests__/utils/eventProcessorUtils.test.js +0 -266
  69. package/__tests__/utils/navigator.test.js +0 -38
  70. package/__tests__/utils/preProcessQueue.test.js +0 -78
  71. package/__tests__/utils/screenDetails.test.js +0 -19
  72. package/__tests__/utils/utils.test.js +0 -348
  73. package/assets/integrations/AdobeAnalytics/adobe-analytics-heartbeat.js +0 -12384
  74. package/assets/integrations/AdobeAnalytics/adobe-analytics-js.js +0 -5046
  75. package/babel.config.json +0 -34
  76. package/commitlint.config.js +0 -3
  77. package/examples/SampleEventsTest.Html +0 -133
  78. package/examples/TC/TC_001.js +0 -4
  79. package/examples/TC/TC_002.js +0 -4
  80. package/examples/TC/TC_003.js +0 -4
  81. package/examples/TC/TC_004.js +0 -4
  82. package/examples/TC/TC_005.js +0 -4
  83. package/examples/chrome-extension/USAGE.md +0 -131
  84. package/examples/chrome-extension/background-script/LICENSE +0 -21
  85. package/examples/chrome-extension/background-script/README.md +0 -101
  86. package/examples/chrome-extension/background-script/foreground.js +0 -7
  87. package/examples/chrome-extension/background-script/logo/logo-128.png +0 -0
  88. package/examples/chrome-extension/background-script/logo/logo-16.png +0 -0
  89. package/examples/chrome-extension/background-script/logo/logo-48.png +0 -0
  90. package/examples/chrome-extension/background-script/logo/logo.svg +0 -138
  91. package/examples/chrome-extension/background-script/manifest.json +0 -37
  92. package/examples/chrome-extension/background-script/popup/popup.css +0 -11
  93. package/examples/chrome-extension/background-script/popup/popup.html +0 -11
  94. package/examples/chrome-extension/background-script/rudderAnalytics.js +0 -5345
  95. package/examples/chrome-extension/background-script/service-worker.js +0 -32
  96. package/examples/chrome-extension/background-script/settings/settings.css +0 -8
  97. package/examples/chrome-extension/background-script/settings/settings.html +0 -12
  98. package/examples/chrome-extension/background-script-websockets/LICENSE +0 -21
  99. package/examples/chrome-extension/background-script-websockets/README.md +0 -101
  100. package/examples/chrome-extension/background-script-websockets/foreground.js +0 -7
  101. package/examples/chrome-extension/background-script-websockets/logo/logo-128.png +0 -0
  102. package/examples/chrome-extension/background-script-websockets/logo/logo-16.png +0 -0
  103. package/examples/chrome-extension/background-script-websockets/logo/logo-48.png +0 -0
  104. package/examples/chrome-extension/background-script-websockets/logo/logo.svg +0 -138
  105. package/examples/chrome-extension/background-script-websockets/manifest.json +0 -37
  106. package/examples/chrome-extension/background-script-websockets/popup/popup.css +0 -11
  107. package/examples/chrome-extension/background-script-websockets/popup/popup.html +0 -11
  108. package/examples/chrome-extension/background-script-websockets/service-worker.js +0 -60
  109. package/examples/chrome-extension/background-script-websockets/settings/settings.css +0 -8
  110. package/examples/chrome-extension/background-script-websockets/settings/settings.html +0 -12
  111. package/examples/chrome-extension/content-script/LICENSE +0 -21
  112. package/examples/chrome-extension/content-script/README.md +0 -101
  113. package/examples/chrome-extension/content-script/foreground.js +0 -65
  114. package/examples/chrome-extension/content-script/logo/logo-128.png +0 -0
  115. package/examples/chrome-extension/content-script/logo/logo-16.png +0 -0
  116. package/examples/chrome-extension/content-script/logo/logo-48.png +0 -0
  117. package/examples/chrome-extension/content-script/logo/logo.svg +0 -138
  118. package/examples/chrome-extension/content-script/manifest.json +0 -39
  119. package/examples/chrome-extension/content-script/popup/popup.css +0 -11
  120. package/examples/chrome-extension/content-script/popup/popup.html +0 -11
  121. package/examples/chrome-extension/content-script/service-worker-utils.js +0 -17
  122. package/examples/chrome-extension/content-script/service-worker.js +0 -12
  123. package/examples/chrome-extension/content-script/settings/settings.css +0 -8
  124. package/examples/chrome-extension/content-script/settings/settings.html +0 -12
  125. package/examples/chrome-extension/websocket-server/server.mjs +0 -19
  126. package/examples/html/autotrack-test.html +0 -96
  127. package/examples/html/ecomm_test.html +0 -358
  128. package/examples/html/script-test.html +0 -968
  129. package/examples/html/segment.html +0 -177
  130. package/examples/html/test_poster.jpg +0 -0
  131. package/examples/umd/index.js +0 -11
  132. package/examples/umd/package.json +0 -42
  133. package/examples/umd/rollup.config.js +0 -36
  134. package/examples/umd/tests/test.html +0 -5
  135. package/examples/v1.1/tc1.html +0 -139
  136. package/examples/v1.1/tc2.1.html +0 -140
  137. package/examples/v1.1/tc2.2.html +0 -139
  138. package/examples/v1.1/tc2.3.html +0 -143
  139. package/examples/v1.1/tc3.1.html +0 -139
  140. package/examples/v1.1/tc3.2.html +0 -142
  141. package/examples/v1.1/tc3.3.html +0 -142
  142. package/examples/v1.1/tc3.4.html +0 -144
  143. package/examples/v1.1/tc3.5.html +0 -142
  144. package/examples/v1.1/tc4.html +0 -142
  145. package/examples/v1.1/tc5.html +0 -150
  146. package/github-release.config.js +0 -5
  147. package/jest/jest.global-setup.js +0 -3
  148. package/jest/jest.polyfills.js +0 -10
  149. package/jest/jest.setup-dom.js +0 -49
  150. package/jest.config.js +0 -196
  151. package/packages/npm/README.md +0 -125
  152. package/packages/npm/package.json +0 -50
  153. package/patches/@segment+localstorage-retry+1.3.0.patch +0 -73
  154. package/patches/@segment+top-domain+3.0.1.patch +0 -34
  155. package/public/index.html +0 -136
  156. package/public/list_integration_sdks.html +0 -390
  157. package/rollup-configs/rollup.integrations.config.js +0 -29
  158. package/rollup-configs/rollup.sdk.browser.js +0 -32
  159. package/rollup-configs/rollup.sdk.npm.js +0 -43
  160. package/rollup-configs/rollup.utilities.js +0 -120
  161. package/rollup-configs/rollup.worker.config.js +0 -37
  162. package/sanity-suite/.babelrc +0 -33
  163. package/sanity-suite/.env.example +0 -6
  164. package/sanity-suite/__mocks__/alias1.json +0 -137
  165. package/sanity-suite/__mocks__/alias2.json +0 -97
  166. package/sanity-suite/__mocks__/alias5.json +0 -103
  167. package/sanity-suite/__mocks__/alias6.json +0 -137
  168. package/sanity-suite/__mocks__/group1.json +0 -120
  169. package/sanity-suite/__mocks__/group2.json +0 -86
  170. package/sanity-suite/__mocks__/group4.json +0 -101
  171. package/sanity-suite/__mocks__/group5.json +0 -67
  172. package/sanity-suite/__mocks__/group6.json +0 -66
  173. package/sanity-suite/__mocks__/identify1.json +0 -136
  174. package/sanity-suite/__mocks__/identify2.json +0 -102
  175. package/sanity-suite/__mocks__/identify3.json +0 -99
  176. package/sanity-suite/__mocks__/identify4.json +0 -65
  177. package/sanity-suite/__mocks__/identify5.json +0 -102
  178. package/sanity-suite/__mocks__/identify6.json +0 -103
  179. package/sanity-suite/__mocks__/identify7.json +0 -102
  180. package/sanity-suite/__mocks__/identify8.json +0 -103
  181. package/sanity-suite/__mocks__/page1.json +0 -119
  182. package/sanity-suite/__mocks__/page2.json +0 -86
  183. package/sanity-suite/__mocks__/page4.json +0 -112
  184. package/sanity-suite/__mocks__/page5.json +0 -79
  185. package/sanity-suite/__mocks__/page6.json +0 -77
  186. package/sanity-suite/__mocks__/page7.json +0 -77
  187. package/sanity-suite/__mocks__/page8.json +0 -75
  188. package/sanity-suite/__mocks__/page9.json +0 -155
  189. package/sanity-suite/__mocks__/sourceConfig1.json +0 -988
  190. package/sanity-suite/__mocks__/track1.json +0 -150
  191. package/sanity-suite/__mocks__/track2.json +0 -118
  192. package/sanity-suite/__mocks__/track4.json +0 -134
  193. package/sanity-suite/__mocks__/track5.json +0 -102
  194. package/sanity-suite/__mocks__/track6.json +0 -81
  195. package/sanity-suite/__mocks__/track7.json +0 -81
  196. package/sanity-suite/package-lock.json +0 -7951
  197. package/sanity-suite/package.json +0 -67
  198. package/sanity-suite/public/eventFiltering/index-cdn.html +0 -112
  199. package/sanity-suite/public/eventFiltering/index-local.html +0 -109
  200. package/sanity-suite/public/eventFiltering/index-npm.html +0 -92
  201. package/sanity-suite/public/index-cdn.html +0 -112
  202. package/sanity-suite/public/index-local.html +0 -109
  203. package/sanity-suite/public/index-npm.html +0 -92
  204. package/sanity-suite/public/preloadBuffer/index-cdn.html +0 -112
  205. package/sanity-suite/public/preloadBuffer/index-local.html +0 -109
  206. package/sanity-suite/public/preloadBuffer/index-npm.html +0 -92
  207. package/sanity-suite/rollup.config.js +0 -199
  208. package/sanity-suite/src/index-npm.js +0 -65
  209. package/sanity-suite/src/index.js +0 -5
  210. package/sanity-suite/src/testBook/ResultAssertions.js +0 -51
  211. package/sanity-suite/src/testBook/TestBook.js +0 -345
  212. package/sanity-suite/src/testBook/ignoredProperties.js +0 -150
  213. package/sanity-suite/src/testBook/index.js +0 -11
  214. package/sanity-suite/src/testBookSuites/alias.js +0 -287
  215. package/sanity-suite/src/testBookSuites/group.js +0 -240
  216. package/sanity-suite/src/testBookSuites/identify.js +0 -455
  217. package/sanity-suite/src/testBookSuites/index.js +0 -31
  218. package/sanity-suite/src/testBookSuites/page.js +0 -258
  219. package/sanity-suite/src/testBookSuites/sourceConfig.js +0 -84
  220. package/sanity-suite/src/testBookSuites/track.js +0 -451
  221. package/scripts/integrationBuildScript.js +0 -77
  222. package/scripts/run_tests.sh +0 -6
  223. package/src/core/analytics.js +0 -1668
  224. package/src/features/core/cookieConsent/CookieConsentFactory.js +0 -32
  225. package/src/features/core/cookieConsent/OneTrust/browser.js +0 -102
  226. package/src/features/core/cookieConsent/OneTrust/index.js +0 -3
  227. package/src/features/core/cookieConsent/ketch/browser.js +0 -114
  228. package/src/features/core/cookieConsent/ketch/index.js +0 -1
  229. package/src/features/core/deviceModeTransformation/transformationHandler.js +0 -189
  230. package/src/features/core/deviceModeTransformation/util.js +0 -23
  231. package/src/features/core/metrics/errorReporting/ErrorReportingService.js +0 -116
  232. package/src/features/core/metrics/errorReporting/providers/Bugsnag.js +0 -240
  233. package/src/features/core/session/index.js +0 -207
  234. package/src/integrations/ActiveCampaign/browser.js +0 -52
  235. package/src/integrations/ActiveCampaign/constants.js +0 -14
  236. package/src/integrations/ActiveCampaign/index.js +0 -3
  237. package/src/integrations/ActiveCampaign/nativeSdkLoader.js +0 -24
  238. package/src/integrations/AdobeAnalytics/browser.js +0 -276
  239. package/src/integrations/AdobeAnalytics/constants.js +0 -14
  240. package/src/integrations/AdobeAnalytics/eCommHandle.js +0 -56
  241. package/src/integrations/AdobeAnalytics/heartbeatHandle.js +0 -266
  242. package/src/integrations/AdobeAnalytics/index.js +0 -1
  243. package/src/integrations/AdobeAnalytics/util.js +0 -678
  244. package/src/integrations/Adroll/browser.js +0 -125
  245. package/src/integrations/Adroll/constants.js +0 -10
  246. package/src/integrations/Adroll/index.js +0 -1
  247. package/src/integrations/Adroll/util.js +0 -48
  248. package/src/integrations/Amplitude/browser.js +0 -352
  249. package/src/integrations/Amplitude/constants.js +0 -9
  250. package/src/integrations/Amplitude/index.js +0 -1
  251. package/src/integrations/Amplitude/nativeSdkLoader.js +0 -112
  252. package/src/integrations/Amplitude/test/test_amplitude.html +0 -157
  253. package/src/integrations/Amplitude/utils.js +0 -25
  254. package/src/integrations/Appcues/browser.js +0 -79
  255. package/src/integrations/Appcues/constants.js +0 -9
  256. package/src/integrations/Appcues/index.js +0 -1
  257. package/src/integrations/Axeptio/browser.js +0 -61
  258. package/src/integrations/Axeptio/constants.js +0 -8
  259. package/src/integrations/Axeptio/index.js +0 -1
  260. package/src/integrations/Axeptio/nativeSdkLoader.js +0 -14
  261. package/src/integrations/Axeptio/utils.js +0 -16
  262. package/src/integrations/BingAds/browser.js +0 -79
  263. package/src/integrations/BingAds/constants.js +0 -12
  264. package/src/integrations/BingAds/index.js +0 -1
  265. package/src/integrations/BingAds/nativeSdkLoader.js +0 -30
  266. package/src/integrations/BingAds/utils.js +0 -101
  267. package/src/integrations/Braze/browser.js +0 -284
  268. package/src/integrations/Braze/constants.js +0 -11
  269. package/src/integrations/Braze/index.js +0 -1
  270. package/src/integrations/Braze/nativeSdkLoader.js +0 -35
  271. package/src/integrations/Braze/utils.js +0 -51
  272. package/src/integrations/Bugsnag/browser.js +0 -60
  273. package/src/integrations/Bugsnag/constants.js +0 -8
  274. package/src/integrations/Bugsnag/index.js +0 -1
  275. package/src/integrations/Chartbeat/browser.js +0 -148
  276. package/src/integrations/Chartbeat/constants.js +0 -10
  277. package/src/integrations/Chartbeat/index.js +0 -1
  278. package/src/integrations/Chartbeat/nativeSdkLoader.js +0 -7
  279. package/src/integrations/Clevertap/browser.js +0 -206
  280. package/src/integrations/Clevertap/constants.js +0 -8
  281. package/src/integrations/Clevertap/index.js +0 -1
  282. package/src/integrations/Comscore/browser.js +0 -130
  283. package/src/integrations/Comscore/constants.js +0 -11
  284. package/src/integrations/Comscore/index.js +0 -1
  285. package/src/integrations/Comscore/nativeSdkLoader.js +0 -10
  286. package/src/integrations/ConvertFlow/browser.js +0 -59
  287. package/src/integrations/ConvertFlow/constants.js +0 -15
  288. package/src/integrations/ConvertFlow/index.js +0 -1
  289. package/src/integrations/ConvertFlow/utils.js +0 -107
  290. package/src/integrations/Criteo/browser.js +0 -155
  291. package/src/integrations/Criteo/constants.js +0 -11
  292. package/src/integrations/Criteo/index.js +0 -1
  293. package/src/integrations/Criteo/utils.js +0 -343
  294. package/src/integrations/CustomerIO/browser.js +0 -74
  295. package/src/integrations/CustomerIO/constants.js +0 -10
  296. package/src/integrations/CustomerIO/index.js +0 -1
  297. package/src/integrations/CustomerIO/nativeSdkLoader.js +0 -31
  298. package/src/integrations/DCMFloodlight/browser.js +0 -240
  299. package/src/integrations/DCMFloodlight/constants.js +0 -15
  300. package/src/integrations/DCMFloodlight/index.js +0 -1
  301. package/src/integrations/DCMFloodlight/utils.js +0 -336
  302. package/src/integrations/Drip/browser.js +0 -169
  303. package/src/integrations/Drip/constants.js +0 -8
  304. package/src/integrations/Drip/index.js +0 -1
  305. package/src/integrations/Drip/nativeSdkLoader.js +0 -10
  306. package/src/integrations/Drip/utils.js +0 -29
  307. package/src/integrations/Engage/browser.js +0 -124
  308. package/src/integrations/Engage/constants.js +0 -16
  309. package/src/integrations/Engage/index.js +0 -1
  310. package/src/integrations/Engage/nativeSdkLoader.js +0 -25
  311. package/src/integrations/Engage/utils.js +0 -69
  312. package/src/integrations/FacebookPixel/browser.js +0 -313
  313. package/src/integrations/FacebookPixel/constants.js +0 -77
  314. package/src/integrations/FacebookPixel/index.js +0 -1
  315. package/src/integrations/FacebookPixel/utils.js +0 -310
  316. package/src/integrations/Fullstory/browser.js +0 -169
  317. package/src/integrations/Fullstory/constants.js +0 -13
  318. package/src/integrations/Fullstory/index.js +0 -1
  319. package/src/integrations/Fullstory/nativeSdkLoader.js +0 -69
  320. package/src/integrations/GA/browser.js +0 -816
  321. package/src/integrations/GA/constants.js +0 -10
  322. package/src/integrations/GA/index.js +0 -1
  323. package/src/integrations/GA/index.test.js +0 -184
  324. package/src/integrations/GA360/browser.js +0 -58
  325. package/src/integrations/GA360/constants.js +0 -14
  326. package/src/integrations/GA360/index.js +0 -1
  327. package/src/integrations/GA4/browser.js +0 -264
  328. package/src/integrations/GA4/config.js +0 -296
  329. package/src/integrations/GA4/constants.js +0 -15
  330. package/src/integrations/GA4/index.js +0 -1
  331. package/src/integrations/GA4/utils.js +0 -329
  332. package/src/integrations/GoogleAds/browser.js +0 -212
  333. package/src/integrations/GoogleAds/constants.js +0 -11
  334. package/src/integrations/GoogleAds/index.js +0 -1
  335. package/src/integrations/GoogleAds/nativeSdkLoader.js +0 -26
  336. package/src/integrations/GoogleAds/utils.js +0 -117
  337. package/src/integrations/GoogleOptimize/browser.js +0 -79
  338. package/src/integrations/GoogleOptimize/constants.js +0 -13
  339. package/src/integrations/GoogleOptimize/index.js +0 -1
  340. package/src/integrations/GoogleTagManager/browser.js +0 -95
  341. package/src/integrations/GoogleTagManager/constants.js +0 -10
  342. package/src/integrations/GoogleTagManager/index.js +0 -1
  343. package/src/integrations/GoogleTagManager/nativeSdkLoader.js +0 -21
  344. package/src/integrations/Heap/browser.js +0 -67
  345. package/src/integrations/Heap/constants.js +0 -9
  346. package/src/integrations/Heap/index.js +0 -1
  347. package/src/integrations/Heap/nativeSdkLoader.js +0 -40
  348. package/src/integrations/Heap/util.js +0 -23
  349. package/src/integrations/Hotjar/browser.js +0 -86
  350. package/src/integrations/Hotjar/constants.js +0 -10
  351. package/src/integrations/Hotjar/index.js +0 -1
  352. package/src/integrations/Hotjar/nativeSdkLoader.js +0 -21
  353. package/src/integrations/HubSpot/browser.js +0 -96
  354. package/src/integrations/HubSpot/constants.js +0 -11
  355. package/src/integrations/HubSpot/index.js +0 -1
  356. package/src/integrations/INTERCOM/browser.js +0 -107
  357. package/src/integrations/INTERCOM/constants.js +0 -8
  358. package/src/integrations/INTERCOM/index.js +0 -1
  359. package/src/integrations/INTERCOM/nativeSdkLoader.js +0 -46
  360. package/src/integrations/INTERCOM/utils.js +0 -68
  361. package/src/integrations/Iterable/browser.js +0 -185
  362. package/src/integrations/Iterable/constants.js +0 -8
  363. package/src/integrations/Iterable/index.js +0 -1
  364. package/src/integrations/Iterable/utils.js +0 -111
  365. package/src/integrations/June/browser.js +0 -98
  366. package/src/integrations/June/constants.js +0 -8
  367. package/src/integrations/June/index.js +0 -1
  368. package/src/integrations/Keen/browser.js +0 -153
  369. package/src/integrations/Keen/constants.js +0 -10
  370. package/src/integrations/Keen/index.js +0 -1
  371. package/src/integrations/Kissmetrics/browser.js +0 -254
  372. package/src/integrations/Kissmetrics/constants.js +0 -8
  373. package/src/integrations/Kissmetrics/index.js +0 -1
  374. package/src/integrations/Kissmetrics/nativeSdkLoader.js +0 -23
  375. package/src/integrations/Klaviyo/browser.js +0 -195
  376. package/src/integrations/Klaviyo/constants.js +0 -8
  377. package/src/integrations/Klaviyo/index.js +0 -1
  378. package/src/integrations/Klaviyo/util.js +0 -91
  379. package/src/integrations/LaunchDarkly/browser.js +0 -74
  380. package/src/integrations/LaunchDarkly/constants.js +0 -11
  381. package/src/integrations/LaunchDarkly/index.js +0 -1
  382. package/src/integrations/LaunchDarkly/utils.js +0 -24
  383. package/src/integrations/Lemnisk/browser.js +0 -85
  384. package/src/integrations/Lemnisk/constants.js +0 -13
  385. package/src/integrations/Lemnisk/index.js +0 -1
  386. package/src/integrations/Lemnisk/nativeSdkLoader.js +0 -34
  387. package/src/integrations/LinkedInInsightTag/browser.js +0 -71
  388. package/src/integrations/LinkedInInsightTag/constants.js +0 -16
  389. package/src/integrations/LinkedInInsightTag/index.js +0 -1
  390. package/src/integrations/LiveChat/browser.js +0 -82
  391. package/src/integrations/LiveChat/constants.js +0 -12
  392. package/src/integrations/LiveChat/index.js +0 -1
  393. package/src/integrations/LiveChat/nativeSdkLoader.js +0 -40
  394. package/src/integrations/LiveChat/util.js +0 -71
  395. package/src/integrations/Lotame/LotameStorage.js +0 -21
  396. package/src/integrations/Lotame/browser.js +0 -172
  397. package/src/integrations/Lotame/constants.js +0 -8
  398. package/src/integrations/Lotame/index.js +0 -1
  399. package/src/integrations/Lytics/browser.js +0 -87
  400. package/src/integrations/Lytics/constants.js +0 -8
  401. package/src/integrations/Lytics/index.js +0 -1
  402. package/src/integrations/Lytics/nativeSdkLoader.js +0 -77
  403. package/src/integrations/Lytics/test/script-test-lytics.html +0 -250
  404. package/src/integrations/Matomo/browser.js +0 -188
  405. package/src/integrations/Matomo/constants.js +0 -8
  406. package/src/integrations/Matomo/index.js +0 -1
  407. package/src/integrations/Matomo/nativeSdkLoader.js +0 -20
  408. package/src/integrations/Matomo/util.js +0 -417
  409. package/src/integrations/MicrosoftClarity/browser.js +0 -70
  410. package/src/integrations/MicrosoftClarity/constants.js +0 -14
  411. package/src/integrations/MicrosoftClarity/index.js +0 -1
  412. package/src/integrations/MicrosoftClarity/nativeSdkLoader.js +0 -22
  413. package/src/integrations/Mixpanel/browser.js +0 -326
  414. package/src/integrations/Mixpanel/constants.js +0 -11
  415. package/src/integrations/Mixpanel/index.js +0 -1
  416. package/src/integrations/Mixpanel/nativeSdkLoader.js +0 -71
  417. package/src/integrations/Mixpanel/util.js +0 -178
  418. package/src/integrations/MoEngage/browser.js +0 -133
  419. package/src/integrations/MoEngage/constants.js +0 -12
  420. package/src/integrations/MoEngage/index.js +0 -1
  421. package/src/integrations/MoEngage/nativeSdkLoader.js +0 -66
  422. package/src/integrations/MoEngage/test/script-test-moengage.html +0 -216
  423. package/src/integrations/Mouseflow/browser.js +0 -98
  424. package/src/integrations/Mouseflow/constants.js +0 -14
  425. package/src/integrations/Mouseflow/index.js +0 -1
  426. package/src/integrations/Mouseflow/utils.js +0 -27
  427. package/src/integrations/Olark/browser.js +0 -94
  428. package/src/integrations/Olark/constants.js +0 -8
  429. package/src/integrations/Olark/index.js +0 -1
  430. package/src/integrations/Olark/nativeSdkLoader.js +0 -31
  431. package/src/integrations/Olark/utils.js +0 -51
  432. package/src/integrations/Optimizely/browser.js +0 -230
  433. package/src/integrations/Optimizely/constants.js +0 -8
  434. package/src/integrations/Optimizely/index.js +0 -1
  435. package/src/integrations/Optimizely/utils.js +0 -23
  436. package/src/integrations/Pendo/browser.js +0 -119
  437. package/src/integrations/Pendo/constants.js +0 -8
  438. package/src/integrations/Pendo/index.js +0 -1
  439. package/src/integrations/Pendo/nativeSdkLoader.js +0 -32
  440. package/src/integrations/PinterestTag/browser.js +0 -241
  441. package/src/integrations/PinterestTag/constants.js +0 -19
  442. package/src/integrations/PinterestTag/index.js +0 -1
  443. package/src/integrations/PinterestTag/nativeSdkLoader.js +0 -19
  444. package/src/integrations/PinterestTag/propertyMappingConfig.js +0 -57
  445. package/src/integrations/PinterestTag/test/input.js +0 -180
  446. package/src/integrations/PinterestTag/test/output.js +0 -129
  447. package/src/integrations/PinterestTag/utils.js +0 -47
  448. package/src/integrations/Podsights/browser.js +0 -178
  449. package/src/integrations/Podsights/constants.js +0 -206
  450. package/src/integrations/Podsights/index.js +0 -1
  451. package/src/integrations/Podsights/utils.js +0 -65
  452. package/src/integrations/PostAffiliatePro/browser.js +0 -133
  453. package/src/integrations/PostAffiliatePro/constants.js +0 -13
  454. package/src/integrations/PostAffiliatePro/index.js +0 -1
  455. package/src/integrations/PostAffiliatePro/utils.js +0 -40
  456. package/src/integrations/Posthog/browser.js +0 -154
  457. package/src/integrations/Posthog/constants.js +0 -12
  458. package/src/integrations/Posthog/index.js +0 -1
  459. package/src/integrations/Posthog/nativeSdkLoader.js +0 -48
  460. package/src/integrations/Posthog/test/test_posthog.html +0 -77
  461. package/src/integrations/Posthog/utils.js +0 -36
  462. package/src/integrations/ProfitWell/browser.js +0 -72
  463. package/src/integrations/ProfitWell/constants.js +0 -12
  464. package/src/integrations/ProfitWell/index.js +0 -1
  465. package/src/integrations/ProfitWell/nativeSdkLoader.js +0 -25
  466. package/src/integrations/Qualaroo/browser.js +0 -116
  467. package/src/integrations/Qualaroo/constants.js +0 -8
  468. package/src/integrations/Qualaroo/index.js +0 -1
  469. package/src/integrations/Qualaroo/utils.js +0 -83
  470. package/src/integrations/Qualtrics/browser.js +0 -89
  471. package/src/integrations/Qualtrics/constants.js +0 -8
  472. package/src/integrations/Qualtrics/index.js +0 -1
  473. package/src/integrations/Qualtrics/nativeSdkLoader.js +0 -79
  474. package/src/integrations/QuantumMetric/browser.js +0 -63
  475. package/src/integrations/QuantumMetric/constants.js +0 -13
  476. package/src/integrations/QuantumMetric/index.js +0 -1
  477. package/src/integrations/QuoraPixel/browser.js +0 -64
  478. package/src/integrations/QuoraPixel/constants.js +0 -15
  479. package/src/integrations/QuoraPixel/index.js +0 -1
  480. package/src/integrations/QuoraPixel/nativeSdkLoader.js +0 -21
  481. package/src/integrations/RedditPixel/browser.js +0 -98
  482. package/src/integrations/RedditPixel/constants.js +0 -13
  483. package/src/integrations/RedditPixel/index.js +0 -1
  484. package/src/integrations/RedditPixel/nativeSdkLoader.js +0 -21
  485. package/src/integrations/Refiner/browser.js +0 -119
  486. package/src/integrations/Refiner/constants.js +0 -8
  487. package/src/integrations/Refiner/index.js +0 -1
  488. package/src/integrations/Refiner/nativeSdkLoader.js +0 -20
  489. package/src/integrations/Refiner/utils.js +0 -44
  490. package/src/integrations/Rockerbox/browser.js +0 -89
  491. package/src/integrations/Rockerbox/constants.js +0 -12
  492. package/src/integrations/Rockerbox/index.js +0 -1
  493. package/src/integrations/Rockerbox/nativeSdkLoader.js +0 -32
  494. package/src/integrations/RollBar/browser.js +0 -92
  495. package/src/integrations/RollBar/constants.js +0 -13
  496. package/src/integrations/RollBar/index.js +0 -1
  497. package/src/integrations/RollBar/nativeSdkLoader.js +0 -383
  498. package/src/integrations/Satismeter/browser.js +0 -94
  499. package/src/integrations/Satismeter/constants.js +0 -9
  500. package/src/integrations/Satismeter/index.js +0 -1
  501. package/src/integrations/Satismeter/nativeSdkLoader.js +0 -23
  502. package/src/integrations/Satismeter/util.js +0 -54
  503. package/src/integrations/Sendinblue/browser.js +0 -111
  504. package/src/integrations/Sendinblue/constants.js +0 -25
  505. package/src/integrations/Sendinblue/index.js +0 -1
  506. package/src/integrations/Sendinblue/nativeSdkLoader.js +0 -36
  507. package/src/integrations/Sendinblue/utils.js +0 -112
  508. package/src/integrations/Sentry/browser.js +0 -118
  509. package/src/integrations/Sentry/constants.js +0 -8
  510. package/src/integrations/Sentry/index.js +0 -1
  511. package/src/integrations/Sentry/utils.js +0 -80
  512. package/src/integrations/Shynet/browser.js +0 -97
  513. package/src/integrations/Shynet/constants.js +0 -15
  514. package/src/integrations/Shynet/index.js +0 -1
  515. package/src/integrations/SnapEngage/browser.js +0 -75
  516. package/src/integrations/SnapEngage/constants.js +0 -12
  517. package/src/integrations/SnapEngage/index.js +0 -1
  518. package/src/integrations/SnapEngage/nativeSdkLoader.js +0 -24
  519. package/src/integrations/SnapEngage/util.js +0 -63
  520. package/src/integrations/SnapPixel/browser.js +0 -232
  521. package/src/integrations/SnapPixel/constants.js +0 -13
  522. package/src/integrations/SnapPixel/index.js +0 -1
  523. package/src/integrations/SnapPixel/nativeSdkLoader.js +0 -20
  524. package/src/integrations/SnapPixel/util.js +0 -211
  525. package/src/integrations/TVSquared/browser.js +0 -96
  526. package/src/integrations/TVSquared/constants.js +0 -14
  527. package/src/integrations/TVSquared/index.js +0 -1
  528. package/src/integrations/TVSquared/utils.js +0 -40
  529. package/src/integrations/TiktokAds/browser.js +0 -103
  530. package/src/integrations/TiktokAds/constants.js +0 -86
  531. package/src/integrations/TiktokAds/index.js +0 -1
  532. package/src/integrations/TiktokAds/nativeSdkLoader.js +0 -52
  533. package/src/integrations/TiktokAds/util.js +0 -71
  534. package/src/integrations/VWO/browser.js +0 -131
  535. package/src/integrations/VWO/constants.js +0 -13
  536. package/src/integrations/VWO/index.js +0 -1
  537. package/src/integrations/VWO/nativeSdkLoader.js +0 -64
  538. package/src/integrations/Vero/browser.js +0 -165
  539. package/src/integrations/Vero/constants.js +0 -8
  540. package/src/integrations/Vero/index.js +0 -1
  541. package/src/integrations/Woopra/browser.js +0 -83
  542. package/src/integrations/Woopra/constants.js +0 -8
  543. package/src/integrations/Woopra/index.js +0 -1
  544. package/src/integrations/Woopra/nativeSdkLoader.js +0 -43
  545. package/src/integrations/YandexMetrica/browser.js +0 -143
  546. package/src/integrations/YandexMetrica/constants.js +0 -10
  547. package/src/integrations/YandexMetrica/index.js +0 -1
  548. package/src/integrations/YandexMetrica/nativeSdkLoader.js +0 -35
  549. package/src/integrations/YandexMetrica/utils.js +0 -138
  550. package/src/integrations/index.js +0 -155
  551. package/src/service-worker/index.js +0 -466
  552. package/src/utils/EventRepository.js +0 -78
  553. package/src/utils/HtElement.js +0 -33
  554. package/src/utils/HtElementBuilder.js +0 -29
  555. package/src/utils/IntegrationsData.js +0 -61
  556. package/src/utils/JSFileLoader.js +0 -66
  557. package/src/utils/ObjectUtils.js +0 -68
  558. package/src/utils/PreProcessQueue.js +0 -66
  559. package/src/utils/RudderApp.js +0 -9
  560. package/src/utils/RudderContext.js +0 -21
  561. package/src/utils/RudderInfo.js +0 -41
  562. package/src/utils/RudderMessage.js +0 -28
  563. package/src/utils/ScriptLoader.js +0 -53
  564. package/src/utils/beaconQueue.js +0 -133
  565. package/src/utils/camelcase.js +0 -48
  566. package/src/utils/cdnPaths.js +0 -43
  567. package/src/utils/clientHint.js +0 -28
  568. package/src/utils/client_server_name.js +0 -78
  569. package/src/utils/commonUtils.js +0 -207
  570. package/src/utils/config_to_integration_names.js +0 -80
  571. package/src/utils/constants.js +0 -82
  572. package/src/utils/errorHandler.js +0 -88
  573. package/src/utils/eventProcessorUtils.js +0 -53
  574. package/src/utils/integration_cname.js +0 -156
  575. package/src/utils/linker/base64decoder.js +0 -31
  576. package/src/utils/linker/crc32.js +0 -42
  577. package/src/utils/linker/index.js +0 -134
  578. package/src/utils/linker/userLib.js +0 -20
  579. package/src/utils/logUtil.js +0 -51
  580. package/src/utils/logger.js +0 -106
  581. package/src/utils/navigator.js +0 -32
  582. package/src/utils/notifyError.js +0 -16
  583. package/src/utils/pageProperties.js +0 -74
  584. package/src/utils/screenDetails.js +0 -23
  585. package/src/utils/storage/cookie.js +0 -93
  586. package/src/utils/storage/index.js +0 -3
  587. package/src/utils/storage/storage.js +0 -459
  588. package/src/utils/storage/store.js +0 -72
  589. package/src/utils/storage/v3DecryptionUtils.js +0 -19
  590. package/src/utils/utils.js +0 -966
  591. package/src/utils/xhrModule.js +0 -111
  592. package/stats/AdobeAnalytics.html +0 -4044
  593. package/stats/Adroll.html +0 -4044
  594. package/stats/Amplitude.html +0 -4044
  595. package/stats/Appcues.html +0 -4044
  596. package/stats/BingAds.html +0 -4044
  597. package/stats/Braze.html +0 -4044
  598. package/stats/Bugsnag.html +0 -4044
  599. package/stats/Chartbeat.html +0 -4044
  600. package/stats/Clevertap.html +0 -4044
  601. package/stats/Comscore.html +0 -4044
  602. package/stats/ConvertFlow.html +0 -4044
  603. package/stats/Criteo.html +0 -4044
  604. package/stats/CustomerIO.html +0 -4044
  605. package/stats/DCMFloodlight.html +0 -4044
  606. package/stats/Drip.html +0 -4044
  607. package/stats/Engage.html +0 -4044
  608. package/stats/FacebookPixel.html +0 -4044
  609. package/stats/Fullstory.html +0 -4044
  610. package/stats/GA.html +0 -4044
  611. package/stats/GA360.html +0 -4044
  612. package/stats/GA4.html +0 -4044
  613. package/stats/GoogleAds.html +0 -4044
  614. package/stats/GoogleOptimize.html +0 -4044
  615. package/stats/GoogleTagManager.html +0 -4044
  616. package/stats/Heap.html +0 -4044
  617. package/stats/Hotjar.html +0 -4044
  618. package/stats/HubSpot.html +0 -4044
  619. package/stats/INTERCOM.html +0 -4044
  620. package/stats/Iterable.html +0 -4044
  621. package/stats/June.html +0 -4044
  622. package/stats/Keen.html +0 -4044
  623. package/stats/Kissmetrics.html +0 -4044
  624. package/stats/Klaviyo.html +0 -4044
  625. package/stats/LaunchDarkly.html +0 -4044
  626. package/stats/LinkedInInsightTag.html +0 -4044
  627. package/stats/LiveChat.html +0 -4044
  628. package/stats/Lotame.html +0 -4044
  629. package/stats/Lytics.html +0 -4044
  630. package/stats/Matomo.html +0 -4044
  631. package/stats/Mixpanel.html +0 -4044
  632. package/stats/MoEngage.html +0 -4044
  633. package/stats/Mouseflow.html +0 -4044
  634. package/stats/Optimizely.html +0 -4044
  635. package/stats/Pendo.html +0 -4044
  636. package/stats/PinterestTag.html +0 -4044
  637. package/stats/Podsights.html +0 -4044
  638. package/stats/PostAffiliatePro.html +0 -4044
  639. package/stats/Posthog.html +0 -4044
  640. package/stats/ProfitWell.html +0 -4044
  641. package/stats/Qualaroo.html +0 -4044
  642. package/stats/Qualtrics.html +0 -4044
  643. package/stats/QuantumMetric.html +0 -4044
  644. package/stats/QuoraPixel.html +0 -4044
  645. package/stats/RedditPixel.html +0 -4044
  646. package/stats/Refiner.html +0 -4044
  647. package/stats/Rockerbox.html +0 -4044
  648. package/stats/RollBar.html +0 -4044
  649. package/stats/Sentry.html +0 -4044
  650. package/stats/Shynet.html +0 -4044
  651. package/stats/SnapEngage.html +0 -4044
  652. package/stats/SnapPixel.html +0 -4044
  653. package/stats/TVSquared.html +0 -4044
  654. package/stats/VWO.html +0 -4044
  655. package/stats/Vero.html +0 -4044
  656. package/stats/Woopra.html +0 -4044
  657. package/stats/YandexMetrica.html +0 -4044
  658. package/stats/rudder-analytics.html +0 -4044
  659. /package/{packages/npm/index.d.ts → index.d.ts} +0 -0
  660. /package/{src/service-worker → service-worker}/index.d.ts +0 -0
@@ -1,94 +0,0 @@
1
- import GA4 from '../../../src/integrations/GA4/browser';
2
-
3
- import { identifyEvents, trackEvents, pageEvents, groupEvents } from './__mocks__/data';
4
-
5
- afterAll(() => {
6
- jest.restoreAllMocks();
7
- });
8
- const destinationInfo = {
9
- areTransformationsConnected: false,
10
- destinationId: 'sample-destination-id',
11
- };
12
-
13
- // jest.mock('this.analytics.getUserId', () => '1234');
14
-
15
- describe('Google Analytics 4 init tests', () => {
16
- test('Testing init call of Google Analytics 4 with MeasurementId', () => {
17
- const ga4 = new GA4(
18
- { measurementId: 'G-123456', debugView: true },
19
- { getUserId: () => '1234', getUserTraits: () => {} },
20
- destinationInfo,
21
- );
22
- ga4.init();
23
- expect(typeof window.gtag).toBe('function');
24
- });
25
- });
26
-
27
- describe('Google Analytics 4 events tests', () => {
28
- let ga4;
29
- beforeEach(() => {
30
- ga4 = new GA4(
31
- { measurementId: 'G-123456', extendPageViewParams: true, capturePageView: 'rs' },
32
- { getUserId: () => '1234', getUserTraits: () => {} },
33
- destinationInfo,
34
- );
35
- ga4.init();
36
- window.gtag = jest.fn();
37
- });
38
-
39
- trackEvents.forEach((event) => {
40
- test(`Track : ${event.description}`, () => {
41
- const { input, output } = event;
42
- try {
43
- ga4.track(input);
44
- // verifying events
45
- expect(window.gtag.mock.calls[0][1]).toEqual(output.event);
46
- expect(window.gtag.mock.calls[0][2]).toEqual(output.params);
47
- } catch (error) {
48
- expect(error.message).toEqual(output.message);
49
- }
50
- });
51
- });
52
-
53
- identifyEvents.forEach((event) => {
54
- test(`Identify : ${event.description}`, () => {
55
- const { input, output } = event;
56
- try {
57
- ga4.identify(input);
58
- // verifying events
59
- expect(window.gtag.mock.calls[0][2]).toEqual(output.traits);
60
- expect(window.gtag.mock.calls[1][2]).toEqual(output.userId);
61
- } catch (error) {
62
- expect(error.message).toEqual(output.message);
63
- }
64
- });
65
- });
66
-
67
- pageEvents.forEach((event) => {
68
- test(`Page : ${event.description}`, () => {
69
- const { input, output } = event;
70
- try {
71
- ga4.page(input);
72
- // verifying events
73
- expect(window.gtag.mock.calls[0][1]).toEqual(output.event);
74
- expect(window.gtag.mock.calls[0][2]).toEqual(output.params);
75
- } catch (error) {
76
- expect(error.message).toEqual(output.message);
77
- }
78
- });
79
- });
80
-
81
- groupEvents.forEach((event) => {
82
- test(`Group : ${event.description}`, () => {
83
- const { input, output } = event;
84
- try {
85
- ga4.group(input);
86
- // verifying events
87
- expect(window.gtag.mock.calls[0][1]).toEqual(output.event);
88
- expect(window.gtag.mock.calls[0][2]).toEqual(output.params);
89
- } catch (error) {
90
- expect(error.message).toEqual(output.message);
91
- }
92
- });
93
- });
94
- });
@@ -1,337 +0,0 @@
1
- import {
2
- getItem,
3
- getItemList,
4
- getItemsArray,
5
- extractLastKey,
6
- shouldSendUserId,
7
- getExclusionFields,
8
- removeInvalidParams,
9
- isReservedEventName,
10
- getCustomParameters,
11
- formatAndValidateEventName,
12
- } from '../../../src/integrations/GA4/utils';
13
-
14
- import {
15
- mapping,
16
- expectedItemsArray,
17
- inputProductsArray,
18
- outputProductsArray,
19
- } from './__mocks__/data';
20
-
21
- import {
22
- eventsConfig,
23
- itemsArrayParams,
24
- customParametersExclusion,
25
- } from '../../../src/integrations/GA4/config';
26
-
27
- describe('Google Analytics 4 utilities tests', () => {
28
- describe('sendUserIdToGA4 function tests', () => {
29
- test('Default integrationsObj', () => {
30
- const sendUserIdToGA4 = shouldSendUserId({ All: true });
31
- expect(sendUserIdToGA4).toEqual(true);
32
- });
33
-
34
- test('IntegrationsObj with GA4 and without sendUserId property', () => {
35
- const sendUserIdToGA4 = shouldSendUserId({ All: true, GA4: { sessionId: '1782034567' } });
36
- expect(sendUserIdToGA4).toEqual(true);
37
- });
38
-
39
- test('IntegrationsObj with GA4 and sendUserId set to true', () => {
40
- const sendUserIdToGA4 = shouldSendUserId({
41
- All: true,
42
- GA4: { sessionId: '1782034567', sendUserId: true },
43
- });
44
- expect(sendUserIdToGA4).toEqual(true);
45
- });
46
-
47
- test('IntegrationsObj with GA4 and sendUserId set to false', () => {
48
- const sendUserIdToGA4 = shouldSendUserId({
49
- All: true,
50
- GA4: { sessionId: '1782034567', sendUserId: false },
51
- });
52
- expect(sendUserIdToGA4).toEqual(false);
53
- });
54
- });
55
-
56
- describe('isReservedEventName function tests', () => {
57
- test('Standard Google Analytics 4 event name', () => {
58
- const isReserved = isReservedEventName('Products Searched');
59
- expect(isReserved).toEqual(false);
60
- });
61
-
62
- test('Custom Google Analytics 4 event name', () => {
63
- const isReserved = isReservedEventName('Product page visit');
64
- expect(isReserved).toEqual(false);
65
- });
66
-
67
- test('Reserved Google Analytics 4 event name', () => {
68
- const isReserved = isReservedEventName('app_remove');
69
- expect(isReserved).toEqual(true);
70
- });
71
- });
72
-
73
- describe('extractLastKey function tests', () => {
74
- test('Should extract last key from a string with dot', () => {
75
- const lastKey = extractLastKey('properties.product_id');
76
- expect(lastKey).toEqual('product_id');
77
- });
78
-
79
- test('Should return the input string when there is no dot', () => {
80
- const lastKey = extractLastKey('currency');
81
- expect(lastKey).toEqual('currency');
82
- });
83
- });
84
-
85
- describe('formatAndValidateEventName function tests', () => {
86
- test('Valid event name with spaces', () => {
87
- // Test a valid event name with spaces
88
- const eventName = 'product searched';
89
- const result = formatAndValidateEventName(eventName);
90
- // Expect the result to be the formatted event name with spaces replaced by underscores
91
- expect(result).toEqual('product_searched');
92
- });
93
-
94
- test('Empty event name', () => {
95
- // Test an empty event name
96
- const eventName = '';
97
- const result = formatAndValidateEventName(eventName);
98
- // Expect the result to be null
99
- expect(result).toBeNull();
100
- });
101
-
102
- test('Reserved event name', () => {
103
- // Test a reserved event name
104
- const eventName = 'click';
105
- const result = formatAndValidateEventName(eventName);
106
- // Expect the result to be null
107
- expect(result).toBeNull();
108
- });
109
- });
110
-
111
- describe('getCustomParameters function tests', () => {
112
- test('Return an empty object when message is empty', () => {
113
- const message = {};
114
- const keys = [];
115
- const exclusionFields = [];
116
- const result = getCustomParameters(message, keys, exclusionFields);
117
- expect(result).toEqual({});
118
- });
119
-
120
- test('Extract custom fields and flatten JSON', () => {
121
- const message = {
122
- properties: {
123
- product_id: '12345',
124
- price: 99.99,
125
- category: 'electronics',
126
- },
127
- user: {
128
- id: 'user123',
129
- name: 'John Doe',
130
- },
131
- };
132
- const keys = ['properties', 'user'];
133
- const exclusionFields = [];
134
- const result = getCustomParameters(message, keys, exclusionFields);
135
- expect(result).toEqual({
136
- product_id: '12345',
137
- price: 99.99,
138
- category: 'electronics',
139
- id: 'user123',
140
- name: 'John Doe',
141
- });
142
- });
143
-
144
- test('Exclude specified fields from extraction', () => {
145
- const message = {
146
- properties: {
147
- product_id: '12345',
148
- price: 99.99,
149
- category: 'electronics',
150
- },
151
- user: {
152
- id: 'user123',
153
- name: 'John Doe',
154
- },
155
- };
156
- const keys = ['properties', 'user'];
157
- const exclusionFields = ['price', 'name'];
158
- const result = getCustomParameters(message, keys, exclusionFields);
159
- expect(result).toEqual({
160
- product_id: '12345',
161
- category: 'electronics',
162
- id: 'user123',
163
- });
164
- });
165
-
166
- test('Handle root level extraction when keys parameter is "root"', () => {
167
- const message = {
168
- event: 'click',
169
- timestamp: 1625102800000,
170
- user: {
171
- id: 'user123',
172
- name: 'John Doe',
173
- },
174
- };
175
- const keys = 'root';
176
- const exclusionFields = [];
177
- const result = getCustomParameters(message, keys, exclusionFields);
178
- expect(result).toEqual({
179
- event: 'click',
180
- timestamp: 1625102800000,
181
- user_id: 'user123',
182
- user_name: 'John Doe',
183
- });
184
- });
185
- });
186
-
187
- describe('getExclusionFields function tests', () => {
188
- test('Return exclusion fields for mapping with string source keys', () => {
189
- const event = 'purchase';
190
- const exclusionFields = getExclusionFields(false, mapping, event);
191
- expect(exclusionFields).toEqual(['product_id', 'price', 'products']);
192
- });
193
-
194
- test('Include customParametersExclusion when mapRootLevelPropertiesToGA4ItemsArray is true and event supports root level products', () => {
195
- const event = 'select_item';
196
- const exclusionFields = getExclusionFields(true, mapping, event);
197
- const expectedExclusionFields = [
198
- 'product_id',
199
- 'price',
200
- 'products',
201
- ...customParametersExclusion,
202
- ];
203
- expect(exclusionFields).toEqual(expectedExclusionFields);
204
- });
205
-
206
- test('Exclude "products" for events supporting root level products, regardless of mapping or mapRootLevelPropertiesToGA4ItemsArray value', () => {
207
- const event = 'purchase';
208
- const exclusionFields1 = getExclusionFields(false, mapping, event);
209
- const exclusionFields2 = getExclusionFields(true, mapping, event);
210
- expect(exclusionFields1).toContain('products');
211
- expect(exclusionFields2).toContain('products');
212
- });
213
- });
214
-
215
- describe('getItemList function tests', () => {
216
- test('Return an empty array if message properties.products is undefined', () => {
217
- const message = { properties: {} };
218
- const items = getItemList(message);
219
- expect(items).toEqual([]);
220
- });
221
-
222
- test('Return an empty array if message properties.products is an empty array', () => {
223
- const message = { properties: { products: [] } };
224
- const items = getItemList(message);
225
- expect(items).toEqual([]);
226
- });
227
-
228
- test('Construct payload and return an array of items', () => {
229
- const message = {
230
- properties: {
231
- products: inputProductsArray,
232
- },
233
- };
234
- const items = getItemList(message, itemsArrayParams);
235
- expect(items).toEqual(outputProductsArray);
236
- });
237
-
238
- test('Products is an object and return an array of items', () => {
239
- const message = {
240
- properties: {
241
- products: inputProductsArray[0],
242
- },
243
- };
244
- const items = getItemList(message, itemsArrayParams);
245
- expect(items).toEqual([outputProductsArray[0]]);
246
- });
247
- });
248
-
249
- describe('getItem function tests', () => {
250
- test('Return an empty array if properties is undefined', () => {
251
- const message = {};
252
- const item = getItem(message);
253
- expect(item).toEqual([]);
254
- });
255
-
256
- test('Return an empty array if properties is an empty object', () => {
257
- const message = {
258
- properties: {},
259
- };
260
- const item = getItem(message);
261
- expect(item).toEqual([]);
262
- });
263
-
264
- test('Return an array with a single item if properties is not empty', () => {
265
- const message = {
266
- properties: inputProductsArray[0],
267
- };
268
-
269
- const item = getItem(message);
270
- expect(item).toEqual([expectedItemsArray[0]]);
271
- });
272
-
273
- test('Return an empty array if the constructed item is an empty object', () => {
274
- const message = {
275
- properties: {
276
- invalidField: null,
277
- },
278
- };
279
- const item = getItem(message);
280
- expect(item).toEqual([]);
281
- });
282
- });
283
-
284
- describe('getItemsArray function tests', () => {
285
- test('Returns items array and mapRootLevelPropertiesToGA4ItemsArray as false when product parameter is supported', () => {
286
- const message = {
287
- properties: {
288
- products: inputProductsArray,
289
- },
290
- };
291
- const config = eventsConfig.PRODUCT_ADDED;
292
-
293
- const itemsArray = getItemsArray(message, config);
294
- expect(itemsArray).toEqual({
295
- items: outputProductsArray,
296
- mapRootLevelPropertiesToGA4ItemsArray: false,
297
- });
298
- });
299
-
300
- test('Returns items array and mapRootLevelPropertiesToGA4ItemsArray as true when product parameter is not supported', () => {
301
- const message = {
302
- properties: inputProductsArray[1],
303
- };
304
- const config = eventsConfig.PRODUCTS_CLICKED;
305
-
306
- const itemsArray = getItemsArray(message, config);
307
- expect(itemsArray).toEqual({
308
- items: [expectedItemsArray[1]],
309
- mapRootLevelPropertiesToGA4ItemsArray: true,
310
- });
311
- });
312
- });
313
-
314
- describe('removeInvalidValues function tests', () => {
315
- it('Should remove empty values except for "items"', () => {
316
- const params = {
317
- name: 'John',
318
- age: 30,
319
- email: '',
320
- city: null,
321
- items: [],
322
- address: {},
323
- phone: '123456789',
324
- };
325
-
326
- const expected = {
327
- name: 'John',
328
- items: [],
329
- age: 30,
330
- phone: '123456789',
331
- };
332
-
333
- const result = removeInvalidParams(params);
334
- expect(result).toEqual(expected);
335
- });
336
- });
337
- });
@@ -1,235 +0,0 @@
1
- const productAdded = 'Product Added';
2
- const orderCompleted = 'Order Completed';
3
- const mockConversionId = 'AW-11071053757';
4
- const mockOrderId = '771c04b-2cb8-41dd-9609-330b37bcc62c';
5
-
6
- const products = [
7
- {
8
- product_id: 'abc',
9
- category: 'Merch',
10
- name: 'Food/Drink',
11
- brand: '',
12
- variant: 'Extra topped',
13
- price: 3.0,
14
- quantity: 2,
15
- currency: 'GBP',
16
- typeOfProduct: 'Food',
17
- },
18
- ];
19
-
20
- const mockEvents = [
21
- { eventName: 'Product Viewed' },
22
- { eventName: orderCompleted },
23
- { eventName: 'Sign Up' },
24
- { eventName: 'Lead' },
25
- ];
26
-
27
- const mockEventTypeConversions = [
28
- { conversionLabel: '15klCKLCs4gYETIBi58p', name: 'Sign Up' },
29
- { conversionLabel: '9Hr5CKXCs4gYETIBi58p', name: 'Page View' },
30
- { conversionLabel: 'TCBjCKjCs4gYETIBi58p', name: orderCompleted },
31
- { conversionLabel: 'KhF2CKvCs4gYETIBi58p', name: productAdded },
32
- ];
33
-
34
- const googleAdsConfigs = [
35
- {
36
- conversionID: mockConversionId,
37
- conversionLinker: true,
38
- defaultPageConversion: '9Hr5CKXCs4gYEIXBi58p',
39
- disableAdPersonalization: false,
40
- eventFilteringOption: 'disable',
41
- sendPageView: true,
42
- dynamicRemarketing: false,
43
- eventMappingFromConfig: [
44
- { from: 'Sign Up', to: 'Signup' },
45
- { to: 'Lead', from: orderCompleted },
46
- { from: 'Page View', to: 'PageVisit' },
47
- { from: productAdded, to: 'AddToCart' },
48
- ],
49
- clickEventConversions: [
50
- { conversionLabel: '15klCKLCs4gYEIXBi58p', name: 'Sign Up' },
51
- { conversionLabel: '9Hr5CKXCs4gYEIXBi58p', name: 'Page View' },
52
- { conversionLabel: 'TCBjCKjCs4gYEIXBi58p', name: orderCompleted },
53
- { conversionLabel: 'KhF2CKvCs4gYEIXBi58p', name: productAdded },
54
- ],
55
- },
56
- {
57
- conversionID: mockConversionId,
58
- conversionLinker: true,
59
- defaultPageConversion: '9Hr5CKXCs4gYEIXBi58p',
60
- disableAdPersonalization: false,
61
- eventFilteringOption: 'disable',
62
- sendPageView: true,
63
- dynamicRemarketing: true,
64
- eventMappingFromConfig: [
65
- { from: 'Sign Up', to: 'Signup' },
66
- { to: 'Lead', from: orderCompleted },
67
- { from: 'Page View', to: 'PageVisit' },
68
- { from: productAdded, to: 'AddToCart' },
69
- ],
70
- clickEventConversions: [
71
- { conversionLabel: '15klCKLCs4gYEIXBi58p', name: 'Sign Up' },
72
- { conversionLabel: '9Hr5CKXCs4gYEIXBi58p', name: 'Page View' },
73
- { conversionLabel: 'TCBjCKjCs4gYEIXBi58p', name: orderCompleted },
74
- { conversionLabel: 'KhF2CKvCs4gYEIXBi58p', name: productAdded },
75
- ],
76
- },
77
- {
78
- conversionID: mockConversionId,
79
- conversionLinker: true,
80
- defaultPageConversion: '9Hr5CKXCs4gYEIXBi58p',
81
- disableAdPersonalization: false,
82
- eventFilteringOption: 'disable',
83
- sendPageView: true,
84
- trackConversions: true,
85
- trackDynamicRemarketing: true,
86
- enableConversionEventsFiltering: false,
87
- enableDynamicRemarketingEventsFiltering: false,
88
- eventsToTrackConversions: [{ eventName: productAdded }],
89
- eventsToTrackDynamicRemarketing: [{ eventName: 'Product Added To The List' }],
90
- eventMappingFromConfig: [
91
- { from: 'Sign Up', to: 'Signup' },
92
- { to: 'Lead', from: orderCompleted },
93
- { from: 'Page View', to: 'PageVisit' },
94
- { from: productAdded, to: 'AddToCart' },
95
- ],
96
- clickEventConversions: [
97
- { conversionLabel: '15klCKLCs4gYEIXBi58p', name: 'Sign Up' },
98
- { conversionLabel: '9Hr5CKXCs4gYEIXBi58p', name: 'Page View' },
99
- { conversionLabel: 'TCBjCKjCs4gYEIXBi58p', name: orderCompleted },
100
- { conversionLabel: 'KhF2CKvCs4gYEIXBi58p', name: productAdded },
101
- ],
102
- },
103
- {
104
- conversionID: mockConversionId,
105
- conversionLinker: true,
106
- defaultPageConversion: '9Hr5CKXCs4gYEIXBi58p',
107
- disableAdPersonalization: false,
108
- eventFilteringOption: 'disable',
109
- sendPageView: true,
110
- trackConversions: true,
111
- trackDynamicRemarketing: false,
112
- enableConversionEventsFiltering: false,
113
- enableDynamicRemarketingEventsFiltering: false,
114
- eventsToTrackConversions: [{ eventName: productAdded }],
115
- eventsToTrackDynamicRemarketing: [{ eventName: 'Product Added To The List' }],
116
- eventMappingFromConfig: [
117
- { from: 'Sign Up', to: 'Signup' },
118
- { to: 'Lead', from: orderCompleted },
119
- { from: 'Page View', to: 'PageVisit' },
120
- { from: productAdded, to: 'AddToCart' },
121
- ],
122
- clickEventConversions: [
123
- { conversionLabel: '15klCKLCs4gYEIXBi58p', name: 'Sign Up' },
124
- { conversionLabel: '9Hr5CKXCs4gYEIXBi58p', name: 'Page View' },
125
- { conversionLabel: 'TCBjCKjCs4gYEIXBi58p', name: orderCompleted },
126
- { conversionLabel: 'KhF2CKvCs4gYEIXBi58p', name: productAdded },
127
- ],
128
- },
129
- {
130
- conversionID: mockConversionId,
131
- conversionLinker: true,
132
- defaultPageConversion: '9Hr5CKXCs4gYEIXBi58p',
133
- disableAdPersonalization: false,
134
- eventFilteringOption: 'disable',
135
- sendPageView: true,
136
- trackConversions: false,
137
- trackDynamicRemarketing: true,
138
- enableConversionEventsFiltering: false,
139
- enableDynamicRemarketingEventsFiltering: false,
140
- eventsToTrackConversions: [{ eventName: productAdded }],
141
- eventsToTrackDynamicRemarketing: [{ eventName: 'Product Added To The List' }],
142
- eventMappingFromConfig: [
143
- { from: 'Sign Up', to: 'Signup' },
144
- { to: 'Lead', from: orderCompleted },
145
- { from: 'Page View', to: 'PageVisit' },
146
- { from: productAdded, to: 'AddToCart' },
147
- ],
148
- clickEventConversions: [
149
- { conversionLabel: '15klCKLCs4gYEIXBi58p', name: 'Sign Up' },
150
- { conversionLabel: '9Hr5CKXCs4gYEIXBi58p', name: 'Page View' },
151
- { conversionLabel: 'TCBjCKjCs4gYEIXBi58p', name: orderCompleted },
152
- { conversionLabel: 'KhF2CKvCs4gYEIXBi58p', name: productAdded },
153
- ],
154
- },
155
- {
156
- conversionID: mockConversionId,
157
- conversionLinker: true,
158
- defaultPageConversion: '9Hr5CKXCs4gYEIXBi58p',
159
- disableAdPersonalization: false,
160
- eventFilteringOption: 'disable',
161
- sendPageView: true,
162
- trackConversions: true,
163
- trackDynamicRemarketing: true,
164
- enableConversionEventsFiltering: true,
165
- enableDynamicRemarketingEventsFiltering: true,
166
- eventsToTrackConversions: [{ eventName: orderCompleted }],
167
- eventsToTrackDynamicRemarketing: [{ eventName: 'Product Added To The List' }],
168
- eventMappingFromConfig: [
169
- { from: 'Sign Up', to: 'Signup' },
170
- { to: 'Lead', from: orderCompleted },
171
- { from: 'Page View', to: 'PageVisit' },
172
- { from: productAdded, to: 'AddToCart' },
173
- ],
174
- clickEventConversions: [
175
- { conversionLabel: '15klCKLCs4gYEIXBi58p', name: 'Sign Up' },
176
- { conversionLabel: '9Hr5CKXCs4gYEIXBi58p', name: 'Page View' },
177
- { conversionLabel: 'TCBjCKjCs4gYEIXBi58p', name: orderCompleted },
178
- { conversionLabel: 'KhF2CKvCs4gYEIXBi58p', name: productAdded },
179
- ],
180
- },
181
- {
182
- conversionID: mockConversionId,
183
- conversionLinker: true,
184
- defaultPageConversion: '9Hr5CKXCs4gYEIXBi58p',
185
- disableAdPersonalization: false,
186
- eventFilteringOption: 'disable',
187
- sendPageView: true,
188
- dynamicRemarketing: false,
189
- trackConversions: true,
190
- trackDynamicRemarketing: true,
191
- enableConversionEventsFiltering: true,
192
- enableDynamicRemarketingEventsFiltering: true,
193
- eventsToTrackConversions: [{ eventName: orderCompleted }],
194
- eventsToTrackDynamicRemarketing: [{ eventName: 'Product Added To The List' }],
195
- eventMappingFromConfig: [
196
- { from: 'Sign Up', to: 'Signup' },
197
- { to: 'Lead', from: orderCompleted },
198
- { from: 'Page View', to: 'PageVisit' },
199
- { from: productAdded, to: 'AddToCart' },
200
- ],
201
- clickEventConversions: [
202
- { conversionLabel: '15klCKLCs4gYEIXBi58p', name: 'Sign Up' },
203
- { conversionLabel: '9Hr5CKXCs4gYEIXBi58p', name: 'Page View' },
204
- { conversionLabel: 'TCBjCKjCs4gYEIXBi58p', name: orderCompleted },
205
- { conversionLabel: 'KhF2CKvCs4gYEIXBi58p', name: productAdded },
206
- ],
207
- },
208
- ];
209
-
210
- const trackCallPayload = {
211
- message: {
212
- context: {},
213
- event: orderCompleted,
214
- properties: {
215
- event_id: 'purchaseId',
216
- order_id: mockOrderId,
217
- value: 35.0,
218
- shipping: 4.0,
219
- currency: 'IND',
220
- products,
221
- },
222
- },
223
- };
224
-
225
- export {
226
- products,
227
- mockEvents,
228
- mockOrderId,
229
- productAdded,
230
- orderCompleted,
231
- googleAdsConfigs,
232
- trackCallPayload,
233
- mockConversionId,
234
- mockEventTypeConversions,
235
- };