castled-js-sdk 0.0.3 → 0.0.5

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,101 +0,0 @@
1
- /* eslint-disable camelcase */
2
- const EXCLUSION_KEYS = [
3
- 'event',
4
- 'category',
5
- 'category_id',
6
- 'currency',
7
- 'total',
8
- 'value',
9
- 'revenue',
10
- 'ecomm_category',
11
- 'transaction_id',
12
- 'order_id',
13
- 'checkout_id',
14
- 'ecomm_pagetype',
15
- 'pagetype',
16
- 'query',
17
- 'products',
18
- 'product_id',
19
- 'sku',
20
- 'event_action',
21
- 'items',
22
- ];
23
-
24
- const DEFAULT_PAGETYPE = 'other';
25
-
26
- const buildCommonPayload = (message) => {
27
- const { event, properties = {} } = message;
28
- const { category, currency, total, value, revenue } = properties;
29
- const payload = {
30
- event_label: event,
31
- event_category: category,
32
- currency,
33
- revenue_value: total || value || revenue,
34
- };
35
- return payload;
36
- };
37
-
38
- const handleProductsArray = (properties) => {
39
- const productIds = [];
40
- const items = [];
41
-
42
- const products = Array.isArray(properties.products) ? properties.products : [properties];
43
-
44
- products.forEach((product) => {
45
- const { product_id, sku, price, quantity = 1 } = product;
46
- const productId = product_id || sku;
47
-
48
- if (productId) {
49
- productIds.push(productId);
50
- const item = { id: productId, quantity };
51
- if (price && !Number.isNaN(price)) {
52
- item.price = price;
53
- }
54
- items.push(item);
55
- }
56
- });
57
-
58
- const payload = {};
59
- if (items.length > 0) {
60
- payload.ecomm_prodid = productIds;
61
- payload.items = items;
62
- }
63
-
64
- return payload;
65
- };
66
-
67
- const buildEcommPayload = (message) => {
68
- const { properties = {} } = message;
69
- const {
70
- category_id,
71
- total,
72
- value,
73
- ecomm_category,
74
- transaction_id,
75
- order_id,
76
- checkout_id,
77
- ecomm_pagetype,
78
- pagetype,
79
- query,
80
- } = properties;
81
-
82
- const ecommPayload = {
83
- ecomm_totalvalue: total || value,
84
- search_term: query,
85
- ecomm_query: query,
86
- ecomm_category: ecomm_category || category_id,
87
- transaction_id: transaction_id || order_id || checkout_id,
88
- ecomm_pagetype: ecomm_pagetype || pagetype || DEFAULT_PAGETYPE,
89
- };
90
- const payload = handleProductsArray(properties);
91
-
92
- return { ...ecommPayload, ...payload };
93
- };
94
-
95
- export {
96
- buildCommonPayload,
97
- buildEcommPayload,
98
- handleProductsArray,
99
- EXCLUSION_KEYS,
100
- DEFAULT_PAGETYPE,
101
- };
@@ -1,284 +0,0 @@
1
- import isEqual from 'lodash.isequal';
2
- import * as R from 'ramda';
3
- import Logger from '../../utils/logger';
4
- import { NAME } from './constants';
5
- import Storage from '../../utils/storage/index';
6
- import { isObject } from '../../utils/utils';
7
- import { handlePurchase, formatGender, handleReservedProperties } from './utils';
8
- import { loadNativeSdk } from './nativeSdkLoader';
9
-
10
- const logger = new Logger(NAME);
11
-
12
- /*
13
- E-commerce support required for logPurchase support & other e-commerce events as track with productId changed
14
- */
15
- class Braze {
16
- constructor(config, analytics, destinationInfo) {
17
- if (analytics.logLevel) {
18
- logger.setLogLevel(analytics.logLevel);
19
- }
20
- this.analytics = analytics;
21
- this.appKey = config.appKey;
22
- this.trackAnonymousUser = config.trackAnonymousUser;
23
- this.enableBrazeLogging = config.enableBrazeLogging || false;
24
- this.enableHtmlInAppMessages = config.enableHtmlInAppMessages || false;
25
- this.allowUserSuppliedJavascript = config.allowUserSuppliedJavascript || false;
26
- if (!config.appKey) this.appKey = '';
27
- this.endPoint = '';
28
- if (config.dataCenter) {
29
- // ref: https://www.braze.com/docs/user_guide/administrative/access_braze/braze_instances
30
- const dataCenterArr = config.dataCenter.trim().split('-');
31
- if (dataCenterArr[0].toLowerCase() === 'eu') {
32
- this.endPoint = `sdk.fra-${dataCenterArr[1]}.braze.eu`;
33
- } else {
34
- this.endPoint = `sdk.iad-${dataCenterArr[1]}.braze.com`;
35
- }
36
- }
37
-
38
- this.name = NAME;
39
- this.supportDedup = config.supportDedup || false;
40
- ({
41
- shouldApplyDeviceModeTransformation: this.shouldApplyDeviceModeTransformation,
42
- propagateEventsUntransformedOnError: this.propagateEventsUntransformedOnError,
43
- destinationId: this.destinationId,
44
- } = destinationInfo ?? {});
45
-
46
- logger.debug('Config ', config);
47
- }
48
-
49
- init() {
50
- logger.debug('===in init Braze===');
51
- loadNativeSdk();
52
- window.braze.initialize(this.appKey, {
53
- enableLogging: this.enableBrazeLogging,
54
- baseUrl: this.endPoint,
55
- enableHtmlInAppMessages: this.enableHtmlInAppMessages,
56
- allowUserSuppliedJavascript: this.allowUserSuppliedJavascript,
57
- });
58
- window.braze.automaticallyShowInAppMessages();
59
-
60
- const { userId } = this.analytics;
61
- // send userId if you have it https://js.appboycdn.com/web-sdk/latest/doc/module-appboy.html#.changeUser
62
- if (userId) {
63
- window.braze.changeUser(userId);
64
- }
65
- window.braze.openSession();
66
- }
67
-
68
- /**
69
- * As each users will have unique session, So if the supportDedup is enabled from config,
70
- * then we are comparing from the previous payload and tried to reduce the redundant data.
71
- * If supportDedup is enabled,
72
- * Examples:
73
- * - If userId is different from previous call, then it will make new call and store the payload.
74
- * - It will deeply check all other attributes and pass the unique or changed fields.
75
- * 1st- payload 2nd- payload
76
- * hightouchevents.identify("rudderUserId100", { hightouchevents.identify("rudderUserId100", {
77
- * name: "Rudder Keener", name: "Rudder Keener",
78
- * email: "rudder100@example.com", email: "rudder100@example.com",
79
- * primaryEmail: "test350@email.com", primaryEmail: "test350@email.com",
80
- * country: "USA", country: "USA",
81
- * subscription: "youtube-prime-6", subscription: "youtube-prime-6",
82
- * channelName: ["b", "d", "e", "f"], channelName: ["b", "d", "e", "f"],
83
- * gender: "male", gender: "male",
84
- * facebook: "https://www.facebook.com/rudder.123", facebook: "https://www.facebook.com/rudder.345",
85
- * birthday: new Date("2000-10-23"), birthday: new Date("2000-10-24"),
86
- * firstname: "Rudder", firstname: "Rudder",
87
- * lastname: "Keener", lastname: "Usertest",
88
- * phone: "9112345631", phone: "9112345631",
89
- * key1: "value4", key1: "value5",
90
- * address: { address: {
91
- * city: "Manali", city: "Shimla",
92
- * country: "India", country: "India",
93
- * }, },
94
- * }); });
95
- * As both payload have same userId so it will deeply check all other attributes and pass the unique fields
96
- * or the updated fields.
97
- * @param {*} htElement
98
- */
99
-
100
- // eslint-disable-next-line sonarjs/cognitive-complexity
101
- identify(htElement) {
102
- logger.debug('in Braze identify');
103
- const { message } = htElement;
104
- const { userId } = message;
105
- const { context } = message;
106
- const email = context?.traits?.email;
107
- const firstName = context?.traits?.firstName || context?.traits?.firstname;
108
- const lastName = context?.traits?.lastName || context?.traits?.lastname;
109
- const gender = context?.traits?.gender;
110
- const phone = context?.traits?.phone;
111
- const address = context?.traits?.address;
112
- const birthday = context?.traits?.birthday || context?.traits?.dob;
113
- const reserved = [
114
- 'address',
115
- 'birthday',
116
- 'email',
117
- 'id',
118
- 'firstname',
119
- 'firstName',
120
- 'gender',
121
- 'lastname',
122
- 'lastName',
123
- 'phone',
124
- 'dob',
125
- 'birthday',
126
- 'external_id',
127
- 'country',
128
- 'home_city',
129
- 'email_subscribe',
130
- 'push_subscribe',
131
- ];
132
- // function set Address
133
- function setAddress() {
134
- window.braze.getUser().setCountry(address?.country);
135
- window.braze.getUser().setHomeCity(address?.city);
136
- }
137
- // function set Birthday
138
- function setBirthday() {
139
- try {
140
- const date = new Date(birthday);
141
- if (date.toString() === 'Invalid Date') {
142
- logger.error('Invalid Date for birthday');
143
- return;
144
- }
145
- window.braze
146
- .getUser()
147
- .setDateOfBirth(date.getUTCFullYear(), date.getUTCMonth() + 1, date.getUTCDate());
148
- } catch (error) {
149
- logger.error('Error in setting birthday', error);
150
- }
151
- }
152
- // function set Email
153
- function setEmail() {
154
- window.braze.getUser().setEmail(email);
155
- }
156
- // function set firstName
157
- function setFirstName() {
158
- window.braze.getUser().setFirstName(firstName);
159
- }
160
- // function set gender
161
- function setGender(genderName) {
162
- window.braze.getUser().setGender(genderName);
163
- }
164
- // function set lastName
165
- function setLastName() {
166
- window.braze.getUser().setLastName(lastName);
167
- }
168
- function setPhone() {
169
- window.braze.getUser().setPhoneNumber(phone);
170
- }
171
-
172
- // eslint-disable-next-line unicorn/consistent-destructuring
173
- const traits = message?.context?.traits;
174
-
175
- const previousPayload = Storage.getItem('rs_braze_dedup_attributes') || {};
176
- if (this.supportDedup && !R.isEmpty(previousPayload) && userId === previousPayload?.userId) {
177
- const prevTraits = previousPayload?.context?.traits;
178
- const prevAddress = prevTraits?.address;
179
- const prevBirthday = prevTraits?.birthday || prevTraits?.dob;
180
- const prevEmail = prevTraits?.email;
181
- const prevFirstname = prevTraits?.firstname || prevTraits?.firstName;
182
- const prevGender = prevTraits?.gender;
183
- const prevLastname = prevTraits?.lastname || prevTraits?.lastName;
184
- const prevPhone = prevTraits?.phone;
185
-
186
- if (email && email !== prevEmail) setEmail();
187
- if (phone && phone !== prevPhone) setPhone();
188
- if (birthday && !isEqual(birthday, prevBirthday)) setBirthday();
189
- if (firstName && firstName !== prevFirstname) setFirstName();
190
- if (lastName && lastName !== prevLastname) setLastName();
191
- if (gender && formatGender(gender) !== formatGender(prevGender))
192
- setGender(formatGender(gender));
193
- if (address && !isEqual(address, prevAddress)) setAddress();
194
- if (isObject(traits)) {
195
- Object.keys(traits)
196
- .filter((key) => reserved.indexOf(key) === -1)
197
- .forEach((key) => {
198
- if (!prevTraits[key] || !isEqual(prevTraits[key], traits[key])) {
199
- window.braze.getUser().setCustomUserAttribute(key, traits[key]);
200
- }
201
- });
202
- }
203
- } else {
204
- window.braze.changeUser(userId);
205
- // method removed from v4 https://www.braze.com/docs/api/objects_filters/user_attributes_object#braze-user-profile-fields
206
- // window.braze.getUser().setAvatarImageUrl(avatar);
207
- if (email) setEmail();
208
- if (firstName) setFirstName();
209
- if (lastName) setLastName();
210
- if (gender) setGender(formatGender(gender));
211
- if (phone) setPhone();
212
- if (address) setAddress();
213
- if (birthday) setBirthday();
214
- if (isObject(traits)) {
215
- Object.keys(traits)
216
- .filter((key) => reserved.indexOf(key) === -1)
217
- .forEach((key) => {
218
- window.braze.getUser().setCustomUserAttribute(key, traits[key]);
219
- });
220
- }
221
- }
222
- if (
223
- this.supportDedup &&
224
- isObject(previousPayload) &&
225
- !R.isEmpty(previousPayload) &&
226
- userId === previousPayload?.userId
227
- ) {
228
- Storage.setItem('rs_braze_dedup_attributes', { ...previousPayload, ...message });
229
- } else if (this.supportDedup) {
230
- Storage.setItem('rs_braze_dedup_attributes', message);
231
- }
232
- }
233
-
234
- track(htElement) {
235
- const { userId } = htElement.message;
236
- const eventName = htElement.message.event;
237
- let { properties } = htElement.message;
238
- const { anonymousId } = htElement.message;
239
- let canSendCustomEvent = false;
240
- if (userId) {
241
- window.braze.changeUser(userId);
242
- canSendCustomEvent = true;
243
- } else if (this.trackAnonymousUser) {
244
- window.braze.changeUser(anonymousId);
245
- canSendCustomEvent = true;
246
- }
247
- if (eventName && canSendCustomEvent) {
248
- if (eventName.toLowerCase() === 'order completed') {
249
- handlePurchase(properties, userId);
250
- } else {
251
- properties = handleReservedProperties(properties);
252
- window.braze.logCustomEvent(eventName, properties);
253
- }
254
- }
255
- }
256
-
257
- page(htElement) {
258
- const { userId } = htElement.message;
259
- const eventName = htElement.message.name;
260
- let { properties } = htElement.message;
261
- const { anonymousId } = htElement.message;
262
- if (userId) {
263
- window.braze.changeUser(userId);
264
- } else if (this.trackAnonymousUser) {
265
- window.braze.changeUser(anonymousId);
266
- }
267
- properties = handleReservedProperties(properties);
268
- if (eventName) {
269
- window.braze.logCustomEvent(eventName, properties);
270
- } else {
271
- window.braze.logCustomEvent('Page View', properties);
272
- }
273
- }
274
-
275
- isLoaded() {
276
- return this.appKey && window.brazeQueue === null;
277
- }
278
-
279
- isReady() {
280
- return this.appKey && window.brazeQueue === null;
281
- }
282
- }
283
-
284
- export { Braze };
@@ -1,11 +0,0 @@
1
- const NAME = 'BRAZE';
2
- const CNameMapping = {
3
- [NAME]: NAME,
4
- Braze: NAME,
5
- braze: NAME,
6
- };
7
-
8
- const BrazeOperationString =
9
- 'BrazeSdkMetadata DeviceProperties Card Card.prototype.dismissCard Card.prototype.removeAllSubscriptions Card.prototype.removeSubscription Card.prototype.subscribeToClickedEvent Card.prototype.subscribeToDismissedEvent Card.fromContentCardsJson Banner CaptionedImage ClassicCard ControlCard ContentCards ContentCards.prototype.getUnviewedCardCount Feed Feed.prototype.getUnreadCardCount ControlMessage InAppMessage InAppMessage.SlideFrom InAppMessage.ClickAction InAppMessage.DismissType InAppMessage.OpenTarget InAppMessage.ImageStyle InAppMessage.Orientation InAppMessage.TextAlignment InAppMessage.CropType InAppMessage.prototype.closeMessage InAppMessage.prototype.removeAllSubscriptions InAppMessage.prototype.removeSubscription InAppMessage.prototype.subscribeToClickedEvent InAppMessage.prototype.subscribeToDismissedEvent InAppMessage.fromJson FullScreenMessage ModalMessage HtmlMessage SlideUpMessage User User.Genders User.NotificationSubscriptionTypes User.prototype.addAlias User.prototype.addToCustomAttributeArray User.prototype.addToSubscriptionGroup User.prototype.getUserId User.prototype.incrementCustomUserAttribute User.prototype.removeFromCustomAttributeArray User.prototype.removeFromSubscriptionGroup User.prototype.setCountry User.prototype.setCustomLocationAttribute User.prototype.setCustomUserAttribute User.prototype.setDateOfBirth User.prototype.setEmail User.prototype.setEmailNotificationSubscriptionType User.prototype.setFirstName User.prototype.setGender User.prototype.setHomeCity User.prototype.setLanguage User.prototype.setLastKnownLocation User.prototype.setLastName User.prototype.setPhoneNumber User.prototype.setPushNotificationSubscriptionType InAppMessageButton InAppMessageButton.prototype.removeAllSubscriptions InAppMessageButton.prototype.removeSubscription InAppMessageButton.prototype.subscribeToClickedEvent automaticallyShowInAppMessages destroyFeed hideContentCards showContentCards showFeed showInAppMessage toggleContentCards toggleFeed changeUser destroy getDeviceId initialize isPushBlocked isPushPermissionGranted isPushSupported logCardClick logCardDismissal logCardImpressions logContentCardImpressions logContentCardsDisplayed logCustomEvent logFeedDisplayed logInAppMessageButtonClick logInAppMessageClick logInAppMessageHtmlClick logInAppMessageImpression logPurchase openSession requestPushPermission removeAllSubscriptions removeSubscription requestContentCardsRefresh requestFeedRefresh requestImmediateDataFlush enableSDK isDisabled setLogger setSdkAuthenticationSignature addSdkMetadata disableSDK subscribeToContentCardsUpdates subscribeToFeedUpdates subscribeToInAppMessage subscribeToSdkAuthenticationFailures toggleLogging unregisterPush wipeData handleBrazeAction';
10
-
11
- export { NAME, CNameMapping, BrazeOperationString };
@@ -1 +0,0 @@
1
- export { Braze } from './browser';
@@ -1,35 +0,0 @@
1
- import { LOAD_ORIGIN } from '../../utils/ScriptLoader';
2
- import { BrazeOperationString } from './constants';
3
-
4
- const loadNativeSdk = () => {
5
- // load braze
6
- +(function (a, p, P, b, y) {
7
- a.braze = {};
8
- a.brazeQueue = [];
9
- for (let s = BrazeOperationString.split(' '), i = 0; i < s.length; i++) {
10
- for (var m = s[i], k = a.braze, l = m.split('.'), j = 0; j < l.length - 1; j++) k = k[l[j]];
11
- k[l[j]] = new Function(
12
- `return function ${m.replace(
13
- /\./g,
14
- '_',
15
- )}(){window.brazeQueue.push(arguments); return true}`,
16
- )();
17
- }
18
- window.braze.getCachedContentCards = function () {
19
- return new window.braze.ContentCards();
20
- };
21
- window.braze.getCachedFeed = function () {
22
- return new window.braze.Feed();
23
- };
24
- window.braze.getUser = function () {
25
- return new window.braze.User();
26
- };
27
- (y = p.createElement(P)).type = 'text/javascript';
28
- y.src = 'https://js.appboycdn.com/web-sdk/4.2/braze.min.js';
29
- y.async = 1;
30
- y.setAttribute('data-loader', LOAD_ORIGIN);
31
- (b = p.getElementsByTagName(P)[0]).parentNode.insertBefore(y, b);
32
- })(window, document, 'script');
33
- };
34
-
35
- export { loadNativeSdk };
@@ -1,51 +0,0 @@
1
- import { del } from 'obj-case';
2
-
3
- /** https://js.appboycdn.com/web-sdk/latest/doc/ab.User.html#toc4
4
- */
5
- const formatGender = (gender) => {
6
- if (typeof gender !== 'string') return undefined;
7
- const femaleGenders = ['woman', 'female', 'w', 'f'];
8
- const maleGenders = ['man', 'male', 'm'];
9
- const otherGenders = ['other', 'o'];
10
-
11
- if (femaleGenders.indexOf(gender.toLowerCase()) > -1) return window.braze.User.Genders.FEMALE;
12
- if (maleGenders.includes(gender.toLowerCase()) > -1) return window.braze.User.Genders.MALE;
13
- if (otherGenders.includes(gender.toLowerCase()) > -1) return window.braze.User.Genders.OTHER;
14
- return undefined;
15
- };
16
-
17
- const handleReservedProperties = (props) => {
18
- // remove reserved keys from custom event properties
19
- // https://www.appboy.com/documentation/Platform_Wide/#reserved-keys
20
- const reserved = ['time', 'product_id', 'quantity', 'event_name', 'price', 'currency'];
21
-
22
- reserved.forEach((element) => {
23
- // eslint-disable-next-line no-param-reassign
24
- delete props[element];
25
- });
26
- return props;
27
- };
28
-
29
- const handlePurchase = (properties, userId) => {
30
- const { products, currency } = properties;
31
- const currencyCode = currency;
32
-
33
- window.braze.changeUser(userId);
34
-
35
- // del used properties
36
- del(properties, 'products');
37
- del(properties, 'currency');
38
-
39
- // we have to make a separate call to appboy for each product
40
- if (products && Array.isArray(products) && products.length > 0) {
41
- products.forEach((product) => {
42
- const productId = product.product_id;
43
- const { price } = product;
44
- const { quantity } = product;
45
- if (quantity && price && productId)
46
- window.braze.logPurchase(productId, price, currencyCode, quantity, properties);
47
- });
48
- }
49
- };
50
-
51
- export { formatGender, handleReservedProperties, handlePurchase };
@@ -1,60 +0,0 @@
1
- /* eslint-disable class-methods-use-this */
2
- import logger from '../../utils/logUtil';
3
- import ScriptLoader from '../../utils/ScriptLoader';
4
- import { NAME } from './constants';
5
-
6
- class Bugsnag {
7
- constructor(config, analytics, destinationInfo) {
8
- if (analytics.logLevel) {
9
- logger.setLogLevel(analytics.logLevel);
10
- }
11
- this.analytics = analytics;
12
- this.releaseStage = config.releaseStage;
13
- this.apiKey = config.apiKey;
14
- this.name = NAME;
15
- this.setIntervalHandler = undefined;
16
- ({
17
- shouldApplyDeviceModeTransformation: this.shouldApplyDeviceModeTransformation,
18
- propagateEventsUntransformedOnError: this.propagateEventsUntransformedOnError,
19
- destinationId: this.destinationId,
20
- } = destinationInfo ?? {});
21
- }
22
-
23
- init() {
24
- logger.debug('===in init Bugsnag===');
25
- ScriptLoader('bugsnag-id', 'https://d2wy8f7a9ursnm.cloudfront.net/v6/bugsnag.min.js');
26
-
27
- this.setIntervalHandler = setInterval(this.initBugsnagClient.bind(this), 1000);
28
- }
29
-
30
- initBugsnagClient() {
31
- if (window.bugsnag !== undefined) {
32
- window.bugsnagClient = window.bugsnag(this.apiKey);
33
- window.bugsnagClient.releaseStage = this.releaseStage;
34
- clearInterval(this.setIntervalHandler);
35
- }
36
- }
37
-
38
- isLoaded() {
39
- logger.debug('in bugsnag isLoaded');
40
- return !!window.bugsnagClient;
41
- }
42
-
43
- isReady() {
44
- logger.debug('in bugsnag isReady');
45
- return !!window.bugsnagClient;
46
- }
47
-
48
- identify(htElement) {
49
- const { traits } = htElement.message.context;
50
- const traitsFinal = {
51
- id: htElement.message.userId || htElement.message.anonymousId,
52
- name: traits.name,
53
- email: traits.email,
54
- };
55
-
56
- window.bugsnagClient.user = traitsFinal;
57
- window.bugsnagClient.notify(new Error('error in identify'));
58
- }
59
- }
60
- export { Bugsnag };
@@ -1,8 +0,0 @@
1
- const NAME = 'BUGSNAG';
2
- const CNameMapping = {
3
- [NAME]: NAME,
4
- bugsnag: NAME,
5
- Bugsnag: NAME,
6
- };
7
-
8
- export { NAME, CNameMapping };
@@ -1 +0,0 @@
1
- export { Bugsnag } from './browser';