@schibsted/pulse-sdk 8.0.0-rc.20 → 8.0.0-rc.21

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 (74) hide show
  1. package/dist/cjs/Tracker.js +170 -334
  2. package/dist/cjs/builders/session-browser.js +4 -79
  3. package/dist/cjs/session/store.js +96 -0
  4. package/dist/cjs/tpaas-builders/builders/device.js +42 -70
  5. package/dist/cjs/tpaas-builders/builders/pageInfo.js +2 -3
  6. package/dist/cjs/tpaas-builders/builders/session.js +2 -114
  7. package/dist/cjs/tpaas-builders/builders/utm.js +2 -8
  8. package/dist/cjs/tpaas-builders/builders.js +135 -148
  9. package/dist/cjs/tpaas-context/adapters.js +85 -0
  10. package/dist/cjs/tpaas-context/browser.js +51 -0
  11. package/dist/cjs/tpaas-context/index.js +6 -0
  12. package/dist/cjs/tpaas-context/prepare.js +177 -0
  13. package/dist/cjs/tpaas-context/session.js +23 -0
  14. package/dist/cjs/tpaas-schemas/constants.js +68 -75
  15. package/dist/cjs/tracker-proxy/consts.js +1 -2
  16. package/dist/cjs/version.js +1 -1
  17. package/dist/ejs/Tracker.js +171 -335
  18. package/dist/ejs/builders/session-browser.js +4 -77
  19. package/dist/ejs/session/store.js +90 -0
  20. package/dist/ejs/tpaas-builders/builders/device.js +42 -70
  21. package/dist/ejs/tpaas-builders/builders/pageInfo.js +2 -3
  22. package/dist/ejs/tpaas-builders/builders/session.js +1 -111
  23. package/dist/ejs/tpaas-builders/builders/utm.js +2 -8
  24. package/dist/ejs/tpaas-builders/builders.js +135 -147
  25. package/dist/ejs/tpaas-context/adapters.js +80 -0
  26. package/dist/ejs/tpaas-context/browser.js +47 -0
  27. package/dist/ejs/tpaas-context/index.js +1 -0
  28. package/dist/ejs/tpaas-context/prepare.js +137 -0
  29. package/dist/ejs/tpaas-context/session.js +19 -0
  30. package/dist/ejs/tpaas-schemas/constants.js +66 -73
  31. package/dist/ejs/tracker-proxy/consts.js +1 -2
  32. package/dist/ejs/version.js +1 -1
  33. package/dist/types/Tracker.d.ts +27 -23
  34. package/dist/types/builders/session-browser.d.ts +0 -13
  35. package/dist/types/session/store.d.ts +34 -0
  36. package/dist/types/tpaas-builders/builders/consents.d.ts +2 -2
  37. package/dist/types/tpaas-builders/builders/device.d.ts +2 -2
  38. package/dist/types/tpaas-builders/builders/experiments.d.ts +2 -2
  39. package/dist/types/tpaas-builders/builders/pageInfo.d.ts +2 -1
  40. package/dist/types/tpaas-builders/builders/pageviewId.d.ts +2 -2
  41. package/dist/types/tpaas-builders/builders/provider.d.ts +2 -2
  42. package/dist/types/tpaas-builders/builders/session.d.ts +1 -12
  43. package/dist/types/tpaas-builders/builders/trackerBuilder.d.ts +2 -2
  44. package/dist/types/tpaas-builders/builders/user.d.ts +2 -2
  45. package/dist/types/tpaas-builders/builders/utm.d.ts +2 -1
  46. package/dist/types/tpaas-builders/builders.d.ts +70 -70
  47. package/dist/types/tpaas-builders/index.d.ts +0 -1
  48. package/dist/types/tpaas-context/adapters.d.ts +26 -0
  49. package/dist/types/tpaas-context/browser.d.ts +8 -0
  50. package/dist/types/tpaas-context/index.d.ts +2 -0
  51. package/dist/types/tpaas-context/prepare.d.ts +38 -0
  52. package/dist/types/tpaas-context/session.d.ts +10 -0
  53. package/dist/types/tpaas-context/types.d.ts +66 -0
  54. package/dist/types/tpaas-schemas/constants.d.ts +66 -73
  55. package/dist/types/tpaas-schemas/types/ITpaasEvent.d.ts +2 -4
  56. package/dist/types/tpaas-schemas/types/schemas/{IAnonymousViewUIElement.d.ts → IAnonymousImpressionUIElement.d.ts} +2 -2
  57. package/dist/types/tpaas-schemas/types/schemas/IEngagementAudio.d.ts +6 -2
  58. package/dist/types/tpaas-schemas/types/schemas/IEngagementTeaser.d.ts +2 -2
  59. package/dist/types/tpaas-schemas/types/schemas/IEngagementTvModule.d.ts +4 -1
  60. package/dist/types/tpaas-schemas/types/schemas/IEngagementTvSearch.d.ts +4 -4
  61. package/dist/types/tpaas-schemas/types/schemas/IEngagementVideo.d.ts +6 -2
  62. package/dist/types/tpaas-schemas/types/schemas/IEngagementVideoAd.d.ts +10 -8
  63. package/dist/types/tpaas-schemas/types/schemas/IImpressionTeaser.d.ts +2 -2
  64. package/dist/types/tpaas-schemas/types/schemas/ILeaveWeather.d.ts +2 -0
  65. package/dist/types/tpaas-schemas/types/schemas/index.d.ts +1 -2
  66. package/dist/types/tpaas-schemas/types.d.ts +2 -2
  67. package/dist/types/tracker-proxy/consts.d.ts +1 -1
  68. package/dist/types/types.d.ts +2 -4
  69. package/dist/types/version.d.ts +1 -1
  70. package/package.json +1 -1
  71. package/dist/types/tpaas-builders/types.d.ts +0 -36
  72. package/dist/types/tpaas-schemas/types/schemas/IRequestAd.d.ts +0 -95
  73. /package/dist/cjs/{tpaas-builders → tpaas-context}/types.js +0 -0
  74. /package/dist/ejs/{tpaas-builders → tpaas-context}/types.js +0 -0
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getCommonBuildersOutput = void 0;
4
- exports.buildAnonymousViewUIElementEvent = buildAnonymousViewUIElementEvent;
4
+ exports.buildAnonymousImpressionUIElementEvent = buildAnonymousImpressionUIElementEvent;
5
5
  exports.buildViewArticleEvent = buildViewArticleEvent;
6
6
  exports.buildViewAudioPageEvent = buildViewAudioPageEvent;
7
7
  exports.buildViewErrorEvent = buildViewErrorEvent;
@@ -64,7 +64,6 @@ exports.buildImpressionTeaserEvent = buildImpressionTeaserEvent;
64
64
  exports.buildImpressionUIElementEvent = buildImpressionUIElementEvent;
65
65
  exports.buildImpressionWidgetEvent = buildImpressionWidgetEvent;
66
66
  exports.buildLoadAdEvent = buildLoadAdEvent;
67
- exports.buildRequestAdEvent = buildRequestAdEvent;
68
67
  const ts_deepmerge_1 = require("ts-deepmerge");
69
68
  const tpaas_schemas_1 = require("../tpaas-schemas");
70
69
  const anonymous_1 = require("./builders/anonymous");
@@ -85,20 +84,14 @@ const time_1 = require("./builders/time");
85
84
  const trackerBuilder_1 = require("./builders/trackerBuilder");
86
85
  const user_1 = require("./builders/user");
87
86
  const utm_1 = require("./builders/utm");
88
- /**
89
- * Common builders output to be merged into all events
90
- * @param createdAt
91
- * @param dependencies {TpaasEventBuilderDependencies}
92
- * @private
93
- */
94
- const getCommonBuildersOutput = (createdAt, dependencies, input) => {
95
- const { isHybrid, version, environmentId, jwe, user, consents, providerId, providerName, providerGroup, providerStage, providerProduct, providerVersion, component, componentVersion, pageviewId, currentPage, currentPageReferrer, routingStage, } = dependencies;
96
- const { experiments } = input;
97
- return (0, ts_deepmerge_1.merge)((0, trackerBuilder_1.builder)({ isHybrid, version, routingStage }), (0, time_1.builder)(createdAt), (0, session_1.builder)(createdAt), (0, device_1.builder)(environmentId, jwe), (0, user_1.builder)(user), (0, baseEvent_1.builder)(), (0, consents_1.builder)(consents), (0, provider_1.builder)(providerId, providerStage, providerProduct, providerVersion, component, componentVersion, providerName, providerGroup), (0, pageInfo_1.builder)(currentPage), (0, pageviewId_1.builder)(pageviewId), (0, utm_1.builder)(), (0, referrer_1.builder)(currentPageReferrer), (0, catalogVersion_1.builder)(), (0, experiments_1.builder)(dependencies.experiments, experiments));
87
+ const getCommonBuildersOutput = (context) => {
88
+ const { createdAt, session, isHybrid, version, environmentId, jwe, user, consents, providerId, providerName, providerGroup, providerStage, providerProduct, providerVersion, component, componentVersion, pageviewId, currentPage, currentPageReferrer, routingStage, browser, } = context;
89
+ const { experiments } = context.input;
90
+ return (0, ts_deepmerge_1.merge)((0, trackerBuilder_1.builder)({ isHybrid, version, routingStage }), (0, time_1.builder)(createdAt), (0, session_1.builder)(session), (0, device_1.builder)(environmentId, jwe, browser), (0, user_1.builder)(user), (0, baseEvent_1.builder)(), (0, consents_1.builder)(consents), (0, provider_1.builder)(providerId, providerStage, providerProduct, providerVersion, component, componentVersion, providerName, providerGroup), (0, pageInfo_1.builder)(currentPage, browser.url), (0, pageviewId_1.builder)(pageviewId), (0, utm_1.builder)(browser.search), (0, referrer_1.builder)(currentPageReferrer), (0, catalogVersion_1.builder)(), (0, experiments_1.builder)(context.experiments, experiments));
98
91
  };
99
92
  exports.getCommonBuildersOutput = getCommonBuildersOutput;
100
- const getElementEventBuildersOutput = (createdAt, dependencies, input) => (0, ts_deepmerge_1.merge)((0, exports.getCommonBuildersOutput)(createdAt, dependencies, input), (0, pageContent_1.builder)(dependencies.currentPageContent));
101
- const getSportsElementEventBuildersOutput = (createdAt, dependencies, input) => (0, ts_deepmerge_1.merge)(getElementEventBuildersOutput(createdAt, dependencies, input), (0, pageSports_1.builder)(dependencies.currentPageSports));
93
+ const getElementEventBuildersOutput = (context) => (0, ts_deepmerge_1.merge)((0, exports.getCommonBuildersOutput)(context), (0, pageContent_1.builder)(context.currentPageContent));
94
+ const getSportsElementEventBuildersOutput = (context) => (0, ts_deepmerge_1.merge)(getElementEventBuildersOutput(context), (0, pageSports_1.builder)(context.currentPageSports));
102
95
  // there's a bug in the ts-deepmerge library that doesn't properly resolve merging optionals with required properties
103
96
  // due to this, we need to do 2 things:
104
97
  // (1) manually omit navigationType from the input before merging.
@@ -125,215 +118,209 @@ const normalizePageInput = (input) => {
125
118
  },
126
119
  };
127
120
  };
128
- // #region AnonymousView Event Builders
129
- function buildAnonymousViewUIElementEvent(input, dependencies) {
130
- const createdAt = new Date();
131
- const { isHybrid, version, pageviewId, providerId, providerName, providerGroup, providerStage, providerProduct, providerVersion, component, componentVersion, currentPageReferrer, routingStage, } = dependencies;
132
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.AnonymousViewUIElement, (0, baseEvent_1.builder)(), (0, trackerBuilder_1.builder)({ isHybrid, version, routingStage }), (0, time_1.builder)(createdAt), (0, pageviewId_1.builder)(pageviewId), (0, utm_1.builder)(), (0, anonymous_1.builder)(), (0, provider_1.builder)(providerId, providerStage, providerProduct, providerVersion, component, componentVersion, providerName, providerGroup), (0, referrer_1.builder)(currentPageReferrer), (0, experiments_1.builder)(dependencies.experiments, input.experiments), (0, catalogVersion_1.builder)(), normalizePageInput(input));
121
+ // #region AnonymousImpression Event Builders
122
+ function buildAnonymousImpressionUIElementEvent(context) {
123
+ const { createdAt, isHybrid, version, pageviewId, providerId, providerName, providerGroup, providerStage, providerProduct, providerVersion, component, componentVersion, currentPageReferrer, routingStage, } = context;
124
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.AnonymousImpressionUIElement, (0, baseEvent_1.builder)(), (0, trackerBuilder_1.builder)({ isHybrid, version, routingStage }), (0, time_1.builder)(createdAt), (0, pageviewId_1.builder)(pageviewId), (0, utm_1.builder)(context.browser.search), (0, anonymous_1.builder)(), (0, provider_1.builder)(providerId, providerStage, providerProduct, providerVersion, component, componentVersion, providerName, providerGroup), (0, referrer_1.builder)(currentPageReferrer), (0, experiments_1.builder)(context.experiments, context.input.experiments), (0, catalogVersion_1.builder)(), normalizePageInput(context.input));
133
125
  }
134
126
  // #endregion
135
127
  // #region View Event Builders
136
- function buildViewArticleEvent(input, dependencies) {
137
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ViewArticle, (0, exports.getCommonBuildersOutput)(new Date(), dependencies, input), normalizePageInput(input), (0, navigationType_1.builder)(input.page?.navigationType));
128
+ function buildViewArticleEvent(context) {
129
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ViewArticle, (0, exports.getCommonBuildersOutput)(context), normalizePageInput(context.input), (0, navigationType_1.builder)(context.input.page?.navigationType));
138
130
  }
139
- function buildViewAudioPageEvent(input, dependencies) {
140
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ViewAudioPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies, input), normalizePageInput(input), (0, navigationType_1.builder)(input.page?.navigationType));
131
+ function buildViewAudioPageEvent(context) {
132
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ViewAudioPage, (0, exports.getCommonBuildersOutput)(context), normalizePageInput(context.input), (0, navigationType_1.builder)(context.input.page?.navigationType));
141
133
  }
142
- function buildViewErrorEvent(input, dependencies) {
143
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ViewError, (0, exports.getCommonBuildersOutput)(new Date(), dependencies, input), normalizePageInput(input), (0, navigationType_1.builder)(input.page?.navigationType));
134
+ function buildViewErrorEvent(context) {
135
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ViewError, (0, exports.getCommonBuildersOutput)(context), normalizePageInput(context.input), (0, navigationType_1.builder)(context.input.page?.navigationType));
144
136
  }
145
- function buildViewFrontpageEvent(input, dependencies) {
146
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ViewFrontpage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies, input), normalizePageInput(input), (0, navigationType_1.builder)(input.page?.navigationType));
137
+ function buildViewFrontpageEvent(context) {
138
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ViewFrontpage, (0, exports.getCommonBuildersOutput)(context), normalizePageInput(context.input), (0, navigationType_1.builder)(context.input.page?.navigationType));
147
139
  }
148
- function buildViewLandingpageEvent(input, dependencies) {
149
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ViewLandingpage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies, input), normalizePageInput(input), (0, navigationType_1.builder)(input.page?.navigationType));
140
+ function buildViewLandingpageEvent(context) {
141
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ViewLandingpage, (0, exports.getCommonBuildersOutput)(context), normalizePageInput(context.input), (0, navigationType_1.builder)(context.input.page?.navigationType));
150
142
  }
151
- function buildViewListingEvent(input, dependencies) {
152
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ViewListing, (0, exports.getCommonBuildersOutput)(new Date(), dependencies, input), normalizePageInput(input), (0, navigationType_1.builder)(input.page?.navigationType));
143
+ function buildViewListingEvent(context) {
144
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ViewListing, (0, exports.getCommonBuildersOutput)(context), normalizePageInput(context.input), (0, navigationType_1.builder)(context.input.page?.navigationType));
153
145
  }
154
- function buildViewLockedArticleEvent(input, dependencies) {
155
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ViewLockedArticle, (0, exports.getCommonBuildersOutput)(new Date(), dependencies, input), normalizePageInput(input), (0, navigationType_1.builder)(input.page?.navigationType));
146
+ function buildViewLockedArticleEvent(context) {
147
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ViewLockedArticle, (0, exports.getCommonBuildersOutput)(context), normalizePageInput(context.input), (0, navigationType_1.builder)(context.input.page?.navigationType));
156
148
  }
157
- function buildViewLockedAudioPageEvent(input, dependencies) {
158
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ViewLockedAudioPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies, input), normalizePageInput(input), (0, navigationType_1.builder)(input.page?.navigationType));
149
+ function buildViewLockedAudioPageEvent(context) {
150
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ViewLockedAudioPage, (0, exports.getCommonBuildersOutput)(context), normalizePageInput(context.input), (0, navigationType_1.builder)(context.input.page?.navigationType));
159
151
  }
160
- function buildViewLockedPageEvent(input, dependencies) {
161
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ViewLockedPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies, input), normalizePageInput(input), (0, navigationType_1.builder)(input.page?.navigationType));
152
+ function buildViewLockedPageEvent(context) {
153
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ViewLockedPage, (0, exports.getCommonBuildersOutput)(context), normalizePageInput(context.input), (0, navigationType_1.builder)(context.input.page?.navigationType));
162
154
  }
163
- function buildViewLockedVideoPageEvent(input, dependencies) {
164
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ViewLockedVideoPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies, input), normalizePageInput(input), (0, navigationType_1.builder)(input.page?.navigationType));
155
+ function buildViewLockedVideoPageEvent(context) {
156
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ViewLockedVideoPage, (0, exports.getCommonBuildersOutput)(context), normalizePageInput(context.input), (0, navigationType_1.builder)(context.input.page?.navigationType));
165
157
  }
166
- function buildLeaveLockedVideoPageEvent(input, dependencies) {
167
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.LeaveLockedVideoPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies, input), normalizePageInput(input), (0, navigationType_1.builder)(input.page?.navigationType));
158
+ function buildLeaveLockedVideoPageEvent(context) {
159
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.LeaveLockedVideoPage, (0, exports.getCommonBuildersOutput)(context), normalizePageInput(context.input), (0, navigationType_1.builder)(context.input.page?.navigationType));
168
160
  }
169
- function buildViewPageEvent(input, dependencies) {
170
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ViewPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies, input), normalizePageInput(input), (0, navigationType_1.builder)(input.page?.navigationType));
161
+ function buildViewPageEvent(context) {
162
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ViewPage, (0, exports.getCommonBuildersOutput)(context), normalizePageInput(context.input), (0, navigationType_1.builder)(context.input.page?.navigationType));
171
163
  }
172
- function buildViewSportsPageEvent(input, dependencies) {
173
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ViewSportsPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies, input), normalizePageInput(input), (0, navigationType_1.builder)(input.page?.navigationType));
164
+ function buildViewSportsPageEvent(context) {
165
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ViewSportsPage, (0, exports.getCommonBuildersOutput)(context), normalizePageInput(context.input), (0, navigationType_1.builder)(context.input.page?.navigationType));
174
166
  }
175
- function buildViewSchoolPageEvent(input, dependencies) {
176
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ViewSchoolPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies, input), normalizePageInput(input), (0, navigationType_1.builder)(input.page?.navigationType));
167
+ function buildViewSchoolPageEvent(context) {
168
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ViewSchoolPage, (0, exports.getCommonBuildersOutput)(context), normalizePageInput(context.input), (0, navigationType_1.builder)(context.input.page?.navigationType));
177
169
  }
178
- function buildViewTitleEvent(input, dependencies) {
179
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ViewTitle, (0, exports.getCommonBuildersOutput)(new Date(), dependencies, input), normalizePageInput(input), (0, navigationType_1.builder)(input.page?.navigationType));
170
+ function buildViewTitleEvent(context) {
171
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ViewTitle, (0, exports.getCommonBuildersOutput)(context), normalizePageInput(context.input), (0, navigationType_1.builder)(context.input.page?.navigationType));
180
172
  }
181
- function buildViewVideoPageEvent(input, dependencies) {
182
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ViewVideoPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies, input), normalizePageInput(input), (0, navigationType_1.builder)(input.page?.navigationType));
173
+ function buildViewVideoPageEvent(context) {
174
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ViewVideoPage, (0, exports.getCommonBuildersOutput)(context), normalizePageInput(context.input), (0, navigationType_1.builder)(context.input.page?.navigationType));
183
175
  }
184
- function buildViewWeatherEvent(input, dependencies) {
185
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ViewWeather, (0, exports.getCommonBuildersOutput)(new Date(), dependencies, input), normalizePageInput(input), (0, navigationType_1.builder)(input.page?.navigationType));
176
+ function buildViewWeatherEvent(context) {
177
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ViewWeather, (0, exports.getCommonBuildersOutput)(context), normalizePageInput(context.input), (0, navigationType_1.builder)(context.input.page?.navigationType));
186
178
  }
187
179
  // #endregion
188
180
  // #region Leave Event Builders
189
- function buildLeaveArticleEvent(input, dependencies) {
190
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.LeaveArticle, (0, exports.getCommonBuildersOutput)(new Date(), dependencies, input), normalizePageInput(input), (0, navigationType_1.builder)(input.page?.navigationType));
181
+ function buildLeaveArticleEvent(context) {
182
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.LeaveArticle, (0, exports.getCommonBuildersOutput)(context), normalizePageInput(context.input), (0, navigationType_1.builder)(context.input.page?.navigationType));
191
183
  }
192
- function buildLeaveAudioPageEvent(input, dependencies) {
193
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.LeaveAudioPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies, input), normalizePageInput(input), (0, navigationType_1.builder)(input.page?.navigationType));
184
+ function buildLeaveAudioPageEvent(context) {
185
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.LeaveAudioPage, (0, exports.getCommonBuildersOutput)(context), normalizePageInput(context.input), (0, navigationType_1.builder)(context.input.page?.navigationType));
194
186
  }
195
- function buildLeaveErrorEvent(input, dependencies) {
196
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.LeaveError, (0, exports.getCommonBuildersOutput)(new Date(), dependencies, input), normalizePageInput(input), (0, navigationType_1.builder)(input.page?.navigationType));
187
+ function buildLeaveErrorEvent(context) {
188
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.LeaveError, (0, exports.getCommonBuildersOutput)(context), normalizePageInput(context.input), (0, navigationType_1.builder)(context.input.page?.navigationType));
197
189
  }
198
- function buildLeaveFrontpageEvent(input, dependencies) {
199
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.LeaveFrontpage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies, input), normalizePageInput(input), (0, navigationType_1.builder)(input.page?.navigationType));
190
+ function buildLeaveFrontpageEvent(context) {
191
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.LeaveFrontpage, (0, exports.getCommonBuildersOutput)(context), normalizePageInput(context.input), (0, navigationType_1.builder)(context.input.page?.navigationType));
200
192
  }
201
- function buildLeaveLandingpageEvent(input, dependencies) {
202
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.LeaveLandingpage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies, input), normalizePageInput(input), (0, navigationType_1.builder)(input.page?.navigationType));
193
+ function buildLeaveLandingpageEvent(context) {
194
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.LeaveLandingpage, (0, exports.getCommonBuildersOutput)(context), normalizePageInput(context.input), (0, navigationType_1.builder)(context.input.page?.navigationType));
203
195
  }
204
- function buildLeaveListingEvent(input, dependencies) {
205
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.LeaveListing, (0, exports.getCommonBuildersOutput)(new Date(), dependencies, input), normalizePageInput(input), (0, navigationType_1.builder)(input.page?.navigationType));
196
+ function buildLeaveListingEvent(context) {
197
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.LeaveListing, (0, exports.getCommonBuildersOutput)(context), normalizePageInput(context.input), (0, navigationType_1.builder)(context.input.page?.navigationType));
206
198
  }
207
- function buildLeaveLockedArticleEvent(input, dependencies) {
208
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.LeaveLockedArticle, (0, exports.getCommonBuildersOutput)(new Date(), dependencies, input), normalizePageInput(input), (0, navigationType_1.builder)(input.page?.navigationType));
199
+ function buildLeaveLockedArticleEvent(context) {
200
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.LeaveLockedArticle, (0, exports.getCommonBuildersOutput)(context), normalizePageInput(context.input), (0, navigationType_1.builder)(context.input.page?.navigationType));
209
201
  }
210
- function buildLeaveLockedAudioPageEvent(input, dependencies) {
211
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.LeaveLockedAudioPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies, input), normalizePageInput(input), (0, navigationType_1.builder)(input.page?.navigationType));
202
+ function buildLeaveLockedAudioPageEvent(context) {
203
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.LeaveLockedAudioPage, (0, exports.getCommonBuildersOutput)(context), normalizePageInput(context.input), (0, navigationType_1.builder)(context.input.page?.navigationType));
212
204
  }
213
- function buildLeaveLockedPageEvent(input, dependencies) {
214
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.LeaveLockedPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies, input), normalizePageInput(input), (0, navigationType_1.builder)(input.page?.navigationType));
205
+ function buildLeaveLockedPageEvent(context) {
206
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.LeaveLockedPage, (0, exports.getCommonBuildersOutput)(context), normalizePageInput(context.input), (0, navigationType_1.builder)(context.input.page?.navigationType));
215
207
  }
216
- function buildLeavePageEvent(input, dependencies) {
217
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.LeavePage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies, input), normalizePageInput(input), (0, navigationType_1.builder)(input.page?.navigationType));
208
+ function buildLeavePageEvent(context) {
209
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.LeavePage, (0, exports.getCommonBuildersOutput)(context), normalizePageInput(context.input), (0, navigationType_1.builder)(context.input.page?.navigationType));
218
210
  }
219
- function buildLeaveSportsPageEvent(input, dependencies) {
220
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.LeaveSportsPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies, input), normalizePageInput(input), (0, navigationType_1.builder)(input.page?.navigationType));
211
+ function buildLeaveSportsPageEvent(context) {
212
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.LeaveSportsPage, (0, exports.getCommonBuildersOutput)(context), normalizePageInput(context.input), (0, navigationType_1.builder)(context.input.page?.navigationType));
221
213
  }
222
- function buildLeaveSchoolPageEvent(input, dependencies) {
223
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.LeaveSchoolPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies, input), normalizePageInput(input), (0, navigationType_1.builder)(input.page?.navigationType));
214
+ function buildLeaveSchoolPageEvent(context) {
215
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.LeaveSchoolPage, (0, exports.getCommonBuildersOutput)(context), normalizePageInput(context.input), (0, navigationType_1.builder)(context.input.page?.navigationType));
224
216
  }
225
- function buildLeaveVideoPageEvent(input, dependencies) {
226
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.LeaveVideoPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies, input), normalizePageInput(input), (0, navigationType_1.builder)(input.page?.navigationType));
217
+ function buildLeaveVideoPageEvent(context) {
218
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.LeaveVideoPage, (0, exports.getCommonBuildersOutput)(context), normalizePageInput(context.input), (0, navigationType_1.builder)(context.input.page?.navigationType));
227
219
  }
228
- function buildLeaveWeatherEvent(input, dependencies) {
229
- const createdAt = new Date();
230
- const { isHybrid, version, providerId, providerName, providerGroup, providerStage, providerProduct, providerVersion, component, componentVersion, user, experiments, routingStage, } = dependencies;
231
- return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.LeaveWeather, (0, time_1.builder)(createdAt), (0, trackerBuilder_1.builder)({ isHybrid, version, routingStage }), (0, baseEvent_1.builder)(), (0, provider_1.builder)(providerId, providerStage, providerProduct, providerVersion, component, componentVersion, providerName, providerGroup), (0, user_1.builder)(user), (0, experiments_1.builder)(experiments, input.experiments), (0, consents_1.builder)(dependencies.consents), (0, device_1.builder)(dependencies.environmentId, dependencies.jwe), (0, catalogVersion_1.builder)(), (0, navigationType_1.builder)(input.page?.navigationType), (0, pageviewId_1.builder)(dependencies.pageviewId), (0, pageInfo_1.builder)(dependencies.currentPage), (0, referrer_1.builder)(dependencies.currentPageReferrer));
220
+ function buildLeaveWeatherEvent(context) {
221
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.LeaveWeather, (0, exports.getCommonBuildersOutput)(context), normalizePageInput(context.input), (0, navigationType_1.builder)(context.input.page?.navigationType));
232
222
  }
233
223
  // #endregion
234
224
  // #region Engagement Event Builders
235
- function buildEngagementAdEvent(input, dependencies) {
236
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.EngagementAd, getElementEventBuildersOutput(new Date(), dependencies, input), normalizePageInput(input));
225
+ function buildEngagementAdEvent(context) {
226
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.EngagementAd, getElementEventBuildersOutput(context), normalizePageInput(context.input));
237
227
  }
238
- function buildEngagementAffiliateEvent(input, dependencies) {
239
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.EngagementAffiliate, getElementEventBuildersOutput(new Date(), dependencies, input), normalizePageInput(input));
228
+ function buildEngagementAffiliateEvent(context) {
229
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.EngagementAffiliate, getElementEventBuildersOutput(context), normalizePageInput(context.input));
240
230
  }
241
- function buildEngagementAudioEvent(input, dependencies) {
242
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.EngagementAudio, getElementEventBuildersOutput(new Date(), dependencies, input), normalizePageInput(input));
231
+ function buildEngagementAudioEvent(context) {
232
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.EngagementAudio, getElementEventBuildersOutput(context), normalizePageInput(context.input));
243
233
  }
244
- function buildEngagementFormEvent(input, dependencies) {
245
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.EngagementForm, getElementEventBuildersOutput(new Date(), dependencies, input), normalizePageInput(input));
234
+ function buildEngagementFormEvent(context) {
235
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.EngagementForm, getElementEventBuildersOutput(context), normalizePageInput(context.input));
246
236
  }
247
- function buildEngagementOfferEvent(input, dependencies) {
248
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.EngagementOffer, getElementEventBuildersOutput(new Date(), dependencies, input), normalizePageInput(input));
237
+ function buildEngagementOfferEvent(context) {
238
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.EngagementOffer, getElementEventBuildersOutput(context), normalizePageInput(context.input));
249
239
  }
250
- function buildEngagementSportsUIElementEvent(input, dependencies) {
251
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.EngagementSportsUIElement, getSportsElementEventBuildersOutput(new Date(), dependencies, input), normalizePageInput(input));
240
+ function buildEngagementSportsUIElementEvent(context) {
241
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.EngagementSportsUIElement, getSportsElementEventBuildersOutput(context), normalizePageInput(context.input));
252
242
  }
253
- function buildEngagementSchoolUIElementEvent(input, dependencies) {
254
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.EngagementSchoolUIElement, getElementEventBuildersOutput(new Date(), dependencies, input), normalizePageInput(input));
243
+ function buildEngagementSchoolUIElementEvent(context) {
244
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.EngagementSchoolUIElement, getElementEventBuildersOutput(context), normalizePageInput(context.input));
255
245
  }
256
- function buildEngagementTeaserEvent(input, dependencies) {
257
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.EngagementTeaser, getElementEventBuildersOutput(new Date(), dependencies, input), normalizePageInput(input));
246
+ function buildEngagementTeaserEvent(context) {
247
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.EngagementTeaser, getElementEventBuildersOutput(context), normalizePageInput(context.input));
258
248
  }
259
- function buildEngagementTvModuleEvent(input, dependencies) {
260
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.EngagementTvModule, getElementEventBuildersOutput(new Date(), dependencies, input), normalizePageInput(input));
249
+ function buildEngagementTvModuleEvent(context) {
250
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.EngagementTvModule, getElementEventBuildersOutput(context), normalizePageInput(context.input));
261
251
  }
262
- function buildEngagementTvSearchEvent(input, dependencies) {
263
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.EngagementTvSearch, getElementEventBuildersOutput(new Date(), dependencies, input), normalizePageInput(input));
252
+ function buildEngagementTvSearchEvent(context) {
253
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.EngagementTvSearch, getElementEventBuildersOutput(context), normalizePageInput(context.input));
264
254
  }
265
- function buildEngagementUIElementEvent(input, dependencies) {
266
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.EngagementUIElement, getElementEventBuildersOutput(new Date(), dependencies, input), normalizePageInput(input));
255
+ function buildEngagementUIElementEvent(context) {
256
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.EngagementUIElement, getElementEventBuildersOutput(context), normalizePageInput(context.input));
267
257
  }
268
- function buildEngagementVideoEvent(input, dependencies) {
269
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.EngagementVideo, getElementEventBuildersOutput(new Date(), dependencies, input), normalizePageInput(input));
258
+ function buildEngagementVideoEvent(context) {
259
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.EngagementVideo, getElementEventBuildersOutput(context), normalizePageInput(context.input));
270
260
  }
271
- function buildEngagementVideoAdEvent(input, dependencies) {
272
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.EngagementVideoAd, getElementEventBuildersOutput(new Date(), dependencies, input), normalizePageInput(input));
261
+ function buildEngagementVideoAdEvent(context) {
262
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.EngagementVideoAd, getElementEventBuildersOutput(context), normalizePageInput(context.input));
273
263
  }
274
- function buildEngagementWidgetEvent(input, dependencies) {
275
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.EngagementWidget, getElementEventBuildersOutput(new Date(), dependencies, input), normalizePageInput(input));
264
+ function buildEngagementWidgetEvent(context) {
265
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.EngagementWidget, getElementEventBuildersOutput(context), normalizePageInput(context.input));
276
266
  }
277
267
  // #endregion
278
268
  // #region Heartbeat Event Builders
279
- function buildHeartbeatCommercialArticleEvent(input, dependencies) {
280
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.HeartbeatCommercialArticle, (0, exports.getCommonBuildersOutput)(new Date(), dependencies, input), normalizePageInput(input), (0, navigationType_1.builder)(input.page?.navigationType));
269
+ function buildHeartbeatCommercialArticleEvent(context) {
270
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.HeartbeatCommercialArticle, (0, exports.getCommonBuildersOutput)(context), normalizePageInput(context.input), (0, navigationType_1.builder)(context.input.page?.navigationType));
281
271
  }
282
272
  // #endregion
283
273
  // #region Health Event Builders
284
- function buildCompletedHealthActionEvent(input, dependencies) {
285
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.CompletedHealthAction, (0, exports.getCommonBuildersOutput)(new Date(), dependencies, input), normalizePageInput(input));
274
+ function buildCompletedHealthActionEvent(context) {
275
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.CompletedHealthAction, (0, exports.getCommonBuildersOutput)(context), normalizePageInput(context.input));
286
276
  }
287
- function buildEngagementHealthUIElementEvent(input, dependencies) {
288
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.EngagementHealthUIElement, getElementEventBuildersOutput(new Date(), dependencies, input), normalizePageInput(input));
277
+ function buildEngagementHealthUIElementEvent(context) {
278
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.EngagementHealthUIElement, getElementEventBuildersOutput(context), normalizePageInput(context.input));
289
279
  }
290
- function buildViewHealthPageEvent(input, dependencies) {
291
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ViewHealthPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies, input), normalizePageInput(input), (0, navigationType_1.builder)(input.page?.navigationType));
280
+ function buildViewHealthPageEvent(context) {
281
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ViewHealthPage, (0, exports.getCommonBuildersOutput)(context), normalizePageInput(context.input), (0, navigationType_1.builder)(context.input.page?.navigationType));
292
282
  }
293
- function buildImpressionHealthUIElementEvent(input, dependencies) {
294
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ImpressionHealthUIElement, (0, exports.getCommonBuildersOutput)(new Date(), dependencies, input), normalizePageInput(input));
283
+ function buildImpressionHealthUIElementEvent(context) {
284
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ImpressionHealthUIElement, (0, exports.getCommonBuildersOutput)(context), normalizePageInput(context.input));
295
285
  }
296
286
  // #endregion
297
287
  // #region Impression Event Builders
298
- function buildImpressionAdEvent(input, dependencies) {
299
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ImpressionAd, getElementEventBuildersOutput(new Date(), dependencies, input), normalizePageInput(input));
288
+ function buildImpressionAdEvent(context) {
289
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ImpressionAd, getElementEventBuildersOutput(context), normalizePageInput(context.input));
300
290
  }
301
- function buildImpressionAdSlotEvent(input, dependencies) {
302
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ImpressionAdSlot, getElementEventBuildersOutput(new Date(), dependencies, input), normalizePageInput(input));
291
+ function buildImpressionAdSlotEvent(context) {
292
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ImpressionAdSlot, getElementEventBuildersOutput(context), normalizePageInput(context.input));
303
293
  }
304
- function buildImpressionAffiliateEvent(input, dependencies) {
305
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ImpressionAffiliate, getElementEventBuildersOutput(new Date(), dependencies, input), normalizePageInput(input));
294
+ function buildImpressionAffiliateEvent(context) {
295
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ImpressionAffiliate, getElementEventBuildersOutput(context), normalizePageInput(context.input));
306
296
  }
307
- function buildImpressionFormEvent(input, dependencies) {
308
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ImpressionForm, getElementEventBuildersOutput(new Date(), dependencies, input), normalizePageInput(input));
297
+ function buildImpressionFormEvent(context) {
298
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ImpressionForm, getElementEventBuildersOutput(context), normalizePageInput(context.input));
309
299
  }
310
- function buildImpressionOfferEvent(input, dependencies) {
311
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ImpressionOffer, getElementEventBuildersOutput(new Date(), dependencies, input), normalizePageInput(input));
300
+ function buildImpressionOfferEvent(context) {
301
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ImpressionOffer, getElementEventBuildersOutput(context), normalizePageInput(context.input));
312
302
  }
313
- function buildImpressionPlayerEvent(input, dependencies) {
314
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ImpressionPlayer, getElementEventBuildersOutput(new Date(), dependencies, input), normalizePageInput(input));
303
+ function buildImpressionPlayerEvent(context) {
304
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ImpressionPlayer, getElementEventBuildersOutput(context), normalizePageInput(context.input));
315
305
  }
316
- function buildImpressionSportsUIElementEvent(input, dependencies) {
317
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ImpressionSportsUIElement, getSportsElementEventBuildersOutput(new Date(), dependencies, input), normalizePageInput(input));
306
+ function buildImpressionSportsUIElementEvent(context) {
307
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ImpressionSportsUIElement, getSportsElementEventBuildersOutput(context), normalizePageInput(context.input));
318
308
  }
319
- function buildImpressionSchoolUIElementEvent(input, dependencies) {
320
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ImpressionSchoolUIElement, getElementEventBuildersOutput(new Date(), dependencies, input), normalizePageInput(input));
309
+ function buildImpressionSchoolUIElementEvent(context) {
310
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ImpressionSchoolUIElement, getElementEventBuildersOutput(context), normalizePageInput(context.input));
321
311
  }
322
- function buildImpressionTeaserEvent(input, dependencies) {
323
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ImpressionTeaser, getElementEventBuildersOutput(new Date(), dependencies, input), normalizePageInput(input));
312
+ function buildImpressionTeaserEvent(context) {
313
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ImpressionTeaser, getElementEventBuildersOutput(context), normalizePageInput(context.input));
324
314
  }
325
- function buildImpressionUIElementEvent(input, dependencies) {
326
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ImpressionUIElement, getElementEventBuildersOutput(new Date(), dependencies, input), normalizePageInput(input));
315
+ function buildImpressionUIElementEvent(context) {
316
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ImpressionUIElement, getElementEventBuildersOutput(context), normalizePageInput(context.input));
327
317
  }
328
- function buildImpressionWidgetEvent(input, dependencies) {
329
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ImpressionWidget, getElementEventBuildersOutput(new Date(), dependencies, input), normalizePageInput(input));
318
+ function buildImpressionWidgetEvent(context) {
319
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ImpressionWidget, getElementEventBuildersOutput(context), normalizePageInput(context.input));
330
320
  }
331
321
  // #endregion
332
322
  // #region Ad Lifecycle Event Builders
333
- function buildLoadAdEvent(input, dependencies) {
334
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.LoadAd, (0, exports.getCommonBuildersOutput)(new Date(), dependencies, input), normalizePageInput(input));
335
- }
336
- function buildRequestAdEvent(input, dependencies) {
337
- return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.RequestAd, (0, exports.getCommonBuildersOutput)(new Date(), dependencies, input), normalizePageInput(input));
323
+ function buildLoadAdEvent(context) {
324
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.LoadAd, (0, exports.getCommonBuildersOutput)(context), normalizePageInput(context.input));
338
325
  }
339
326
  // #endregion
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.adaptActorToNewFormat = adaptActorToNewFormat;
4
+ exports.adaptConsentsToNewFormat = adaptConsentsToNewFormat;
5
+ exports.adaptExperiments = adaptExperiments;
6
+ const experiments_1 = require("../builders/experiments");
7
+ const utils_1 = require("../utils");
8
+ /**
9
+ * Adapts the legacy actor input to the TPaaS user format.
10
+ *
11
+ * @privateRemarks
12
+ * This is a temporary solution to adapt the actor to the new format.
13
+ * It should be removed once we have new methods in place to get the actor.
14
+ *
15
+ * @private
16
+ */
17
+ function adaptActorToNewFormat(actor) {
18
+ if (!actor) {
19
+ return;
20
+ }
21
+ return {
22
+ id: actor.id?.toString() || '',
23
+ realm: actor.realm || '',
24
+ hasAnySubscription: !!actor.hasAnySubscription,
25
+ region: (0, utils_1.isString)(actor.region) ? actor.region : undefined,
26
+ };
27
+ }
28
+ function adaptStatusOrOptIn({ status, optIn }) {
29
+ // doing an unnecessary check for status here
30
+ // because otherwise the code after the switch will be marked as unreachable in the IDE
31
+ if (status) {
32
+ switch (status) {
33
+ case 'accepted':
34
+ return 'Accepted';
35
+ case 'rejected':
36
+ return 'Rejected';
37
+ case 'unknown':
38
+ return 'Unknown';
39
+ }
40
+ }
41
+ if (optIn === true) {
42
+ return 'Accepted';
43
+ }
44
+ if (optIn === false) {
45
+ return 'Rejected';
46
+ }
47
+ return 'Unknown';
48
+ }
49
+ /**
50
+ * Adapts the legacy consents to the TPaaS consents format.
51
+ *
52
+ * @private
53
+ */
54
+ function adaptConsentsToNewFormat(consents) {
55
+ if (!consents) {
56
+ return;
57
+ }
58
+ const { purposes, source } = consents;
59
+ const { CMP_ADVERTISING, CMP_ANALYTICS, CMP_MARKETING, CMP_PERSONALIZATION } = purposes;
60
+ return {
61
+ advertising: adaptStatusOrOptIn(CMP_ADVERTISING),
62
+ analytics: adaptStatusOrOptIn(CMP_ANALYTICS),
63
+ marketing: adaptStatusOrOptIn(CMP_MARKETING),
64
+ personalization: adaptStatusOrOptIn(CMP_PERSONALIZATION),
65
+ source: source || 'unknown',
66
+ };
67
+ }
68
+ /**
69
+ * Adapts the base experiments stored in the tracker to the TPaaS experiments format.
70
+ *
71
+ * @private
72
+ */
73
+ function adaptExperiments(baseExperiments = []) {
74
+ return baseExperiments.map((exp) => {
75
+ return {
76
+ name: exp.name || exp.id,
77
+ variant: exp.variant || '',
78
+ // nobody should be sending experiment id with an sdrn format, but in case they do
79
+ // we want to be able to handle it and not generate an invalid sdrn by adding another layer to it
80
+ experimentSdrn: exp.id.startsWith('sdrn:') ? exp.id : (0, experiments_1.generateExperimentSDRN)(exp.id, exp.platform),
81
+ platform: exp.platform || '',
82
+ testId: exp.custom?.testId,
83
+ };
84
+ });
85
+ }
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.captureBrowserContext = void 0;
4
+ const utils_1 = require("../utils");
5
+ /**
6
+ * Reads the browser state that can change between events, such as the URL after an SPA navigation
7
+ * or the viewport after a resize. Call it synchronously, when the event is tracked.
8
+ *
9
+ * @private
10
+ */
11
+ const captureBrowserContext = () => {
12
+ if (!utils_1.isBrowser) {
13
+ return {
14
+ url: undefined,
15
+ search: '',
16
+ screenOrientationType: undefined,
17
+ viewportWidth: 0,
18
+ viewportHeight: 0,
19
+ userAgent: undefined,
20
+ };
21
+ }
22
+ const { viewportWidth, viewportHeight } = getViewportDimensions();
23
+ return {
24
+ url: window.location.href,
25
+ search: window.location.search ?? '',
26
+ screenOrientationType: window.screen.orientation?.type,
27
+ viewportWidth,
28
+ viewportHeight,
29
+ userAgent: window.navigator.userAgent,
30
+ };
31
+ };
32
+ exports.captureBrowserContext = captureBrowserContext;
33
+ function getViewportDimensions() {
34
+ let viewportWidth;
35
+ let viewportHeight;
36
+ const { document } = window;
37
+ if (typeof window.innerWidth !== 'undefined') {
38
+ viewportWidth = window.innerWidth;
39
+ viewportHeight = window.innerHeight;
40
+ }
41
+ else if (typeof document.documentElement.clientWidth !== 'undefined' &&
42
+ document.documentElement.clientWidth !== 0) {
43
+ viewportWidth = document.documentElement.clientWidth;
44
+ viewportHeight = document.documentElement.clientHeight;
45
+ }
46
+ else {
47
+ viewportWidth = document.getElementsByTagName('body')[0].clientWidth;
48
+ viewportHeight = document.getElementsByTagName('body')[0].clientHeight;
49
+ }
50
+ return { viewportWidth, viewportHeight };
51
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.prepareTpaasEventContext = exports.prepareAnonymousTpaasEventContext = void 0;
4
+ var prepare_1 = require("./prepare");
5
+ Object.defineProperty(exports, "prepareAnonymousTpaasEventContext", { enumerable: true, get: function () { return prepare_1.prepareAnonymousTpaasEventContext; } });
6
+ Object.defineProperty(exports, "prepareTpaasEventContext", { enumerable: true, get: function () { return prepare_1.prepareTpaasEventContext; } });