@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,52 @@
1
+ import type { AnonymousTrackerEventInput } from '../events-anonymous-node';
2
+ type PageInput = {
3
+ id?: string;
4
+ type?: string;
5
+ [k: string]: unknown | undefined;
6
+ };
7
+ /**
8
+ * @typedef AnonymousObjectInput
9
+ * Object input
10
+ *
11
+ * The root object should at least an `id` and `type`. The object will be passed
12
+ * as-if if those two fields are missing.
13
+ *
14
+ * Any field containing an object or array will be formatted recursively.
15
+ *
16
+ * Example object:
17
+
18
+ * ```
19
+ * {
20
+ * type: 'Listing',
21
+ * id: 'search-query',
22
+ * items: [{
23
+ * type: 'ClassifiedAd',
24
+ * id: 'ad-123'
25
+ * }]
26
+ *}
27
+ *```
28
+ */
29
+ export type AnonymousObjectInput = {
30
+ id?: string;
31
+ type?: string;
32
+ item?: AnonymousObjectInput;
33
+ items?: Array<AnonymousObjectInput>;
34
+ page?: PageInput;
35
+ custom: never;
36
+ 'spt:custom': never;
37
+ [k: string]: unknown | undefined;
38
+ };
39
+ /**
40
+ * Format object.
41
+ *
42
+ * This function will recursively format itself and all nested object.
43
+ * The initialPage parameter is optional and will be used in the recursive
44
+ * nature to always pass in the root object page to each formatting.
45
+ *
46
+ * @private
47
+ * @param {object} input
48
+ * @param {object|undefined} pageInput Optional
49
+ */
50
+ export declare const formatObject: (input: Pick<AnonymousTrackerEventInput, "object">, pageInput?: PageInput) => Record<string, unknown> | undefined;
51
+ export default formatObject;
52
+ export declare const defaultValue: () => undefined;
@@ -0,0 +1,2 @@
1
+ export * from './objects-anonymous-node';
2
+ export { default } from './objects-anonymous-node';
@@ -0,0 +1,11 @@
1
+ export * from './objects-node';
2
+ export { default } from './objects-node';
3
+ export declare const defaultValue: () => {
4
+ name?: undefined;
5
+ url?: undefined;
6
+ id?: undefined;
7
+ } | {
8
+ name: string;
9
+ url: string | undefined;
10
+ id: string | undefined;
11
+ };
@@ -0,0 +1,60 @@
1
+ import type { TrackerEventInput } from '../events';
2
+ /**
3
+ * Minimal set of page properties to derive other values, like @id.
4
+ */
5
+ export type PageInput = {
6
+ id?: string;
7
+ type?: string;
8
+ [k: string]: unknown | undefined;
9
+ };
10
+ /**
11
+ * Object input
12
+ *
13
+ * The root object should at least an `id` and `type`. The object will be passed
14
+ * as-if if those two fields are missing.
15
+ *
16
+ * Any field containing an object or array will be formatted recursively.
17
+ *
18
+ * Example object:
19
+ *
20
+ * ```js
21
+ * {
22
+ * type: 'Listing',
23
+ * id: 'search-query',
24
+ * items: [{
25
+ * type: 'ClassifiedAd',
26
+ * id: 'ad-123'
27
+ * }]
28
+ * }
29
+ *```
30
+ */
31
+ export type ObjectInput = {
32
+ id?: string;
33
+ type?: string;
34
+ realm?: string;
35
+ custom?: Record<string, unknown>;
36
+ item?: ObjectInput;
37
+ items?: Array<ObjectInput>;
38
+ page?: PageInput;
39
+ [k: string]: unknown | undefined;
40
+ };
41
+ /**
42
+ * Format object.
43
+ *
44
+ * This function will recursively format itself and all nested object.
45
+ * The initialPage parameter is optional and will be used in the recursive
46
+ * nature to always pass in the root object page to each formatting.
47
+ *
48
+ * @param input
49
+ * @param pageInput
50
+ * @private
51
+ */
52
+ export declare const formatObject: (input: Pick<TrackerEventInput, "object">, pageInput?: PageInput) => Record<string, unknown> | undefined;
53
+ /**
54
+ * @internal
55
+ */
56
+ export default formatObject;
57
+ /**
58
+ * @internal
59
+ */
60
+ export declare const defaultValue: () => undefined;
@@ -0,0 +1,2 @@
1
+ export * from './objects-node';
2
+ export { default } from './objects-node';
@@ -0,0 +1 @@
1
+ export declare function generateObjectSDRN(id?: string | number, providerId?: string, type?: string): string | number | undefined;
@@ -0,0 +1,5 @@
1
+ export * from './origin-node';
2
+ export { default } from './origin-node';
3
+ export declare const defaultValue: () => {
4
+ url: string;
5
+ };
@@ -0,0 +1,18 @@
1
+ import type { TrackerEventInput } from './events';
2
+ /**
3
+ * @typedef OriginInput
4
+ */
5
+ export type OriginInput = {
6
+ id?: string;
7
+ url?: string;
8
+ type?: string;
9
+ [k: string]: unknown | undefined;
10
+ };
11
+ export default function origin(input: Pick<TrackerEventInput, 'origin' | 'provider'>): {
12
+ '@type'?: string | undefined;
13
+ '@id'?: string | number | undefined;
14
+ } & {
15
+ [k: string]: unknown;
16
+ url?: string;
17
+ };
18
+ export declare const defaultValue: () => undefined;
@@ -0,0 +1,2 @@
1
+ export * from './origin-node';
2
+ export { default } from './origin-node';
@@ -0,0 +1,14 @@
1
+ import type { TrackerEventInput } from './events';
2
+ export type ProviderInput = {
3
+ id: string;
4
+ type?: string;
5
+ [k: string]: unknown | undefined;
6
+ };
7
+ export type Provider = {
8
+ '@id': string;
9
+ '@type': string;
10
+ [k: string]: unknown | undefined;
11
+ };
12
+ export declare function generateProviderSDRN(providerId?: string): string;
13
+ export default function provider(input?: Pick<TrackerEventInput, 'provider'>): Provider;
14
+ export declare const defaultValue: () => undefined;
@@ -0,0 +1,20 @@
1
+ import type { TrackerEventInput } from './events-node';
2
+ export type Session = {
3
+ '@id': string;
4
+ startTime: string;
5
+ };
6
+ type StoredSession = {
7
+ id: string;
8
+ startTime: Date;
9
+ lastEventTime: Date;
10
+ };
11
+ type StoredSessionSerialized = [
12
+ id: string,
13
+ startTime: number,
14
+ lastEventTime: number
15
+ ];
16
+ export declare const readAndParse: (storageKey: string) => StoredSessionSerialized | undefined;
17
+ export declare const readSession: () => StoredSession | undefined;
18
+ export declare const defaultValue: () => undefined;
19
+ export default function session(_input?: TrackerEventInput, eventCreationDate?: Date): Session;
20
+ export {};
@@ -0,0 +1,3 @@
1
+ import type { TrackerEventInput } from './events';
2
+ export declare const defaultValue: () => undefined;
3
+ export default function (input?: TrackerEventInput): TrackerEventInput;
@@ -0,0 +1,2 @@
1
+ export * from './session-browser';
2
+ export { default } from './session-browser';
@@ -0,0 +1,2 @@
1
+ export * from './tracker-node';
2
+ export { default } from './tracker-node';
@@ -0,0 +1,14 @@
1
+ import type { TrackerEventInput } from './events';
2
+ /** */
3
+ export type TrackerInput = Record<string, unknown>;
4
+ export type Tracker = {
5
+ name: string;
6
+ type: string;
7
+ version: string;
8
+ [k: string]: unknown | undefined;
9
+ };
10
+ /**
11
+ * Format tracker objects
12
+ */
13
+ export default function tracker(input?: Pick<TrackerEventInput, 'tracker'>): Tracker;
14
+ export declare const defaultValue: () => undefined;
@@ -0,0 +1,2 @@
1
+ export * from './tracker-node';
2
+ export { default } from './tracker-node';
@@ -0,0 +1,23 @@
1
+ export declare const collectorEndpoints: {
2
+ dev: string;
3
+ pre: string;
4
+ pro: string;
5
+ };
6
+ export declare const CISEndpoints: {
7
+ dev: string;
8
+ pre: string;
9
+ pro: string;
10
+ };
11
+ export declare const remoteConfig: {
12
+ dev: string;
13
+ pre: string;
14
+ pro: string;
15
+ };
16
+ export declare const baseConfig: {
17
+ cisEnabled: boolean;
18
+ deployStage: string;
19
+ eventDebounce: number;
20
+ environment: string;
21
+ collectorPath: string;
22
+ useBeaconWhenAvailable: boolean;
23
+ };
@@ -0,0 +1,6 @@
1
+ export declare const baseConfig: {
2
+ eventDebounce: number;
3
+ environment: "node" | "browser";
4
+ cisEnabled: boolean;
5
+ collectorPath: string;
6
+ };
@@ -0,0 +1,21 @@
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 Tracker, { type Builders, type SDKConfigInput } from './Tracker';
8
+ export interface IPulseTrackerCreateParams {
9
+ clientId: string;
10
+ config?: SDKConfigInput;
11
+ builders?: Builders;
12
+ }
13
+ /**
14
+ * Creates and returns the singleton Pulse Tracker instance.
15
+ * @param clientId
16
+ * @param config
17
+ * @param builders
18
+ * @throws - If called outside a browser environment.
19
+ * @throws - If the Pulse Tracker has already been created (or creation is already in progress).
20
+ */
21
+ export declare function createPulseTracker({ clientId, config, builders }: IPulseTrackerCreateParams): Promise<Tracker>;
@@ -0,0 +1,28 @@
1
+ import type { EventInput } from './types';
2
+ /**
3
+ * @public
4
+ * @typedef ResolvedInput
5
+ * A deferred EventInput can be resolved in a concrete PulseEvent object, a promise of one or the
6
+ * response of the network call to the Collector's endpoint.
7
+ */
8
+ export type ResolvedInput = EventInput | PromiseLike<EventInput> | Response;
9
+ /**
10
+ * @private
11
+ * @typedef PromiseResolver
12
+ * Defines possible inputs for resolving or rejecting a deferred EventInput.
13
+ */
14
+ type PromiseResolver = (param: ResolvedInput) => void;
15
+ /**
16
+ * @public
17
+ * @typedef Deferred
18
+ * Wraps the EventInput into a Promise, which has its resolve and reject callbacks externalized, so an
19
+ * outside scope can access them and postpone its resolution.
20
+ */
21
+ export type Deferred = {
22
+ promise: Promise<ResolvedInput>;
23
+ resolve: PromiseResolver;
24
+ reject: PromiseResolver;
25
+ inputValue: EventInput | PromiseLike<EventInput>;
26
+ };
27
+ export default function (value: EventInput | PromiseLike<EventInput>): Deferred;
28
+ export {};
@@ -0,0 +1,59 @@
1
+ /**
2
+ * @module getPulseTracker
3
+ * This module is part of the Pulse SDK implementation of Schibsted's Mandatory Building Blocks (MBB) specification.
4
+ * It provides a function to retrieve the 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
+ * @privateRemarks
8
+ * For future contributors: This module is designed to work as lean as possible, avoiding dependencies on other
9
+ * parts of the SDK.
10
+ * This is to ensure that it can be safely imported and used in various contexts without introducing unnecessary
11
+ * submodules and package dependencies. Only types are imported from other parts of the SDK.
12
+ */
13
+ import type { Tracker } from './index';
14
+ type PulseTrackerReadyEventDetail = {
15
+ payload: {
16
+ tracker: Tracker;
17
+ };
18
+ };
19
+ type PulseTrackerReadyEvent = CustomEvent<PulseTrackerReadyEventDetail>;
20
+ /**
21
+ * Event name dispatched when the Pulse Tracker instance is ready.
22
+ * It includes the "pulse:" namespace to avoid potential conflicts with other libraries.
23
+ */
24
+ declare const PULSE_TRACKER_READY_EVENT = "pulse:tracker:ready";
25
+ declare global {
26
+ interface Window {
27
+ __pulseTracker?: Promise<Tracker>;
28
+ }
29
+ interface WindowEventMap {
30
+ [PULSE_TRACKER_READY_EVENT]: PulseTrackerReadyEvent;
31
+ }
32
+ }
33
+ /**
34
+ * Returns the singleton Pulse Tracker instance.
35
+ * @throws - If the Pulse Tracker creation did not resolve within the timeout limit.
36
+ * @throws - If called outside a browser environment.
37
+ *
38
+ * @example
39
+ *
40
+ * ```ts
41
+ * import { getPulseTracker, type Tracker } from '@schibsted/pulse-sdk-js';
42
+ *
43
+ * let pulseTracker: Promise<Tracker>;
44
+ *
45
+ * try {
46
+ * pulseTracker = await getPulseTracker();
47
+ * } catch(error) {
48
+ * // not in browser environment
49
+ * // or
50
+ * // tracker not resolved within time limit
51
+ * }
52
+ *
53
+ * if (pulseTracker) {
54
+ * pulseTracker.trackViewPage({ ... });
55
+ * }
56
+ * ```
57
+ */
58
+ export declare function getPulseTracker(): Promise<Tracker>;
59
+ export {};
@@ -0,0 +1,28 @@
1
+ import type { ActorInput } from '../builders';
2
+ import type { Builders } from '../Tracker';
3
+ /**
4
+ * @internal exported for testing
5
+ */
6
+ export declare const WARN_CIS_SYNC_LOGIN_UNDEFINED: string;
7
+ /**
8
+ * Get the actor id (userId) from the current browser. A promise is returned
9
+ * because a call may be made to complete the login process.
10
+ *
11
+ * *Note*: This method will return a Promise that is always rejected on node
12
+ environments.
13
+ @category Identifiers
14
+ */
15
+ declare const getUserId: (builders: Builders) => Promise<string | number | undefined>;
16
+ /**
17
+ * @category Identifiers
18
+ */
19
+ declare const getActor: (builders: Builders) => Promise<ActorInput>;
20
+ declare const userIsLoggedIn: (builders: Builders) => Promise<boolean>;
21
+ /**
22
+ * Evaluate actor input given to the sdk/this method and pass it through the
23
+ * Actor event formatter.
24
+ * @category Tracker
25
+ * @private
26
+ */
27
+ declare const evaluateActor: (eventInput?: unknown, builders?: Builders) => Promise<ActorInput>;
28
+ export { getUserId, getActor, userIsLoggedIn, evaluateActor };
@@ -0,0 +1,30 @@
1
+ import type { AdvertisingIdentifiers } from '@schibsted/pulse-cis-sync';
2
+ import type { Builders, SDKState } from '../Tracker';
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
+ declare const getIncludeAdvertising: (sdkState: SDKState) => boolean | Promise<boolean>;
11
+ /**
12
+ * Get the advertisement id (adId) from the current browser. A promise is returned
13
+ * because a CIS call is done to generate a new adId if no cookie is
14
+ * found.
15
+ *
16
+ * *Note*: This method will return a Promise that is always rejected on node
17
+ * environments.
18
+ * @category Identifiers
19
+ * @deprecated Advertising Identifiers methods will be removed in the next major version.
20
+ */
21
+ declare const getAdId: (builders: Builders, sdkState: SDKState) => Promise<string | undefined>;
22
+ /**
23
+ * Get the Advertisement Identifiers for a Vendor or all Vendors.
24
+ * @param builders
25
+ * @param sdkState
26
+ * @category Identifiers
27
+ * @deprecated Advertising Identifiers methods will be removed in the next major version.
28
+ */
29
+ declare const getAdvertisingIdentifiers: (builders: Builders, sdkState: SDKState) => Promise<AdvertisingIdentifiers>;
30
+ export { getAdId, getIncludeAdvertising, getAdvertisingIdentifiers };
@@ -0,0 +1,21 @@
1
+ import type { PPIDsByVendor } from '@schibsted/pulse-cis-sync';
2
+ import { clearCookieJweIfStale } from '@schibsted/pulse-cis-sync';
3
+ import type { Builders, SDKState } from '../Tracker';
4
+ declare const requireCisSyncCallForAdvertisingIds: () => void;
5
+ /**
6
+ * Sync our ids with cis given the userId from the event or builders.
7
+ * @param data the event parameters (the data passed to `.track()`),
8
+ * if called in a context where an event is being sent.
9
+ *
10
+ * @param builders
11
+ * @param config
12
+ * @returns the parsed pulse cookie after syncing with cis.
13
+ * @category Identifiers
14
+ */
15
+ declare const cisSync: (data?: unknown, builders?: Builders, config?: SDKState) => Promise<{
16
+ adId?: string;
17
+ doTracking: boolean;
18
+ environmentId?: string;
19
+ ppId?: PPIDsByVendor;
20
+ }>;
21
+ export { clearCookieJweIfStale, cisSync, requireCisSyncCallForAdvertisingIds };
@@ -0,0 +1,12 @@
1
+ import type { Builders, SDKState } from '../Tracker';
2
+ /**
3
+ * Get the environment id from the current browser. A promise is returned
4
+ * because a CIS call is done to generate a new environmentId if no cookie is
5
+ * found.
6
+ *
7
+ * *Note*: This method will return a Promise that is always rejected on node
8
+ * environments.
9
+ * @category Identifiers
10
+ */
11
+ declare const getEnvironmentId: (builders: Builders, sdkState: SDKState) => Promise<string | undefined>;
12
+ 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,31 @@
1
+ import T from './Tracker';
2
+ export default T;
3
+ export * as EventBuilders from './builders';
4
+ export { TrackerEventInput } from './builders/events-node';
5
+ export * from './Tracker';
6
+ export { EventInput } from './types';
7
+ export { T as Tracker };
8
+ export type { InputParams } from '@schibsted/tpaas-event-builder';
9
+ export * from '@schibsted/tpaas-schemas';
10
+ export type { IPulseTrackerCreateParams } from './createPulseTracker';
11
+ export { createPulseTracker } from './createPulseTracker';
12
+ export { getPulseTracker } from './getPulseTracker';
13
+ export { AdditionalHeightInfo, LeaveEngagement, LeaveEvent, LeaveEventBuilder, LeaveEventOptions, } from './leaveTracking/types';
14
+ export { subscribe, subscribeOnce, subscribeWithState, unsubscribe } from './Tracker';
15
+ /**
16
+ * TPaaS specific type exports
17
+ */
18
+ export type { AudioPageLeaveTrackingOptions, LeaveAudioInput, LeaveStoriesInput, LeaveTrackingDisabled, LeaveTrackingOptions, TrackViewAudioPageOptions, TrackViewEventOptions, TrackViewVideoPageOptions, VideoPageLeaveTrackingOptions, } from './types';
19
+ /**
20
+ * Media Wrapper Types exports below
21
+ */
22
+ export type { ClickUIElementEvent, ClickUIElementInputObject, ClickUIElementInputProperties, ClickUIElementOutputObject, } from './wrapper/engagement/ui-element/types.js';
23
+ export type { Actor, BaseEvent, BaseEventCustom, BaseEventObject, BaseEventOrigin, BaseEventProvider, EventProperties, } from './wrapper/types/base-event.js';
24
+ export type { AccessLevel, Layout, NavigationType, Page, PageType, Placement, Target, TargetCategory, TargetType, } from './wrapper/types/event.js';
25
+ export type { ViewArticleEvent, ViewArticleInputObject, ViewArticleInputProperties, ViewArticleOutputObject, } from './wrapper/view/article/types.js';
26
+ export type { ViewFrontpageEvent, ViewFrontpageInputObject, ViewFrontpageInputProperties, ViewFrontpageOutputObject, } from './wrapper/view/frontpage/types.js';
27
+ export type { ViewListingEvent, ViewListingInputObject, ViewListingInputProperties, ViewListingOutputObject, } from './wrapper/view/listing/types.js';
28
+ export type { ViewLoginPosterEvent, ViewLoginPosterInputObject, ViewLoginPosterInputProperties, ViewLoginPosterOutputObject, } from './wrapper/view/loginposter/types.js';
29
+ export type { ViewPageEvent, ViewPageInputObject, ViewPageInputProperties, ViewPageOutputObject, } from './wrapper/view/page/types.js';
30
+ export type { ViewSalesPosterEvent, ViewSalesPosterInputObject, ViewSalesPosterInputProperties, ViewSalesPosterOutputObject, } from './wrapper/view/salesposter/types.js';
31
+ export type { ViewUIElementEvent, ViewUIElementInputObject, ViewUIElementInputProperties, ViewUIElementOutputObject, } from './wrapper/view/ui-element/types.js';
@@ -0,0 +1,26 @@
1
+ import type { LeaveEvent } from './types';
2
+ export declare const DEFAULT_ACTIVITY_DURATION: () => {
3
+ value: number;
4
+ interval: undefined;
5
+ timeSinceLastActivity: number;
6
+ };
7
+ export declare const DEFAULT_VIEWED_CONTENT: () => {
8
+ objectViewPercentage: number;
9
+ maxObjectViewPercentage: number;
10
+ pageViewPercentage: number;
11
+ maxPageViewPercentage: number;
12
+ pageScrollPosition: number;
13
+ maxPageScrollPosition: number;
14
+ };
15
+ export declare const DEFAULT_PAGE_LEAVE_EVENT: () => {
16
+ type: string;
17
+ engagement: {
18
+ objectViewPercentage: number;
19
+ maxObjectViewPercentage: number;
20
+ pageViewPercentage: number;
21
+ maxPageViewPercentage: number;
22
+ pageScrollPosition: number;
23
+ maxPageScrollPosition: number;
24
+ };
25
+ };
26
+ export declare const DEFAULT_LEAVE_EVENT_BUILDER: () => () => LeaveEvent;
@@ -0,0 +1,23 @@
1
+ import type Tracker from '../Tracker';
2
+ import type { LeaveEvent, LeaveEventBuilder, LeaveEventOptions, Listener } from './types';
3
+ export declare function addPageLeaveTracking(tracker: Tracker, objectElement: Element, pageElement: Element, eventBuilder?: LeaveEventBuilder, options?: LeaveEventOptions): void;
4
+ export declare function leaveTrackingIsActive(): boolean;
5
+ export declare function removePageLeaveTracking(tracker: Tracker): void;
6
+ /**
7
+ * Update page leave tracking
8
+ * @param objectElement new object element to track
9
+ * @param pageElement new page element to track
10
+ * @param resetProperties if ALL engagement properties should be reset (duration, scroll etc.)
11
+ */
12
+ export declare function updatePageLeaveTracking(objectElement: Element, pageElement: Element, resetProperties: boolean): void;
13
+ export declare const resetViewedContent: () => void;
14
+ export declare function updatePageLeaveEvent(leaveEvent: LeaveEvent): void;
15
+ export declare function trackActivePageLeave(tracker: Tracker, providedEvent?: LeaveEvent, eventName?: string): void;
16
+ export declare function trackPageLeave(tracker: Tracker, providedEvent?: LeaveEvent, eventName?: string): Promise<void>;
17
+ export declare function updateViewedContent(objectElement: Element, pageElement: Element): void;
18
+ export declare const calculateScrolledPixels: (element: Element) => number;
19
+ export declare const calculateScrollPosition: (element: Element) => number;
20
+ export declare function addEventListeners(events: string[], handler: () => void, options?: boolean | AddEventListenerOptions): Listener[];
21
+ export declare function removeEventListeners(eventListeners: Listener[], options?: {
22
+ capture?: boolean;
23
+ }): Listener[];
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Function that builds a LeaveEvent
3
+ * @internal
4
+ */
5
+ export type LeaveEventBuilder = () => LeaveEvent;
6
+ /**
7
+ * Options for Leave event tracking
8
+ */
9
+ export interface LeaveEventOptions {
10
+ objectResizable?: boolean;
11
+ additionalHeightBuilder?: () => AdditionalHeightInfo;
12
+ }
13
+ /**
14
+ * Leave event type
15
+ */
16
+ export type LeaveEvent = {
17
+ type?: string;
18
+ engagement?: LeaveEngagement;
19
+ object?: {
20
+ 'spt:custom'?: {
21
+ 'spt:eventName'?: string;
22
+ };
23
+ };
24
+ [k: string]: unknown | undefined;
25
+ };
26
+ /**
27
+ * Engagement data included in leave events
28
+ */
29
+ export type LeaveEngagement = {
30
+ activityDuration: number;
31
+ duration: number;
32
+ maxObjectViewPercentage: number;
33
+ maxPageScrollPosition: number;
34
+ maxPageViewPercentage: number;
35
+ objectViewPercentage: number;
36
+ pageScrollPosition: number;
37
+ pageViewPercentage: number;
38
+ };
39
+ /**
40
+ * Currently supported browser events
41
+ */
42
+ export declare enum BrowserEvents {
43
+ BEFORE_UNLOAD = "beforeunload",
44
+ PAGE_HIDE = "pagehide",
45
+ POP_STATE = "popstate",
46
+ VISIBILITY_CHANGE = "visibilitychange",
47
+ SCROLL = "scroll",
48
+ RESIZE = "resize",
49
+ MOUSEDOWN = "mousedown",
50
+ MOUSEMOVE = "mousemove",
51
+ KEYDOWN = "keydown",
52
+ TOUCHSTART = "touchstart"
53
+ }
54
+ export type Listener = [name: string, listener: () => void];
55
+ /**
56
+ * Data about user activity duration
57
+ */
58
+ export type ActivityDuration = {
59
+ value: number;
60
+ interval: number | undefined;
61
+ timeSinceLastActivity: number;
62
+ };
63
+ /**
64
+ * Used to provide extra height to view %-calculations for objects that have fake-scrolls or similar
65
+ * For instance if you have an element that captures scroll for about 1000px
66
+ * you would report totalHeight 1000px and then viewedHeight 0px if the user had not yet started scrolling, 500px if
67
+ * scrolled halfway through or 1000px if the user had scrolled to the end or past that element
68
+ */
69
+ export interface AdditionalHeightInfo {
70
+ /**
71
+ * The number of px to add to the object & page height
72
+ */
73
+ totalHeight: number;
74
+ /**
75
+ * The number of px to add to the user's current scroll depth
76
+ */
77
+ viewedHeight: number;
78
+ }
@@ -0,0 +1,13 @@
1
+ export declare const DEFAULT_ACTIVITY_DURATION: () => {
2
+ value: number;
3
+ interval: undefined;
4
+ timeSinceLastActivity: number;
5
+ };
6
+ export declare const DEFAULT_PAGE_LEAVE_EVENT: () => {
7
+ objectViewPercentage: number;
8
+ maxObjectViewPercentage: number;
9
+ pageViewPercentage: number;
10
+ maxPageViewPercentage: number;
11
+ pageScrollPosition: number;
12
+ maxPageScrollPosition: number;
13
+ };