@schibsted/pulse-sdk 8.0.0-alpha.16 → 8.0.0-alpha.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (398) hide show
  1. package/dist/cjs/EventBus/EventBus.js +146 -0
  2. package/dist/cjs/Tracker.js +2499 -0
  3. package/dist/cjs/Tracker.test-d.js +76 -0
  4. package/dist/cjs/app-integration.js +40 -0
  5. package/dist/cjs/builders/actor.js +60 -0
  6. package/dist/cjs/builders/consent-manager.js +134 -0
  7. package/dist/cjs/builders/consents.js +149 -0
  8. package/dist/cjs/builders/device-browser.js +89 -0
  9. package/dist/cjs/builders/device-node.js +63 -0
  10. package/dist/cjs/builders/device.js +23 -0
  11. package/dist/cjs/builders/events-anonymous-browser.js +6 -0
  12. package/dist/cjs/builders/events-anonymous-node.js +88 -0
  13. package/dist/cjs/builders/events-anonymous.js +17 -0
  14. package/dist/cjs/builders/events-browser.js +8 -0
  15. package/dist/cjs/builders/events-node.js +127 -0
  16. package/dist/cjs/builders/events.js +17 -0
  17. package/dist/cjs/builders/experimentMetadata.js +25 -0
  18. package/dist/cjs/builders/experiments.js +32 -0
  19. package/dist/cjs/builders/index.js +52 -0
  20. package/dist/cjs/builders/location.js +38 -0
  21. package/dist/cjs/builders/objects/objects-anonymous-browser.js +36 -0
  22. package/dist/cjs/builders/objects/objects-anonymous-node.js +95 -0
  23. package/dist/cjs/builders/objects/objects-anonymous.js +23 -0
  24. package/dist/cjs/builders/objects/objects-browser.js +36 -0
  25. package/dist/cjs/builders/objects/objects-node.js +126 -0
  26. package/dist/cjs/builders/objects/objects.js +23 -0
  27. package/dist/cjs/builders/objects/utils.js +23 -0
  28. package/dist/cjs/builders/origin-browser.js +28 -0
  29. package/dist/cjs/builders/origin-node.js +29 -0
  30. package/dist/cjs/builders/origin.js +23 -0
  31. package/dist/cjs/builders/provider.js +24 -0
  32. package/dist/cjs/builders/session-browser.js +97 -0
  33. package/dist/cjs/builders/session-node.js +9 -0
  34. package/dist/cjs/builders/session.js +23 -0
  35. package/dist/cjs/builders/tracker-browser.js +34 -0
  36. package/dist/cjs/builders/tracker-node.js +22 -0
  37. package/dist/cjs/builders/trackerBuilder.js +23 -0
  38. package/dist/cjs/config-browser.js +26 -0
  39. package/dist/cjs/config.js +9 -0
  40. package/dist/cjs/createPulseTracker.js +50 -0
  41. package/dist/cjs/defer.js +20 -0
  42. package/dist/cjs/getPulseTracker.js +74 -0
  43. package/dist/cjs/identity/actor.js +60 -0
  44. package/dist/cjs/identity/advertising.js +62 -0
  45. package/dist/cjs/identity/cis.js +66 -0
  46. package/dist/cjs/identity/device.js +20 -0
  47. package/dist/cjs/identity/index.js +20 -0
  48. package/dist/cjs/index.js +57 -0
  49. package/dist/cjs/leaveTracking/constants.js +26 -0
  50. package/dist/cjs/leaveTracking/index.js +368 -0
  51. package/dist/cjs/leaveTracking/types.js +19 -0
  52. package/dist/cjs/leaveTrackingTpaas/constants.js +18 -0
  53. package/dist/cjs/leaveTrackingTpaas/index.js +341 -0
  54. package/dist/cjs/leaveTrackingTpaas/types.js +19 -0
  55. package/dist/cjs/network-browser.js +35 -0
  56. package/dist/cjs/network.js +15 -0
  57. package/dist/cjs/remoteConfig/index.js +124 -0
  58. package/dist/cjs/tracker-proxy/consts.js +72 -0
  59. package/dist/cjs/tracker-proxy/proxy-provider.js +68 -0
  60. package/dist/cjs/types.js +2 -0
  61. package/dist/cjs/version.json +1 -0
  62. package/dist/cjs/visibility-observer/index.js +101 -0
  63. package/dist/cjs/warnOnce.js +11 -0
  64. package/dist/cjs/wrapper/engagement/ui-element/event-builder.js +21 -0
  65. package/dist/cjs/wrapper/engagement/ui-element/types.js +2 -0
  66. package/dist/cjs/wrapper/types/base-event.js +2 -0
  67. package/dist/cjs/wrapper/types/engagement-event.js +2 -0
  68. package/dist/cjs/wrapper/types/event.js +2 -0
  69. package/dist/cjs/wrapper/types/index.js +19 -0
  70. package/dist/cjs/wrapper/types/utils.js +2 -0
  71. package/dist/cjs/wrapper/utils/get-navigation-type.js +32 -0
  72. package/dist/cjs/wrapper/utils/page-from-page-view.js +9 -0
  73. package/dist/cjs/wrapper/view/article/event-builder.js +19 -0
  74. package/dist/cjs/wrapper/view/article/types.js +2 -0
  75. package/dist/cjs/wrapper/view/frontpage/event-builder.js +16 -0
  76. package/dist/cjs/wrapper/view/frontpage/types.js +2 -0
  77. package/dist/cjs/wrapper/view/listing/event-builder.js +14 -0
  78. package/dist/cjs/wrapper/view/listing/types.js +2 -0
  79. package/dist/cjs/wrapper/view/loginposter/event-builder.js +11 -0
  80. package/dist/cjs/wrapper/view/loginposter/types.js +2 -0
  81. package/dist/cjs/wrapper/view/page/event-builder.js +18 -0
  82. package/dist/cjs/wrapper/view/page/types.js +2 -0
  83. package/dist/cjs/wrapper/view/salesposter/event-builder.js +18 -0
  84. package/dist/cjs/wrapper/view/salesposter/types.js +2 -0
  85. package/dist/cjs/wrapper/view/ui-element/event-builder.js +15 -0
  86. package/dist/cjs/wrapper/view/ui-element/types.js +2 -0
  87. package/dist/ejs/EventBus/EventBus.js +140 -0
  88. package/dist/ejs/Tracker.js +2455 -0
  89. package/dist/ejs/Tracker.test-d.js +71 -0
  90. package/dist/ejs/app-integration.js +33 -0
  91. package/dist/ejs/builders/actor.js +53 -0
  92. package/dist/ejs/builders/consent-manager.js +125 -0
  93. package/dist/ejs/builders/consents.js +138 -0
  94. package/dist/ejs/builders/device-browser.js +69 -0
  95. package/dist/ejs/builders/device-node.js +57 -0
  96. package/dist/ejs/builders/device.js +2 -0
  97. package/dist/ejs/builders/events-anonymous-browser.js +1 -0
  98. package/dist/ejs/builders/events-anonymous-node.js +48 -0
  99. package/dist/ejs/builders/events-anonymous.js +1 -0
  100. package/dist/ejs/builders/events-browser.js +1 -0
  101. package/dist/ejs/builders/events-node.js +84 -0
  102. package/dist/ejs/builders/events.js +1 -0
  103. package/dist/ejs/builders/experimentMetadata.js +21 -0
  104. package/dist/ejs/builders/experiments.js +27 -0
  105. package/dist/ejs/builders/index.js +12 -0
  106. package/dist/ejs/builders/location.js +34 -0
  107. package/dist/ejs/builders/objects/objects-anonymous-browser.js +14 -0
  108. package/dist/ejs/builders/objects/objects-anonymous-node.js +90 -0
  109. package/dist/ejs/builders/objects/objects-anonymous.js +2 -0
  110. package/dist/ejs/builders/objects/objects-browser.js +14 -0
  111. package/dist/ejs/builders/objects/objects-node.js +121 -0
  112. package/dist/ejs/builders/objects/objects.js +2 -0
  113. package/dist/ejs/builders/objects/utils.js +20 -0
  114. package/dist/ejs/builders/origin-browser.js +6 -0
  115. package/dist/ejs/builders/origin-node.js +24 -0
  116. package/dist/ejs/builders/origin.js +2 -0
  117. package/dist/ejs/builders/provider.js +18 -0
  118. package/dist/ejs/builders/session-browser.js +90 -0
  119. package/dist/ejs/builders/session-node.js +4 -0
  120. package/dist/ejs/builders/session.js +2 -0
  121. package/dist/ejs/builders/tracker-browser.js +13 -0
  122. package/dist/ejs/builders/tracker-node.js +14 -0
  123. package/dist/ejs/builders/trackerBuilder.js +2 -0
  124. package/dist/ejs/config-browser.js +23 -0
  125. package/dist/ejs/config.js +6 -0
  126. package/dist/ejs/createPulseTracker.js +44 -0
  127. package/dist/ejs/defer.js +17 -0
  128. package/dist/ejs/getPulseTracker.js +71 -0
  129. package/dist/ejs/identity/actor.js +51 -0
  130. package/dist/ejs/identity/advertising.js +57 -0
  131. package/dist/ejs/identity/cis.js +58 -0
  132. package/dist/ejs/identity/device.js +17 -0
  133. package/dist/ejs/identity/index.js +4 -0
  134. package/dist/ejs/index.js +9 -0
  135. package/dist/ejs/leaveTracking/constants.js +19 -0
  136. package/dist/ejs/leaveTracking/index.js +319 -0
  137. package/dist/ejs/leaveTracking/types.js +16 -0
  138. package/dist/ejs/leaveTrackingTpaas/constants.js +13 -0
  139. package/dist/ejs/leaveTrackingTpaas/index.js +291 -0
  140. package/dist/ejs/leaveTrackingTpaas/types.js +16 -0
  141. package/dist/ejs/network-browser.js +32 -0
  142. package/dist/ejs/network.js +12 -0
  143. package/dist/ejs/remoteConfig/index.js +111 -0
  144. package/dist/ejs/tracker-proxy/consts.js +68 -0
  145. package/dist/ejs/tracker-proxy/proxy-provider.js +62 -0
  146. package/dist/ejs/types.js +1 -0
  147. package/dist/ejs/version.json +1 -0
  148. package/dist/ejs/visibility-observer/index.js +97 -0
  149. package/dist/ejs/warnOnce.js +9 -0
  150. package/dist/ejs/wrapper/engagement/ui-element/event-builder.js +17 -0
  151. package/dist/ejs/wrapper/engagement/ui-element/types.js +1 -0
  152. package/dist/ejs/wrapper/types/base-event.js +1 -0
  153. package/dist/ejs/wrapper/types/engagement-event.js +1 -0
  154. package/dist/ejs/wrapper/types/event.js +1 -0
  155. package/dist/ejs/wrapper/types/index.js +3 -0
  156. package/dist/ejs/wrapper/types/utils.js +1 -0
  157. package/dist/ejs/wrapper/utils/get-navigation-type.js +29 -0
  158. package/dist/ejs/wrapper/utils/page-from-page-view.js +6 -0
  159. package/dist/ejs/wrapper/view/article/event-builder.js +15 -0
  160. package/dist/ejs/wrapper/view/article/types.js +1 -0
  161. package/dist/ejs/wrapper/view/frontpage/event-builder.js +12 -0
  162. package/dist/ejs/wrapper/view/frontpage/types.js +1 -0
  163. package/dist/ejs/wrapper/view/listing/event-builder.js +10 -0
  164. package/dist/ejs/wrapper/view/listing/types.js +1 -0
  165. package/dist/ejs/wrapper/view/loginposter/event-builder.js +7 -0
  166. package/dist/ejs/wrapper/view/loginposter/types.js +1 -0
  167. package/dist/ejs/wrapper/view/page/event-builder.js +14 -0
  168. package/dist/ejs/wrapper/view/page/types.js +1 -0
  169. package/dist/ejs/wrapper/view/salesposter/event-builder.js +14 -0
  170. package/dist/ejs/wrapper/view/salesposter/types.js +1 -0
  171. package/dist/ejs/wrapper/view/ui-element/event-builder.js +11 -0
  172. package/dist/ejs/wrapper/view/ui-element/types.js +1 -0
  173. package/dist/types/EventBus/EventBus.d.ts +106 -0
  174. package/dist/types/Tracker.d.ts +1418 -0
  175. package/dist/types/Tracker.test-d.d.ts +1 -0
  176. package/dist/types/app-integration.d.ts +10 -0
  177. package/dist/types/builders/actor.d.ts +39 -0
  178. package/dist/types/builders/consent-manager.d.ts +49 -0
  179. package/dist/types/builders/consents.d.ts +107 -0
  180. package/dist/types/builders/device-browser.d.ts +6 -0
  181. package/dist/types/builders/device-node.d.ts +65 -0
  182. package/dist/types/builders/device.d.ts +2 -0
  183. package/dist/types/builders/events-anonymous-browser.d.ts +1 -0
  184. package/dist/types/builders/events-anonymous-node.d.ts +82 -0
  185. package/dist/types/builders/events-anonymous.d.ts +1 -0
  186. package/dist/types/builders/events-browser.d.ts +1 -0
  187. package/dist/types/builders/events-node.d.ts +130 -0
  188. package/dist/types/builders/events.d.ts +1 -0
  189. package/dist/types/builders/experimentMetadata.d.ts +25 -0
  190. package/dist/types/builders/experiments.d.ts +24 -0
  191. package/dist/types/builders/index.d.ts +23 -0
  192. package/dist/types/builders/location.d.ts +34 -0
  193. package/dist/types/builders/objects/objects-anonymous-browser.d.ts +11 -0
  194. package/dist/types/builders/objects/objects-anonymous-node.d.ts +52 -0
  195. package/dist/types/builders/objects/objects-anonymous.d.ts +2 -0
  196. package/dist/types/builders/objects/objects-browser.d.ts +11 -0
  197. package/dist/types/builders/objects/objects-node.d.ts +60 -0
  198. package/dist/types/builders/objects/objects.d.ts +2 -0
  199. package/dist/types/builders/objects/utils.d.ts +1 -0
  200. package/dist/types/builders/origin-browser.d.ts +5 -0
  201. package/dist/types/builders/origin-node.d.ts +18 -0
  202. package/dist/types/builders/origin.d.ts +2 -0
  203. package/dist/types/builders/provider.d.ts +14 -0
  204. package/dist/types/builders/session-browser.d.ts +20 -0
  205. package/dist/types/builders/session-node.d.ts +3 -0
  206. package/dist/types/builders/session.d.ts +2 -0
  207. package/dist/types/builders/tracker-browser.d.ts +2 -0
  208. package/dist/types/builders/tracker-node.d.ts +14 -0
  209. package/dist/types/builders/trackerBuilder.d.ts +2 -0
  210. package/dist/types/config-browser.d.ts +23 -0
  211. package/dist/types/config.d.ts +6 -0
  212. package/dist/types/createPulseTracker.d.ts +21 -0
  213. package/dist/types/defer.d.ts +28 -0
  214. package/dist/types/getPulseTracker.d.ts +59 -0
  215. package/dist/types/identity/actor.d.ts +28 -0
  216. package/dist/types/identity/advertising.d.ts +30 -0
  217. package/dist/types/identity/cis.d.ts +21 -0
  218. package/dist/types/identity/device.d.ts +12 -0
  219. package/dist/types/identity/index.d.ts +4 -0
  220. package/dist/types/index.d.ts +31 -0
  221. package/dist/types/leaveTracking/constants.d.ts +26 -0
  222. package/dist/types/leaveTracking/index.d.ts +23 -0
  223. package/dist/types/leaveTracking/types.d.ts +78 -0
  224. package/dist/types/leaveTrackingTpaas/constants.d.ts +13 -0
  225. package/dist/types/leaveTrackingTpaas/index.d.ts +28 -0
  226. package/dist/types/leaveTrackingTpaas/types.d.ts +45 -0
  227. package/dist/types/network-browser.d.ts +5 -0
  228. package/dist/types/network.d.ts +4 -0
  229. package/dist/types/remoteConfig/index.d.ts +32 -0
  230. package/dist/types/tracker-proxy/consts.d.ts +45 -0
  231. package/dist/types/tracker-proxy/proxy-provider.d.ts +2 -0
  232. package/dist/types/types.d.ts +93 -0
  233. package/dist/types/visibility-observer/index.d.ts +38 -0
  234. package/dist/types/warnOnce.d.ts +2 -0
  235. package/dist/types/wrapper/engagement/ui-element/event-builder.d.ts +3 -0
  236. package/dist/types/wrapper/engagement/ui-element/types.d.ts +29 -0
  237. package/dist/types/wrapper/types/base-event.d.ts +74 -0
  238. package/dist/types/wrapper/types/engagement-event.d.ts +5 -0
  239. package/dist/types/wrapper/types/event.d.ts +41 -0
  240. package/dist/types/wrapper/types/index.d.ts +3 -0
  241. package/dist/types/wrapper/types/utils.d.ts +5 -0
  242. package/dist/types/wrapper/utils/get-navigation-type.d.ts +3 -0
  243. package/dist/types/wrapper/utils/page-from-page-view.d.ts +3 -0
  244. package/dist/types/wrapper/view/article/event-builder.d.ts +2 -0
  245. package/dist/types/wrapper/view/article/types.d.ts +27 -0
  246. package/dist/types/wrapper/view/frontpage/event-builder.d.ts +2 -0
  247. package/dist/types/wrapper/view/frontpage/types.d.ts +18 -0
  248. package/dist/types/wrapper/view/listing/event-builder.d.ts +2 -0
  249. package/dist/types/wrapper/view/listing/types.d.ts +27 -0
  250. package/dist/types/wrapper/view/loginposter/event-builder.d.ts +2 -0
  251. package/dist/types/wrapper/view/loginposter/types.d.ts +14 -0
  252. package/dist/types/wrapper/view/page/event-builder.d.ts +2 -0
  253. package/dist/types/wrapper/view/page/types.d.ts +16 -0
  254. package/dist/types/wrapper/view/salesposter/event-builder.d.ts +2 -0
  255. package/dist/types/wrapper/view/salesposter/types.d.ts +15 -0
  256. package/dist/types/wrapper/view/ui-element/event-builder.d.ts +3 -0
  257. package/dist/types/wrapper/view/ui-element/types.d.ts +28 -0
  258. package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/cis-browser.d.ts +26 -0
  259. package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/cis-browser.js +273 -0
  260. package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/cis-browser.js.map +1 -0
  261. package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/cis.d.ts +10 -0
  262. package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/cis.js +7 -0
  263. package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/cis.js.map +1 -0
  264. package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/eventEmitter.d.ts +14 -0
  265. package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/eventEmitter.js +39 -0
  266. package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/eventEmitter.js.map +1 -0
  267. package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/index.d.ts +4 -0
  268. package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/index.js +12 -0
  269. package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/index.js.map +1 -0
  270. package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/pulse-cookie.d.ts +55 -0
  271. package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/pulse-cookie.js +276 -0
  272. package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/pulse-cookie.js.map +1 -0
  273. package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/storage/pulseStorage.d.ts +36 -0
  274. package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/storage/pulseStorage.js +87 -0
  275. package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/storage/pulseStorage.js.map +1 -0
  276. package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/storage/storage.d.ts +6 -0
  277. package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/storage/storage.js +21 -0
  278. package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/storage/storage.js.map +1 -0
  279. package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/types.d.ts +24 -0
  280. package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/types.js +3 -0
  281. package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/types.js.map +1 -0
  282. package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/cis-browser.d.ts +26 -0
  283. package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/cis-browser.js +203 -0
  284. package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/cis-browser.js.map +1 -0
  285. package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/cis.d.ts +10 -0
  286. package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/cis.js +4 -0
  287. package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/cis.js.map +1 -0
  288. package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/eventEmitter.d.ts +14 -0
  289. package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/eventEmitter.js +35 -0
  290. package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/eventEmitter.js.map +1 -0
  291. package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/index.d.ts +4 -0
  292. package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/index.js +3 -0
  293. package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/index.js.map +1 -0
  294. package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/pulse-cookie.d.ts +55 -0
  295. package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/pulse-cookie.js +254 -0
  296. package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/pulse-cookie.js.map +1 -0
  297. package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/storage/pulseStorage.d.ts +36 -0
  298. package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/storage/pulseStorage.js +50 -0
  299. package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/storage/pulseStorage.js.map +1 -0
  300. package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/storage/storage.d.ts +6 -0
  301. package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/storage/storage.js +17 -0
  302. package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/storage/storage.js.map +1 -0
  303. package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/types.d.ts +24 -0
  304. package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/types.js +2 -0
  305. package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/types.js.map +1 -0
  306. package/node_modules/@schibsted/pulse-cis-sync/dist/types/cis-browser.d.ts +26 -0
  307. package/node_modules/@schibsted/pulse-cis-sync/dist/types/cis.d.ts +10 -0
  308. package/node_modules/@schibsted/pulse-cis-sync/dist/types/eventEmitter.d.ts +14 -0
  309. package/node_modules/@schibsted/pulse-cis-sync/dist/types/index.d.ts +4 -0
  310. package/node_modules/@schibsted/pulse-cis-sync/dist/types/pulse-cookie.d.ts +55 -0
  311. package/node_modules/@schibsted/pulse-cis-sync/dist/types/storage/pulseStorage.d.ts +36 -0
  312. package/node_modules/@schibsted/pulse-cis-sync/dist/types/storage/storage.d.ts +6 -0
  313. package/node_modules/@schibsted/pulse-cis-sync/dist/types/types.d.ts +24 -0
  314. package/node_modules/@schibsted/pulse-cis-sync/package.json +44 -0
  315. package/node_modules/@schibsted/pulse-utils/dist/cjs/cookie-config.js +10 -0
  316. package/node_modules/@schibsted/pulse-utils/dist/cjs/cookie.js +86 -0
  317. package/node_modules/@schibsted/pulse-utils/dist/cjs/events.js +109 -0
  318. package/node_modules/@schibsted/pulse-utils/dist/cjs/get.js +18 -0
  319. package/node_modules/@schibsted/pulse-utils/dist/cjs/getRootDomain.js +54 -0
  320. package/node_modules/@schibsted/pulse-utils/dist/cjs/index.js +38 -0
  321. package/node_modules/@schibsted/pulse-utils/dist/cjs/merge.js +38 -0
  322. package/node_modules/@schibsted/pulse-utils/dist/cjs/objects.js +34 -0
  323. package/node_modules/@schibsted/pulse-utils/dist/cjs/omit.js +9 -0
  324. package/node_modules/@schibsted/pulse-utils/dist/cjs/randomString.js +18 -0
  325. package/node_modules/@schibsted/pulse-utils/dist/cjs/throttle.js +34 -0
  326. package/node_modules/@schibsted/pulse-utils/dist/cjs/webApi.js +21 -0
  327. package/node_modules/@schibsted/pulse-utils/dist/ejs/cookie-config.js +7 -0
  328. package/node_modules/@schibsted/pulse-utils/dist/ejs/cookie.js +81 -0
  329. package/node_modules/@schibsted/pulse-utils/dist/ejs/events.js +103 -0
  330. package/node_modules/@schibsted/pulse-utils/dist/ejs/get.js +15 -0
  331. package/node_modules/@schibsted/pulse-utils/dist/ejs/getRootDomain.js +49 -0
  332. package/node_modules/@schibsted/pulse-utils/dist/ejs/index.js +11 -0
  333. package/node_modules/@schibsted/pulse-utils/dist/ejs/merge.js +35 -0
  334. package/node_modules/@schibsted/pulse-utils/dist/ejs/objects.js +26 -0
  335. package/node_modules/@schibsted/pulse-utils/dist/ejs/omit.js +6 -0
  336. package/node_modules/@schibsted/pulse-utils/dist/ejs/randomString.js +15 -0
  337. package/node_modules/@schibsted/pulse-utils/dist/ejs/throttle.js +31 -0
  338. package/node_modules/@schibsted/pulse-utils/dist/ejs/webApi.js +17 -0
  339. package/node_modules/@schibsted/pulse-utils/dist/types/cookie-config.d.ts +7 -0
  340. package/node_modules/@schibsted/pulse-utils/dist/types/cookie.d.ts +23 -0
  341. package/node_modules/@schibsted/pulse-utils/dist/types/events.d.ts +17 -0
  342. package/node_modules/@schibsted/pulse-utils/dist/types/get.d.ts +1 -0
  343. package/node_modules/@schibsted/pulse-utils/dist/types/getRootDomain.d.ts +13 -0
  344. package/node_modules/@schibsted/pulse-utils/dist/types/index.d.ts +11 -0
  345. package/node_modules/@schibsted/pulse-utils/dist/types/merge.d.ts +4 -0
  346. package/node_modules/@schibsted/pulse-utils/dist/types/objects.d.ts +6 -0
  347. package/node_modules/@schibsted/pulse-utils/dist/types/omit.d.ts +3 -0
  348. package/node_modules/@schibsted/pulse-utils/dist/types/randomString.d.ts +1 -0
  349. package/node_modules/@schibsted/pulse-utils/dist/types/throttle.d.ts +3 -0
  350. package/node_modules/@schibsted/pulse-utils/dist/types/webApi.d.ts +10 -0
  351. package/node_modules/@schibsted/pulse-utils/package.json +36 -0
  352. package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders/anonymous.js +8 -0
  353. package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders/baseEvent.js +9 -0
  354. package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders/consents.js +15 -0
  355. package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders/device.js +211 -0
  356. package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders/experiments.js +11 -0
  357. package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders/navigationType.js +52 -0
  358. package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders/pageInfo.js +24 -0
  359. package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders/pageviewId.js +11 -0
  360. package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders/provider.js +12 -0
  361. package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders/referrer.js +19 -0
  362. package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders/session.js +114 -0
  363. package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders/time.js +15 -0
  364. package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders/trackerBuilder.js +15 -0
  365. package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders/user.js +26 -0
  366. package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders/utm.js +35 -0
  367. package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders.js +264 -0
  368. package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/index.js +17 -0
  369. package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/types.js +2 -0
  370. package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders/anonymous.js +5 -0
  371. package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders/baseEvent.js +6 -0
  372. package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders/consents.js +12 -0
  373. package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders/device.js +174 -0
  374. package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders/experiments.js +7 -0
  375. package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders/navigationType.js +48 -0
  376. package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders/pageInfo.js +20 -0
  377. package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders/pageviewId.js +7 -0
  378. package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders/provider.js +9 -0
  379. package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders/referrer.js +15 -0
  380. package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders/session.js +108 -0
  381. package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders/time.js +11 -0
  382. package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders/trackerBuilder.js +11 -0
  383. package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders/user.js +22 -0
  384. package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders/utm.js +31 -0
  385. package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders.js +209 -0
  386. package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/index.js +1 -0
  387. package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/types.js +1 -0
  388. package/node_modules/@schibsted/tpaas-event-builder/dist/index.d.ts +5171 -0
  389. package/node_modules/@schibsted/tpaas-event-builder/package.json +40 -0
  390. package/node_modules/@schibsted/tpaas-schemas/dist/cjs/constants.js +62 -1
  391. package/node_modules/@schibsted/tpaas-schemas/dist/ejs/constants.js +61 -0
  392. package/node_modules/@schibsted/tpaas-schemas/dist/index.d.ts +128 -0
  393. package/package.json +58 -13
  394. package/CHANGELOG.md +0 -1035
  395. package/dist/index.d.ts +0 -13
  396. package/dist/index.d.ts.map +0 -1
  397. package/dist/index.js +0 -47
  398. package/dist/index.js.map +0 -1
@@ -0,0 +1,23 @@
1
+ export const collectorEndpoints = {
2
+ dev: 'https://collector.pulse-internal-dev.schibsted.io',
3
+ pre: 'https://collector.pulse-internal-pre.schibsted.io',
4
+ pro: 'https://dc.schibsted.io',
5
+ };
6
+ export const CISEndpoints = {
7
+ dev: 'https://cis.pulse-internal-dev.schibsted.io',
8
+ pre: 'https://cis.pulse-internal-pre.schibsted.io',
9
+ pro: 'https://ncis.schibsted.com',
10
+ };
11
+ export const remoteConfig = {
12
+ dev: 'https://sdkconfig.pulse-internal-dev.schibsted.io/js/config.json',
13
+ pre: 'https://sdkconfig.pulse-internal-pre.schibsted.io/js/config.json',
14
+ pro: 'https://sdkconfig.pulse.schibsted.io/js/config.json',
15
+ };
16
+ export const baseConfig = {
17
+ cisEnabled: true,
18
+ deployStage: 'pro',
19
+ eventDebounce: 200,
20
+ environment: 'browser',
21
+ collectorPath: '/api/v1/track',
22
+ useBeaconWhenAvailable: true,
23
+ };
@@ -0,0 +1,6 @@
1
+ export const baseConfig = {
2
+ eventDebounce: 10,
3
+ environment: 'node',
4
+ cisEnabled: true,
5
+ collectorPath: '/api/v1/content',
6
+ };
@@ -0,0 +1,44 @@
1
+ /**
2
+ * @module createPulseTracker
3
+ * This module is part of the Pulse SDK implementation of Schibsted's Mandatory Building Blocks (MBB) specification.
4
+ * It is intended to simplify the creation and management of a singleton Pulse Tracker instance in browser environments.
5
+ * Note that this module should only be used in browser environments, as it relies on the global `window` object.
6
+ */
7
+ import { isBrowser } from '@schibsted/pulse-utils/';
8
+ import Tracker from './Tracker';
9
+ /**
10
+ * Flags whether the Pulse Tracker creation process has been started.
11
+ */
12
+ function isTrackerCreated() {
13
+ return isBrowser && !!window.__pulseTracker;
14
+ }
15
+ /**
16
+ * Make the given tracker instance globally accessible
17
+ * @param singleton
18
+ */
19
+ function attachTrackerToWindow(singleton) {
20
+ if (isBrowser) {
21
+ window.__pulseTracker = singleton;
22
+ }
23
+ }
24
+ /**
25
+ * Creates and returns the singleton Pulse Tracker instance.
26
+ * @param clientId
27
+ * @param config
28
+ * @param builders
29
+ * @throws - If called outside a browser environment.
30
+ * @throws - If the Pulse Tracker has already been created (or creation is already in progress).
31
+ */
32
+ export async function createPulseTracker({ clientId, config, builders }) {
33
+ if (!isBrowser) {
34
+ throw new Error('createPulseTracker is only available in browser environments');
35
+ }
36
+ if (isTrackerCreated()) {
37
+ throw new Error('Pulse Tracker is already created (or creation already started)');
38
+ }
39
+ const singleton = (async () => {
40
+ return new Tracker(clientId, config, builders);
41
+ })();
42
+ attachTrackerToWindow(singleton);
43
+ return singleton;
44
+ }
@@ -0,0 +1,17 @@
1
+ const emptyFn = () => {
2
+ void 0;
3
+ };
4
+ export default function (value) {
5
+ let res = emptyFn;
6
+ let rej = emptyFn;
7
+ const promise = new Promise((resolve, reject) => {
8
+ res = resolve;
9
+ rej = reject;
10
+ });
11
+ return {
12
+ promise,
13
+ resolve: res,
14
+ reject: rej,
15
+ inputValue: value,
16
+ };
17
+ }
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Event name dispatched when the Pulse Tracker instance is ready.
3
+ * It includes the "pulse:" namespace to avoid potential conflicts with other libraries.
4
+ */
5
+ const PULSE_TRACKER_READY_EVENT = 'pulse:tracker:ready';
6
+ /**
7
+ * Flags whether the code is running in a browser environment.
8
+ * Required to safely access the `window` object.
9
+ * @privateRemarks
10
+ * Reimplemented here to avoid dependencies on other parts of the SDK.
11
+ */
12
+ const isBrowser = typeof window !== 'undefined' && typeof window.document !== 'undefined';
13
+ /**
14
+ * Timeout for getting the Pulse Tracker instance.
15
+ * Arbitrarily defined to avoid hanging indefinitely, which would be a sign of misconfiguration.
16
+ */
17
+ const GET_PULSE_TRACKER_TIMEOUT_MS = 3000;
18
+ /**
19
+ * Returns the singleton Pulse Tracker instance.
20
+ * @throws - If the Pulse Tracker creation did not resolve within the timeout limit.
21
+ * @throws - If called outside a browser environment.
22
+ *
23
+ * @example
24
+ *
25
+ * ```ts
26
+ * import { getPulseTracker, type Tracker } from '@schibsted/pulse-sdk-js';
27
+ *
28
+ * let pulseTracker: Promise<Tracker>;
29
+ *
30
+ * try {
31
+ * pulseTracker = await getPulseTracker();
32
+ * } catch(error) {
33
+ * // not in browser environment
34
+ * // or
35
+ * // tracker not resolved within time limit
36
+ * }
37
+ *
38
+ * if (pulseTracker) {
39
+ * pulseTracker.trackViewPage({ ... });
40
+ * }
41
+ * ```
42
+ */
43
+ export async function getPulseTracker() {
44
+ if (!isBrowser) {
45
+ throw new Error('getPulseTracker is only available in browser environments');
46
+ }
47
+ const singleton = window.__pulseTracker;
48
+ if (!(singleton instanceof Promise)) {
49
+ return new Promise((resolve, reject) => {
50
+ let timeoutId;
51
+ function trackerReadyHandler(event) {
52
+ clearTimeout(timeoutId);
53
+ window.removeEventListener(PULSE_TRACKER_READY_EVENT, trackerReadyHandler);
54
+ resolve(event.detail.payload.tracker);
55
+ }
56
+ timeoutId = setTimeout(() => {
57
+ window.removeEventListener(PULSE_TRACKER_READY_EVENT, trackerReadyHandler);
58
+ reject(new Error(`Pulse Tracker did not resolve within ${GET_PULSE_TRACKER_TIMEOUT_MS}ms`));
59
+ }, GET_PULSE_TRACKER_TIMEOUT_MS);
60
+ window.addEventListener(PULSE_TRACKER_READY_EVENT, trackerReadyHandler);
61
+ });
62
+ }
63
+ return Promise.race([
64
+ singleton,
65
+ new Promise((_, reject) => {
66
+ setTimeout(() => {
67
+ reject(new Error(`Pulse Tracker did not resolve within ${GET_PULSE_TRACKER_TIMEOUT_MS}ms`));
68
+ }, GET_PULSE_TRACKER_TIMEOUT_MS);
69
+ }),
70
+ ]);
71
+ }
@@ -0,0 +1,51 @@
1
+ import { evaluateAndFlatten } from '@schibsted/pulse-utils';
2
+ import { isActorInput } from '../builders/actor';
3
+ import warnOnce from '../warnOnce';
4
+ /**
5
+ * @internal exported for testing
6
+ */
7
+ export const WARN_CIS_SYNC_LOGIN_UNDEFINED = 'Cis sync initiated with no actor builder and no event available. If you do not use a login system, please indicate' +
8
+ ' this using tracker.update({ actor: undefined }), otherwise do tracker.update({ actor: somePromise }) with a' +
9
+ ' promise that resolves to the login state.';
10
+ /**
11
+ * Get the actor id (userId) from the current browser. A promise is returned
12
+ * because a call may be made to complete the login process.
13
+ *
14
+ * *Note*: This method will return a Promise that is always rejected on node
15
+ environments.
16
+ @category Identifiers
17
+ */
18
+ const getUserId = async (builders) => {
19
+ const { id } = await getActor(builders);
20
+ return id;
21
+ };
22
+ /**
23
+ * @category Identifiers
24
+ */
25
+ const getActor = async (builders) => {
26
+ return await evaluateActor(builders);
27
+ };
28
+ const userIsLoggedIn = async (builders) => {
29
+ const actor = await getActor(builders);
30
+ return !!actor?.id;
31
+ };
32
+ /**
33
+ * Evaluate actor input given to the sdk/this method and pass it through the
34
+ * Actor event formatter.
35
+ * @category Tracker
36
+ * @private
37
+ */
38
+ const evaluateActor = async (eventInput = {}, builders = {}) => {
39
+ if (isActorInput(eventInput) || isActorInput(builders)) {
40
+ const evaluatedActor = await evaluateAndFlatten(eventInput.actor || builders.actor);
41
+ if (evaluatedActor) {
42
+ return evaluatedActor;
43
+ }
44
+ }
45
+ // We allow an empty actor object, because it is a sign that the application is not setting nor updating Actor correctly.
46
+ // Inferring "id: undefined" as a fallback would mask that bug.
47
+ // Hence, the warning below.
48
+ warnOnce('no-actor-builder-and-no-event-present', WARN_CIS_SYNC_LOGIN_UNDEFINED);
49
+ return {};
50
+ };
51
+ export { getUserId, getActor, userIsLoggedIn, evaluateActor };
@@ -0,0 +1,57 @@
1
+ import { getActor } from './actor';
2
+ import { cisSync } from './cis';
3
+ /**
4
+ * Get the includeAdvertising flag, set on initialisation.
5
+ * @private
6
+ * @see constructor
7
+ * @category Identifiers
8
+ * @deprecated Advertising Identifiers methods will be removed in the next major version.
9
+ */
10
+ const getIncludeAdvertising = (sdkState) => {
11
+ return sdkState.includeAdvertising;
12
+ };
13
+ /**
14
+ * Get the advertisement id (adId) from the current browser. A promise is returned
15
+ * because a CIS call is done to generate a new adId if no cookie is
16
+ * found.
17
+ *
18
+ * *Note*: This method will return a Promise that is always rejected on node
19
+ * environments.
20
+ * @category Identifiers
21
+ * @deprecated Advertising Identifiers methods will be removed in the next major version.
22
+ */
23
+ const getAdId = async (builders, sdkState) => {
24
+ const { adId } = await cisSync({ actor: getActor(builders) }, builders, sdkState);
25
+ return adId;
26
+ };
27
+ /**
28
+ * Get the Advertisement Identifiers for a Vendor or all Vendors.
29
+ * @param builders
30
+ * @param sdkState
31
+ * @category Identifiers
32
+ * @deprecated Advertising Identifiers methods will be removed in the next major version.
33
+ */
34
+ const getAdvertisingIdentifiers = async (builders, sdkState) => {
35
+ const { vendors } = sdkState;
36
+ if (!Array.isArray(vendors)) {
37
+ throw new Error("'vendors' given is not an array as expected");
38
+ }
39
+ const { adId, ppId } = await cisSync({ actor: getActor(builders) }, builders, sdkState);
40
+ const identifiers = {};
41
+ if (!ppId) {
42
+ return {};
43
+ }
44
+ for (const vendorName of vendors) {
45
+ const vendor = ppId[vendorName];
46
+ if (vendor) {
47
+ if (vendorName === 'xandr' && adId) {
48
+ identifiers[vendorName] = { ...vendor, adId };
49
+ }
50
+ else {
51
+ identifiers[vendorName] = vendor;
52
+ }
53
+ }
54
+ }
55
+ return identifiers;
56
+ };
57
+ export { getAdId, getIncludeAdvertising, getAdvertisingIdentifiers };
@@ -0,0 +1,58 @@
1
+ import { clearCookieJweIfStale, resetRefreshAfter, syncWithCis } from '@schibsted/pulse-cis-sync';
2
+ import version from '../version.json';
3
+ import { evaluateActor } from './actor';
4
+ const requireCisSyncCallForAdvertisingIds = () => {
5
+ resetRefreshAfter(new Date());
6
+ };
7
+ /**
8
+ * Sync our ids with cis given the userId from the event or builders.
9
+ * @param data the event parameters (the data passed to `.track()`),
10
+ * if called in a context where an event is being sent.
11
+ *
12
+ * @param builders
13
+ * @param config
14
+ * @returns the parsed pulse cookie after syncing with cis.
15
+ * @category Identifiers
16
+ */
17
+ const cisSync = async (data, builders, config) => {
18
+ // At this point, neither this.builders nor data have been
19
+ // evaluated through evaluateAndFlatten (this happens in `.track`),
20
+ // so in the rare and weird case where `.actor` is a function or
21
+ // a promise, or contains functions or promises, we will evaluate
22
+ // these twice.
23
+ // Note that this evaluation isn't 100% correct in that it ignores
24
+ // things like eventDefaults, doesn't call the event builder associated
25
+ // with the event type etc., but this shouldn't affect `.actor.{id,realm}`
26
+ // in cases I can imagine (of course, my imagination is limited)
27
+ //
28
+ // we need an event, or at least this.builders.actor
29
+ // to know the correct login/logout state for the user.
30
+ // In some implementations (video plugin) the client will
31
+ // populate the full event only on `.track` and not ever
32
+ // call `.update(...)` with the login status.
33
+ // Arguably this is incorrect, and `.update(...)` should be
34
+ // called when login state changes, but we try to make
35
+ // the API as fail-proof as possibly by handling the situation
36
+ // here.
37
+ //
38
+ // However, we do cis syncs without access to an event, so
39
+ // for this case, we need to just reuse the userId from the existing
40
+ // _pulse2data cookie, or just not do the sync.
41
+ //
42
+ const actorPromise = evaluateActor(data, builders);
43
+ const { cisBaseUrl, cisEnabled, includeAdvertising: includeAdvertisingPromise, isHybrid, nativeJwe, providerId, trackerId, vendors, } = config || {};
44
+ const [includeAdvertising, actor] = await Promise.all([includeAdvertisingPromise, actorPromise]);
45
+ const { id, realm } = actor;
46
+ if (cisEnabled) {
47
+ // @ts-expect-error
48
+ return syncWithCis(
49
+ // @ts-expect-error
50
+ id, nativeJwe, cisBaseUrl, realm, providerId, isHybrid ? 'Hybrid' : 'Web', version.SDK_VERSION, {
51
+ includeAdvertising,
52
+ vendors,
53
+ trackerId,
54
+ });
55
+ }
56
+ return { doTracking: true };
57
+ };
58
+ export { clearCookieJweIfStale, cisSync, requireCisSyncCallForAdvertisingIds };
@@ -0,0 +1,17 @@
1
+ import { getActor } from './actor';
2
+ import { cisSync } from './cis';
3
+ /**
4
+ * Get the environment id from the current browser. A promise is returned
5
+ * because a CIS call is done to generate a new environmentId if no cookie is
6
+ * found.
7
+ *
8
+ * *Note*: This method will return a Promise that is always rejected on node
9
+ * environments.
10
+ * @category Identifiers
11
+ */
12
+ const getEnvironmentId = async (builders, sdkState) => {
13
+ const actor = await getActor(builders);
14
+ const { environmentId } = await cisSync({ actor }, builders, sdkState);
15
+ return environmentId;
16
+ };
17
+ export { getEnvironmentId };
@@ -0,0 +1,4 @@
1
+ export * from './actor';
2
+ export * from './advertising';
3
+ export * from './cis';
4
+ export * from './device';
@@ -0,0 +1,9 @@
1
+ import T from './Tracker';
2
+ export default T;
3
+ export * as EventBuilders from './builders';
4
+ export * from './Tracker';
5
+ export { T as Tracker };
6
+ export * from '@schibsted/tpaas-schemas';
7
+ export { createPulseTracker } from './createPulseTracker';
8
+ export { getPulseTracker } from './getPulseTracker';
9
+ export { subscribe, subscribeOnce, subscribeWithState, unsubscribe } from './Tracker';
@@ -0,0 +1,19 @@
1
+ const LEAVE_EVENT_TYPE = 'Leave';
2
+ export const DEFAULT_ACTIVITY_DURATION = () => ({
3
+ value: 0,
4
+ interval: undefined,
5
+ timeSinceLastActivity: 0,
6
+ });
7
+ export const DEFAULT_VIEWED_CONTENT = () => ({
8
+ objectViewPercentage: 0,
9
+ maxObjectViewPercentage: 0,
10
+ pageViewPercentage: 0,
11
+ maxPageViewPercentage: 0,
12
+ pageScrollPosition: 0,
13
+ maxPageScrollPosition: 0,
14
+ });
15
+ export const DEFAULT_PAGE_LEAVE_EVENT = () => ({
16
+ type: LEAVE_EVENT_TYPE,
17
+ engagement: DEFAULT_VIEWED_CONTENT(),
18
+ });
19
+ export const DEFAULT_LEAVE_EVENT_BUILDER = () => () => ({});