@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,126 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultValue = exports.formatObject = void 0;
4
+ const pulse_utils_1 = require("@schibsted/pulse-utils");
5
+ const utils_1 = require("./utils");
6
+ /**
7
+ * Format UIElement.
8
+ *
9
+ * This will transform the object to a valid UIElement.
10
+ * When building the id of the UIElement it will primarily
11
+ * try to use 'page.id' and 'page.type' (if available).
12
+ * If page is not available it will fall back to use
13
+ * 'target.id' and 'target.type' when calling sdrn().
14
+ * If neither page nor target is available it will
15
+ * use default type from the object.
16
+ *
17
+ * @private
18
+ * @param data object and provider is mandatory, rest is optional.
19
+ */
20
+ function formatUIElement({ object, provider, page, target }) {
21
+ const { id, type, custom, ...rest } = object || {};
22
+ const { id: pageId, type: pageType } = page || {};
23
+ const { id: targetId, type: targetType } = target || {};
24
+ const { id: providerId } = provider || {};
25
+ const uiElementId = pageType || targetType
26
+ ? `${(0, utils_1.generateObjectSDRN)(pageId || targetId, providerId, pageType || targetType) || ''}:element:${id}`
27
+ : (0, utils_1.generateObjectSDRN)(id, providerId, type);
28
+ const baseObject = {
29
+ '@id': uiElementId,
30
+ '@type': type,
31
+ };
32
+ if (custom) {
33
+ baseObject['spt:custom'] = custom;
34
+ }
35
+ return (0, pulse_utils_1.pulseMerge)({}, baseObject, rest);
36
+ }
37
+ function formatDefaultObject({ object, provider }) {
38
+ const { id, type = 'Content', custom, ...rest } = object || {};
39
+ const { id: providerId } = provider || {};
40
+ const objectId = (0, utils_1.generateObjectSDRN)(id, providerId, type);
41
+ let baseObject = {};
42
+ if (objectId) {
43
+ baseObject = {
44
+ '@id': objectId,
45
+ '@type': type,
46
+ };
47
+ }
48
+ if (custom) {
49
+ baseObject['spt:custom'] = custom;
50
+ }
51
+ return (0, pulse_utils_1.pulseMerge)({}, baseObject, rest);
52
+ }
53
+ function formatAccount({ object }) {
54
+ const { id, realm = 'schibsted.com', type: _, custom, ...rest } = object || {}; // type is dropped
55
+ if (!id) {
56
+ return;
57
+ }
58
+ const baseObject = {
59
+ '@id': `sdrn:${realm}:user:${id}`,
60
+ '@type': 'Account',
61
+ accountId: id,
62
+ };
63
+ if (custom) {
64
+ baseObject['spt:custom'] = custom;
65
+ }
66
+ return (0, pulse_utils_1.pulseMerge)({}, baseObject, rest);
67
+ }
68
+ const objectFormatterMapping = {
69
+ UIElement: formatUIElement,
70
+ Account: formatAccount,
71
+ };
72
+ function getObjectFormatter(type) {
73
+ return objectFormatterMapping[type] || formatDefaultObject;
74
+ }
75
+ /**
76
+ * Format object.
77
+ *
78
+ * This function will recursively format itself and all nested object.
79
+ * The initialPage parameter is optional and will be used in the recursive
80
+ * nature to always pass in the root object page to each formatting.
81
+ *
82
+ * @param input
83
+ * @param pageInput
84
+ * @private
85
+ */
86
+ const formatObject = (input, pageInput) => {
87
+ const { object: objectInput = {} } = input || {};
88
+ const { page: pageInObject } = objectInput;
89
+ const page = pageInput || pageInObject;
90
+ const evaluatedObjectInput = Object.keys(objectInput).reduce((accl, key) => {
91
+ const prop = objectInput[key];
92
+ if (Array.isArray(prop)) {
93
+ return {
94
+ // biome-ignore lint/performance/noAccumulatingSpread: -
95
+ ...accl,
96
+ [key]: prop.map((o) => {
97
+ if ((0, pulse_utils_1.isPlainObject)(o)) {
98
+ return (0, exports.formatObject)(Object.assign({}, input, { object: o }), page);
99
+ }
100
+ return o;
101
+ }),
102
+ };
103
+ }
104
+ if ((0, pulse_utils_1.isObject)(prop)) {
105
+ return {
106
+ // biome-ignore lint/performance/noAccumulatingSpread: -
107
+ ...accl,
108
+ [key]: (0, exports.formatObject)(Object.assign({}, input, { object: prop }), page),
109
+ };
110
+ }
111
+ // biome-ignore lint/performance/noAccumulatingSpread: -
112
+ return { ...accl, [key]: prop };
113
+ }, {});
114
+ const output = Object.assign({}, input, { page, object: evaluatedObjectInput });
115
+ return getObjectFormatter(objectInput.type)(output);
116
+ };
117
+ exports.formatObject = formatObject;
118
+ /**
119
+ * @internal
120
+ */
121
+ exports.default = exports.formatObject;
122
+ /**
123
+ * @internal
124
+ */
125
+ const defaultValue = () => undefined;
126
+ exports.defaultValue = defaultValue;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ var __importDefault = (this && this.__importDefault) || function (mod) {
17
+ return (mod && mod.__esModule) ? mod : { "default": mod };
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.default = void 0;
21
+ __exportStar(require("./objects-node"), exports);
22
+ var objects_node_1 = require("./objects-node");
23
+ Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(objects_node_1).default; } });
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateObjectSDRN = generateObjectSDRN;
4
+ const pulse_utils_1 = require("@schibsted/pulse-utils");
5
+ const objectTypeContentMapping = {
6
+ classifiedad: 'classified',
7
+ notificationcontent: 'notification',
8
+ businesstransaction: 'transaction',
9
+ uielement: 'element',
10
+ };
11
+ const getObjectContentByType = (type = '') => objectTypeContentMapping[type.toLowerCase()] ?? type.toLowerCase();
12
+ function idIsFormatted(id) {
13
+ return (0, pulse_utils_1.isString)(id) && id?.startsWith('sdrn:');
14
+ }
15
+ function generateObjectSDRN(id, providerId, type) {
16
+ if (idIsFormatted(id)) {
17
+ return id;
18
+ }
19
+ if (((0, pulse_utils_1.isString)(id) || Number.isFinite(id)) && (0, pulse_utils_1.isString)(providerId) && (0, pulse_utils_1.isString)(type)) {
20
+ const contentType = getObjectContentByType(type);
21
+ return `sdrn:${providerId}:${contentType}:${id}`;
22
+ }
23
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ var __importDefault = (this && this.__importDefault) || function (mod) {
17
+ return (mod && mod.__esModule) ? mod : { "default": mod };
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.defaultValue = exports.default = void 0;
21
+ const pulse_utils_1 = require("@schibsted/pulse-utils");
22
+ __exportStar(require("./origin-node"), exports);
23
+ var origin_node_1 = require("./origin-node");
24
+ Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(origin_node_1).default; } });
25
+ const defaultValue = () => ({
26
+ url: pulse_utils_1.isBrowser ? document.referrer : '',
27
+ });
28
+ exports.defaultValue = defaultValue;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultValue = void 0;
4
+ exports.default = origin;
5
+ const pulse_utils_1 = require("@schibsted/pulse-utils");
6
+ const utils_1 = require("./objects/utils");
7
+ // https://schibsted.ghe.com/data-platform/event-formats/blob/master/schema/master/common-definitions.json
8
+ const originIdRegex = /^unknown$|^sdrn:(.*)$/;
9
+ function isOriginSDRN(originId) {
10
+ return (0, pulse_utils_1.isString)(originId) && originIdRegex.test(originId);
11
+ }
12
+ function origin(input) {
13
+ const { origin: originInput, provider } = input || {};
14
+ const { id: originInputId, type: originInputType, ...rest } = originInput || {};
15
+ const { id: providerId } = provider || {};
16
+ // If the id of origin has already been formatted upstream, we don't want to do it again
17
+ // This can happen, since previously we allowed the id through without any formatting and
18
+ // brands had to do it on their end to get it correctly.
19
+ const formattedOriginId = isOriginSDRN(originInputId)
20
+ ? originInputId
21
+ : (0, utils_1.generateObjectSDRN)(originInputId, providerId, originInputType);
22
+ const base = {
23
+ ...(formattedOriginId && { '@id': formattedOriginId }),
24
+ ...(originInputType && { '@type': originInputType }),
25
+ };
26
+ return Object.assign({}, base, rest);
27
+ }
28
+ const defaultValue = () => undefined;
29
+ exports.defaultValue = defaultValue;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ var __importDefault = (this && this.__importDefault) || function (mod) {
17
+ return (mod && mod.__esModule) ? mod : { "default": mod };
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.default = void 0;
21
+ __exportStar(require("./origin-node"), exports);
22
+ var origin_node_1 = require("./origin-node");
23
+ Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(origin_node_1).default; } });
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultValue = void 0;
4
+ exports.generateProviderSDRN = generateProviderSDRN;
5
+ exports.default = provider;
6
+ const PROVIDER_ID_UNDEFINED = '--PROVIDER-ID-NOT-DEFINED--';
7
+ const DEFAULT_PROVIDER_TYPE = 'Organization';
8
+ function generateProviderSDRN(providerId) {
9
+ if (providerId) {
10
+ return `sdrn:schibsted:client:${providerId}`;
11
+ }
12
+ return PROVIDER_ID_UNDEFINED;
13
+ }
14
+ function provider(input) {
15
+ const { provider: providerInput } = input || {};
16
+ const { id, type = DEFAULT_PROVIDER_TYPE, ...rest } = providerInput || {};
17
+ const base = {
18
+ '@type': type,
19
+ '@id': generateProviderSDRN(id),
20
+ };
21
+ return Object.assign({}, base, rest);
22
+ }
23
+ const defaultValue = () => undefined;
24
+ exports.defaultValue = defaultValue;
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultValue = exports.readSession = exports.readAndParse = void 0;
4
+ exports.default = session;
5
+ const pulse_utils_1 = require("@schibsted/pulse-utils");
6
+ const uuid_1 = require("uuid");
7
+ const { USE_LOCALSTORAGE } = pulse_utils_1.cookieConfig;
8
+ const SESSION_STORAGE_KEY = '_pulsesession';
9
+ const generateSessionSDRN = (sessionId) => `sdrn:schibsted:session:${sessionId}`;
10
+ // Return parsed json from cookie (or localStorage if enabled), or undefined.
11
+ const readAndParse = (storageKey) => {
12
+ try {
13
+ const storedSession = (0, pulse_utils_1.readCookie)(storageKey);
14
+ if (storedSession) {
15
+ return JSON.parse(storedSession);
16
+ }
17
+ }
18
+ catch (_e) {
19
+ // If localStorage/cookie is not available, we treat it as if
20
+ // the value is undefined.
21
+ // If data is unparseable, we also ignore it.
22
+ return undefined;
23
+ }
24
+ return undefined;
25
+ };
26
+ exports.readAndParse = readAndParse;
27
+ // Read and parse session data from localStorage.
28
+ // Any invalid or unreadable data is ignored.
29
+ const readSession = () => {
30
+ const storedSession = (0, exports.readAndParse)(SESSION_STORAGE_KEY);
31
+ if (storedSession) {
32
+ const [id, startTimeMs, lastEventTimeMs] = storedSession;
33
+ const startTime = new Date(startTimeMs);
34
+ const lastEventTime = new Date(lastEventTimeMs);
35
+ if (id &&
36
+ startTime &&
37
+ lastEventTime &&
38
+ !Number.isNaN(startTime.getTime()) &&
39
+ !Number.isNaN(lastEventTime.getTime())) {
40
+ return { id, startTime, lastEventTime };
41
+ }
42
+ }
43
+ return undefined;
44
+ };
45
+ exports.readSession = readSession;
46
+ // Write session data to localStorage
47
+ const writeSession = (session) => {
48
+ const { id, startTime, lastEventTime } = session;
49
+ try {
50
+ const sessionToStore = [id, startTime.getTime(), lastEventTime.getTime()];
51
+ const halfHourInDays = 1.0 / (24 * 2);
52
+ (0, pulse_utils_1.writeCookie)(SESSION_STORAGE_KEY, JSON.stringify(sessionToStore), (0, pulse_utils_1.getRootDomain)(), halfHourInDays);
53
+ // Delete old localStorage-based session if needed
54
+ if (!USE_LOCALSTORAGE && pulse_utils_1.isBrowser && window.localStorage) {
55
+ // removeItem will do nothing to a non-existing item.
56
+ window.localStorage.removeItem(SESSION_STORAGE_KEY);
57
+ }
58
+ }
59
+ catch (_e) {
60
+ // If we can't write the session, we just move on in life
61
+ }
62
+ };
63
+ const createSession = (eventCreationDate) => {
64
+ const now = eventCreationDate ?? new Date();
65
+ return {
66
+ id: generateSessionSDRN((0, uuid_1.v4)()),
67
+ startTime: now,
68
+ lastEventTime: now,
69
+ };
70
+ };
71
+ const updateSession = (session, eventCreationDate) => {
72
+ const now = eventCreationDate ?? new Date();
73
+ const sessionMaxInterval = 30 * 60 * 1000; // 30 minutes in milliseconds
74
+ if (!session || session.lastEventTime.getTime() < now.getTime() - sessionMaxInterval) {
75
+ return createSession(now);
76
+ }
77
+ return { ...session, lastEventTime: now };
78
+ };
79
+ const defaultValue = () => undefined;
80
+ exports.defaultValue = defaultValue;
81
+ // Add session information to an event
82
+ // {
83
+ // "session": {
84
+ // "id": "sdrn:schibsted:session:123e4567-e89b-12d3-a456-426655440000",
85
+ // "startTime": "2020-01-21T12:29:00.999Z"
86
+ // }
87
+ // }
88
+ function session(_input, eventCreationDate) {
89
+ const oldSession = (0, exports.readSession)();
90
+ const newSession = updateSession(oldSession, eventCreationDate);
91
+ writeSession(newSession);
92
+ const { id, startTime } = newSession;
93
+ return {
94
+ '@id': id,
95
+ startTime: startTime.toISOString(),
96
+ };
97
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultValue = void 0;
4
+ exports.default = default_1;
5
+ const defaultValue = () => undefined;
6
+ exports.defaultValue = defaultValue;
7
+ function default_1(input) {
8
+ return input ?? {};
9
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ var __importDefault = (this && this.__importDefault) || function (mod) {
17
+ return (mod && mod.__esModule) ? mod : { "default": mod };
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.default = void 0;
21
+ __exportStar(require("./session-browser"), exports);
22
+ var session_browser_1 = require("./session-browser");
23
+ Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(session_browser_1).default; } });
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ var __importDefault = (this && this.__importDefault) || function (mod) {
17
+ return (mod && mod.__esModule) ? mod : { "default": mod };
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.default = void 0;
21
+ __exportStar(require("./tracker-node"), exports);
22
+ var tracker_node_1 = require("./tracker-node");
23
+ Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(tracker_node_1).default; } });
24
+ /*
25
+ * this use case has not surfaced in any implementation:
26
+ */
27
+ // export const defaultValue = () => {
28
+ // const { timing } = (window.performance || {});
29
+ // return {
30
+ // performance: {
31
+ // browser: timing ? timing.toJSON() : undefined,
32
+ // },
33
+ // };
34
+ // };
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.defaultValue = void 0;
7
+ exports.default = tracker;
8
+ const version_json_1 = __importDefault(require("../version.json"));
9
+ /**
10
+ * Format tracker objects
11
+ */
12
+ function tracker(input) {
13
+ const { tracker: trackerInput } = input || {};
14
+ const base = {
15
+ name: 'Pulse Node.js SDK',
16
+ type: 'JS',
17
+ version: version_json_1.default.SDK_VERSION,
18
+ };
19
+ return Object.assign({}, base, trackerInput);
20
+ }
21
+ const defaultValue = () => undefined;
22
+ exports.defaultValue = defaultValue;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ var __importDefault = (this && this.__importDefault) || function (mod) {
17
+ return (mod && mod.__esModule) ? mod : { "default": mod };
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.default = void 0;
21
+ __exportStar(require("./tracker-node"), exports);
22
+ var tracker_node_1 = require("./tracker-node");
23
+ Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(tracker_node_1).default; } });
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.baseConfig = exports.remoteConfig = exports.CISEndpoints = exports.collectorEndpoints = void 0;
4
+ exports.collectorEndpoints = {
5
+ dev: 'https://collector.pulse-internal-dev.schibsted.io',
6
+ pre: 'https://collector.pulse-internal-pre.schibsted.io',
7
+ pro: 'https://dc.schibsted.io',
8
+ };
9
+ exports.CISEndpoints = {
10
+ dev: 'https://cis.pulse-internal-dev.schibsted.io',
11
+ pre: 'https://cis.pulse-internal-pre.schibsted.io',
12
+ pro: 'https://ncis.schibsted.com',
13
+ };
14
+ exports.remoteConfig = {
15
+ dev: 'https://sdkconfig.pulse-internal-dev.schibsted.io/js/config.json',
16
+ pre: 'https://sdkconfig.pulse-internal-pre.schibsted.io/js/config.json',
17
+ pro: 'https://sdkconfig.pulse.schibsted.io/js/config.json',
18
+ };
19
+ exports.baseConfig = {
20
+ cisEnabled: true,
21
+ deployStage: 'pro',
22
+ eventDebounce: 200,
23
+ environment: 'browser',
24
+ collectorPath: '/api/v1/track',
25
+ useBeaconWhenAvailable: true,
26
+ };
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.baseConfig = void 0;
4
+ exports.baseConfig = {
5
+ eventDebounce: 10,
6
+ environment: 'node',
7
+ cisEnabled: true,
8
+ collectorPath: '/api/v1/content',
9
+ };
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ /**
3
+ * @module createPulseTracker
4
+ * This module is part of the Pulse SDK implementation of Schibsted's Mandatory Building Blocks (MBB) specification.
5
+ * It is intended to simplify the creation and management of a singleton Pulse Tracker instance in browser environments.
6
+ * Note that this module should only be used in browser environments, as it relies on the global `window` object.
7
+ */
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.createPulseTracker = createPulseTracker;
13
+ const pulse_utils_1 = require("@schibsted/pulse-utils/");
14
+ const Tracker_1 = __importDefault(require("./Tracker"));
15
+ /**
16
+ * Flags whether the Pulse Tracker creation process has been started.
17
+ */
18
+ function isTrackerCreated() {
19
+ return pulse_utils_1.isBrowser && !!window.__pulseTracker;
20
+ }
21
+ /**
22
+ * Make the given tracker instance globally accessible
23
+ * @param singleton
24
+ */
25
+ function attachTrackerToWindow(singleton) {
26
+ if (pulse_utils_1.isBrowser) {
27
+ window.__pulseTracker = singleton;
28
+ }
29
+ }
30
+ /**
31
+ * Creates and returns the singleton Pulse Tracker instance.
32
+ * @param clientId
33
+ * @param config
34
+ * @param builders
35
+ * @throws - If called outside a browser environment.
36
+ * @throws - If the Pulse Tracker has already been created (or creation is already in progress).
37
+ */
38
+ async function createPulseTracker({ clientId, config, builders }) {
39
+ if (!pulse_utils_1.isBrowser) {
40
+ throw new Error('createPulseTracker is only available in browser environments');
41
+ }
42
+ if (isTrackerCreated()) {
43
+ throw new Error('Pulse Tracker is already created (or creation already started)');
44
+ }
45
+ const singleton = (async () => {
46
+ return new Tracker_1.default(clientId, config, builders);
47
+ })();
48
+ attachTrackerToWindow(singleton);
49
+ return singleton;
50
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = default_1;
4
+ const emptyFn = () => {
5
+ void 0;
6
+ };
7
+ function default_1(value) {
8
+ let res = emptyFn;
9
+ let rej = emptyFn;
10
+ const promise = new Promise((resolve, reject) => {
11
+ res = resolve;
12
+ rej = reject;
13
+ });
14
+ return {
15
+ promise,
16
+ resolve: res,
17
+ reject: rej,
18
+ inputValue: value,
19
+ };
20
+ }