@schibsted/pulse-sdk 8.0.0-rc.18 → 8.0.0-rc.19

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 (49) hide show
  1. package/dist/cjs/Tracker.js +75 -11
  2. package/dist/cjs/tpaas-builders/builders/pageSports.js +1 -1
  3. package/dist/cjs/tpaas-builders/builders/provider.js +4 -1
  4. package/dist/cjs/tpaas-builders/builders.js +22 -6
  5. package/dist/cjs/tpaas-schemas/constants.js +91 -99
  6. package/dist/cjs/tracker-proxy/consts.js +4 -0
  7. package/dist/cjs/version.js +1 -1
  8. package/dist/ejs/Tracker.js +77 -13
  9. package/dist/ejs/tpaas-builders/builders/pageSports.js +1 -1
  10. package/dist/ejs/tpaas-builders/builders/provider.js +4 -1
  11. package/dist/ejs/tpaas-builders/builders.js +19 -7
  12. package/dist/ejs/tpaas-schemas/constants.js +89 -97
  13. package/dist/ejs/tracker-proxy/consts.js +4 -0
  14. package/dist/ejs/version.js +1 -1
  15. package/dist/types/Tracker.d.ts +38 -2
  16. package/dist/types/createPulseTracker.d.ts +1 -1
  17. package/dist/types/index.d.ts +2 -2
  18. package/dist/types/tpaas-builders/builders/pageSports.d.ts +5 -5
  19. package/dist/types/tpaas-builders/builders/provider.d.ts +2 -2
  20. package/dist/types/tpaas-builders/builders.d.ts +9 -2
  21. package/dist/types/tpaas-builders/types.d.ts +6 -3
  22. package/dist/types/tpaas-schemas/constants.d.ts +89 -63
  23. package/dist/types/tpaas-schemas/types/ITpaasEvent.d.ts +8 -0
  24. package/dist/types/tpaas-schemas/types/schemas/ICompletedHealthAction.d.ts +0 -5
  25. package/dist/types/tpaas-schemas/types/schemas/IEngagementAudio.d.ts +0 -4
  26. package/dist/types/tpaas-schemas/types/schemas/IEngagementHealthUIElement.d.ts +0 -5
  27. package/dist/types/tpaas-schemas/types/schemas/IEngagementSchoolUIElement.d.ts +107 -0
  28. package/dist/types/tpaas-schemas/types/schemas/IEngagementSportsUIElement.d.ts +50 -0
  29. package/dist/types/tpaas-schemas/types/schemas/IEngagementVideo.d.ts +2 -9
  30. package/dist/types/tpaas-schemas/types/schemas/IImpressionHealthUIElement.d.ts +0 -5
  31. package/dist/types/tpaas-schemas/types/schemas/IImpressionPlayer.d.ts +5 -1
  32. package/dist/types/tpaas-schemas/types/schemas/IImpressionSchoolUIElement.d.ts +109 -0
  33. package/dist/types/tpaas-schemas/types/schemas/IImpressionSportsUIElement.d.ts +50 -0
  34. package/dist/types/tpaas-schemas/types/schemas/ILeaveSchoolPage.d.ts +84 -0
  35. package/dist/types/tpaas-schemas/types/schemas/ILeaveSportsPage.d.ts +47 -0
  36. package/dist/types/tpaas-schemas/types/schemas/IViewHealthPage.d.ts +0 -5
  37. package/dist/types/tpaas-schemas/types/schemas/IViewSchoolPage.d.ts +88 -0
  38. package/dist/types/tpaas-schemas/types/schemas/IViewSportsPage.d.ts +47 -0
  39. package/dist/types/tpaas-schemas/types/schemas/index.d.ts +4 -0
  40. package/dist/types/tpaas-schemas/types/templates/ILeaveStories.d.ts +0 -10
  41. package/dist/types/tpaas-schemas/types/templates/IPageRef.d.ts +1 -0
  42. package/dist/types/tpaas-schemas/types/templates/ISchool.d.ts +73 -0
  43. package/dist/types/tpaas-schemas/types/templates/ISports.d.ts +0 -61
  44. package/dist/types/tpaas-schemas/types/templates/ISportsUserFeatures.d.ts +28 -0
  45. package/dist/types/tpaas-schemas/types/templates/index.d.ts +2 -0
  46. package/dist/types/tpaas-schemas/types.d.ts +4 -7
  47. package/dist/types/tracker-proxy/consts.d.ts +1 -1
  48. package/dist/types/version.d.ts +1 -1
  49. package/package.json +1 -1
@@ -514,7 +514,7 @@ class Tracker {
514
514
  * @category TPaaS Tracking
515
515
  */
516
516
  async prepareAnonymousTpaasEvent() {
517
- const { isHybrid, pageViewId, providerId, component, componentVersion, deployStageTpaas } = this.state;
517
+ const { isHybrid, pageViewId, providerId, component, componentVersion, stage: providerStage, product: providerProduct, version: providerVersion, deployStageTpaas, } = this.state;
518
518
  const providerName = this.state.provider?.name;
519
519
  const providerGroup = this.state.provider?.group;
520
520
  const experimentsInput = this.builders.experiments;
@@ -536,6 +536,9 @@ class Tracker {
536
536
  providerId,
537
537
  providerName,
538
538
  providerGroup,
539
+ providerStage,
540
+ providerProduct,
541
+ providerVersion,
539
542
  component,
540
543
  componentVersion,
541
544
  routingStage: mapDeployStageToTpaasStage(deployStageTpaas),
@@ -551,7 +554,7 @@ class Tracker {
551
554
  // Capture event context before any asynchronous work so a concurrent update or View
552
555
  // event cannot change the dependencies used to finish building this event.
553
556
  const builders = { ...this.builders };
554
- const { isHybrid, providerId, component, componentVersion, pageViewId, deployStageTpaas } = this.state;
557
+ const { isHybrid, providerId, component, componentVersion, stage: providerStage, product: providerProduct, version: providerVersion, pageViewId, deployStageTpaas, } = this.state;
555
558
  const providerName = this.state.provider?.name;
556
559
  const providerGroup = this.state.provider?.group;
557
560
  const { info: currentPageInfoInput, content: currentPageContent, sports: currentPageSports, referrer: currentPageReferrerInput, } = this.currentPageContext;
@@ -628,6 +631,9 @@ class Tracker {
628
631
  providerId,
629
632
  providerName,
630
633
  providerGroup,
634
+ providerStage,
635
+ providerProduct,
636
+ providerVersion,
631
637
  component,
632
638
  componentVersion,
633
639
  pageviewId: pageViewId,
@@ -908,7 +914,7 @@ class Tracker {
908
914
  // Instead, we need to reuse the generic Leave Page event, but adapt the input accordingly.
909
915
  // This means omitting some fields from HealthView Page that are not part of Leave Page schema.
910
916
  const { experiments, metrics, object, origin, userHealthData, ...restInput } = input;
911
- const { category, custom, intent, name, tags, food, physicalActivity, training, ...restObject } = input.object;
917
+ const { category, custom, name, tags, food, physicalActivity, training, ...restObject } = input.object;
912
918
  await this.trackLeavePage({
913
919
  leave,
914
920
  ...restInput,
@@ -972,7 +978,12 @@ class Tracker {
972
978
  id: input.object.objectId,
973
979
  type: tpaas_schemas_1.ViewSportsPage.object.objectType,
974
980
  referrer: input.page?.referrer,
975
- sports: input.object.sports,
981
+ sports: {
982
+ sportName: input.object.sportName,
983
+ sportSubview: input.object.sportSubview,
984
+ sportView: input.object.sportView,
985
+ sports: input.object.sports,
986
+ },
976
987
  });
977
988
  const dependencies = await this.prepareTpaasEvent();
978
989
  const event = (0, tpaas_builders_1.buildViewSportsPageEvent)(input, dependencies);
@@ -992,6 +1003,37 @@ class Tracker {
992
1003
  }
993
1004
  return result;
994
1005
  }
1006
+ /**
1007
+ * @param input
1008
+ * @param options
1009
+ * @category TPaaS Tracking
1010
+ */
1011
+ async trackViewSchoolPage(input, options) {
1012
+ this.newPageView();
1013
+ // TODO: SchoolPage is not currently part of the catalog's PageRef.pageType enum.
1014
+ this.setCurrentTpaasPageData({
1015
+ id: input.object.objectId,
1016
+ type: 'Page',
1017
+ referrer: input.page?.referrer,
1018
+ });
1019
+ const dependencies = await this.prepareTpaasEvent();
1020
+ const event = (0, tpaas_builders_1.buildViewSchoolPageEvent)(input, dependencies);
1021
+ const result = this.sendTpaasEvent(event);
1022
+ if ((0, leaveTrackingTpaas_1.shouldEnableLeaveTracking)(options.leaveTracking)) {
1023
+ const leaveSchoolPageCallback = async (leave) => {
1024
+ await this.trackLeaveSchoolPage({
1025
+ leave,
1026
+ ...input,
1027
+ });
1028
+ };
1029
+ (0, leaveTrackingTpaas_1.addTpaasLeaveTracking)({
1030
+ ...options.leaveTracking,
1031
+ schema: tpaas_schemas_1.LeaveSchoolPage.object.objectType,
1032
+ trackMethod: leaveSchoolPageCallback,
1033
+ });
1034
+ }
1035
+ return result;
1036
+ }
995
1037
  /**
996
1038
  * @param input
997
1039
  * @category TPaaS Tracking
@@ -1237,6 +1279,15 @@ class Tracker {
1237
1279
  const event = (0, tpaas_builders_1.buildImpressionSportsUIElementEvent)(input, dependencies);
1238
1280
  return this.sendTpaasEvent(event);
1239
1281
  }
1282
+ /**
1283
+ * @param input
1284
+ * @category TPaaS Tracking
1285
+ */
1286
+ async trackImpressionSchoolUIElement(input) {
1287
+ const dependencies = await this.prepareTpaasEvent();
1288
+ const event = (0, tpaas_builders_1.buildImpressionSchoolUIElementEvent)(input, dependencies);
1289
+ return this.sendTpaasEvent(event);
1290
+ }
1240
1291
  /**
1241
1292
  * @param input
1242
1293
  * @category TPaaS Tracking
@@ -1414,10 +1465,9 @@ class Tracker {
1414
1465
  */
1415
1466
  async trackViewLockedPage(input, options) {
1416
1467
  this.newPageView();
1417
- // LockedPage is not currently part of the catalog's PageRef.pageType enum.
1418
1468
  this.setCurrentTpaasPageData({
1419
1469
  id: input.object.objectId,
1420
- type: 'Page',
1470
+ type: tpaas_schemas_1.ViewLockedPage.object.objectType,
1421
1471
  referrer: input.page?.referrer,
1422
1472
  });
1423
1473
  const dependencies = await this.prepareTpaasEvent();
@@ -1528,11 +1578,7 @@ class Tracker {
1528
1578
  const leaveStoriesInput = leaveStoriesBuilder?.();
1529
1579
  await this.trackLeaveVideoPage({
1530
1580
  leave,
1531
- leaveStories: leaveStoriesInput && {
1532
- ...leaveStoriesInput,
1533
- activityDurationMs: leave.activityDurationMs,
1534
- durationMs: leave.durationMs,
1535
- },
1581
+ leaveStories: leaveStoriesInput,
1536
1582
  ...input,
1537
1583
  });
1538
1584
  };
@@ -1682,6 +1728,15 @@ class Tracker {
1682
1728
  const event = (0, tpaas_builders_1.buildLeaveSportsPageEvent)(input, dependencies);
1683
1729
  return this.sendTpaasEvent(event);
1684
1730
  }
1731
+ /**
1732
+ * @param input
1733
+ * @category TPaaS Tracking
1734
+ */
1735
+ async trackLeaveSchoolPage(input) {
1736
+ const dependencies = await this.prepareTpaasEvent();
1737
+ const event = (0, tpaas_builders_1.buildLeaveSchoolPageEvent)(input, dependencies);
1738
+ return this.sendTpaasEvent(event);
1739
+ }
1685
1740
  /**
1686
1741
  * @param input
1687
1742
  * @category TPaaS Tracking
@@ -1754,6 +1809,15 @@ class Tracker {
1754
1809
  const event = (0, tpaas_builders_1.buildEngagementSportsUIElementEvent)(input, dependencies);
1755
1810
  return this.sendTpaasEvent(event);
1756
1811
  }
1812
+ /**
1813
+ * @param input
1814
+ * @category TPaaS Tracking
1815
+ */
1816
+ async trackEngagementSchoolUIElement(input) {
1817
+ const dependencies = await this.prepareTpaasEvent();
1818
+ const event = (0, tpaas_builders_1.buildEngagementSchoolUIElementEvent)(input, dependencies);
1819
+ return this.sendTpaasEvent(event);
1820
+ }
1757
1821
  /**
1758
1822
  * @param input
1759
1823
  * @category TPaaS Tracking
@@ -2,6 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.builder = void 0;
4
4
  const builder = (sports) => ({
5
- page: sports ? { sports } : {},
5
+ page: sports ?? {},
6
6
  });
7
7
  exports.builder = builder;
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.builder = builder;
4
4
  const generateProviderSDRN = (providerId) => `sdrn:schibsted:client:${providerId}`;
5
- function builder(providerId, component, componentVersion, providerName, providerGroup) {
5
+ function builder(providerId, providerStage, providerProduct, providerVersion, component, componentVersion, providerName, providerGroup) {
6
6
  return {
7
7
  provider: {
8
8
  providerId,
@@ -11,6 +11,9 @@ function builder(providerId, component, componentVersion, providerName, provider
11
11
  ...(componentVersion !== undefined && { componentVersion }),
12
12
  ...(providerGroup !== undefined && { group: providerGroup }),
13
13
  ...(providerName !== undefined && { name: providerName }),
14
+ stage: providerStage,
15
+ product: providerProduct,
16
+ version: providerVersion,
14
17
  },
15
18
  };
16
19
  }
@@ -15,6 +15,7 @@ exports.buildViewLockedVideoPageEvent = buildViewLockedVideoPageEvent;
15
15
  exports.buildLeaveLockedVideoPageEvent = buildLeaveLockedVideoPageEvent;
16
16
  exports.buildViewPageEvent = buildViewPageEvent;
17
17
  exports.buildViewSportsPageEvent = buildViewSportsPageEvent;
18
+ exports.buildViewSchoolPageEvent = buildViewSchoolPageEvent;
18
19
  exports.buildViewTitleEvent = buildViewTitleEvent;
19
20
  exports.buildViewVideoPageEvent = buildViewVideoPageEvent;
20
21
  exports.buildViewWeatherEvent = buildViewWeatherEvent;
@@ -29,6 +30,7 @@ exports.buildLeaveLockedAudioPageEvent = buildLeaveLockedAudioPageEvent;
29
30
  exports.buildLeaveLockedPageEvent = buildLeaveLockedPageEvent;
30
31
  exports.buildLeavePageEvent = buildLeavePageEvent;
31
32
  exports.buildLeaveSportsPageEvent = buildLeaveSportsPageEvent;
33
+ exports.buildLeaveSchoolPageEvent = buildLeaveSchoolPageEvent;
32
34
  exports.buildLeaveVideoPageEvent = buildLeaveVideoPageEvent;
33
35
  exports.buildLeaveWeatherEvent = buildLeaveWeatherEvent;
34
36
  exports.buildEngagementAdEvent = buildEngagementAdEvent;
@@ -37,6 +39,7 @@ exports.buildEngagementAudioEvent = buildEngagementAudioEvent;
37
39
  exports.buildEngagementFormEvent = buildEngagementFormEvent;
38
40
  exports.buildEngagementOfferEvent = buildEngagementOfferEvent;
39
41
  exports.buildEngagementSportsUIElementEvent = buildEngagementSportsUIElementEvent;
42
+ exports.buildEngagementSchoolUIElementEvent = buildEngagementSchoolUIElementEvent;
40
43
  exports.buildEngagementTeaserEvent = buildEngagementTeaserEvent;
41
44
  exports.buildEngagementTvModuleEvent = buildEngagementTvModuleEvent;
42
45
  exports.buildEngagementUIElementEvent = buildEngagementUIElementEvent;
@@ -54,6 +57,7 @@ exports.buildImpressionFormEvent = buildImpressionFormEvent;
54
57
  exports.buildImpressionOfferEvent = buildImpressionOfferEvent;
55
58
  exports.buildImpressionPlayerEvent = buildImpressionPlayerEvent;
56
59
  exports.buildImpressionSportsUIElementEvent = buildImpressionSportsUIElementEvent;
60
+ exports.buildImpressionSchoolUIElementEvent = buildImpressionSchoolUIElementEvent;
57
61
  exports.buildImpressionTeaserEvent = buildImpressionTeaserEvent;
58
62
  exports.buildImpressionUIElementEvent = buildImpressionUIElementEvent;
59
63
  exports.buildImpressionWidgetEvent = buildImpressionWidgetEvent;
@@ -86,9 +90,9 @@ const utm_1 = require("./builders/utm");
86
90
  * @private
87
91
  */
88
92
  const getCommonBuildersOutput = (createdAt, dependencies, input) => {
89
- const { isHybrid, version, environmentId, jwe, user, consents, providerId, providerName, providerGroup, component, componentVersion, pageviewId, currentPage, currentPageReferrer, routingStage, } = dependencies;
93
+ const { isHybrid, version, environmentId, jwe, user, consents, providerId, providerName, providerGroup, providerStage, providerProduct, providerVersion, component, componentVersion, pageviewId, currentPage, currentPageReferrer, routingStage, } = dependencies;
90
94
  const { experiments } = input;
91
- 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, 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));
95
+ 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));
92
96
  };
93
97
  exports.getCommonBuildersOutput = getCommonBuildersOutput;
94
98
  const getElementEventBuildersOutput = (createdAt, dependencies, input) => (0, ts_deepmerge_1.merge)((0, exports.getCommonBuildersOutput)(createdAt, dependencies, input), (0, pageContent_1.builder)(dependencies.currentPageContent));
@@ -122,8 +126,8 @@ const normalizePageInput = (input) => {
122
126
  // #region AnonymousView Event Builders
123
127
  function buildAnonymousViewUIElementEvent(input, dependencies) {
124
128
  const createdAt = new Date();
125
- const { isHybrid, version, pageviewId, providerId, providerName, providerGroup, component, componentVersion, currentPageReferrer, routingStage, } = dependencies;
126
- 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, component, componentVersion, providerName, providerGroup), (0, referrer_1.builder)(currentPageReferrer), (0, experiments_1.builder)(dependencies.experiments, input.experiments), (0, catalogVersion_1.builder)(), normalizePageInput(input));
129
+ const { isHybrid, version, pageviewId, providerId, providerName, providerGroup, providerStage, providerProduct, providerVersion, component, componentVersion, currentPageReferrer, routingStage, } = dependencies;
130
+ 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));
127
131
  }
128
132
  // #endregion
129
133
  // #region View Event Builders
@@ -166,6 +170,9 @@ function buildViewPageEvent(input, dependencies) {
166
170
  function buildViewSportsPageEvent(input, dependencies) {
167
171
  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));
168
172
  }
173
+ function buildViewSchoolPageEvent(input, dependencies) {
174
+ 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));
175
+ }
169
176
  function buildViewTitleEvent(input, dependencies) {
170
177
  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));
171
178
  }
@@ -210,13 +217,16 @@ function buildLeavePageEvent(input, dependencies) {
210
217
  function buildLeaveSportsPageEvent(input, dependencies) {
211
218
  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));
212
219
  }
220
+ function buildLeaveSchoolPageEvent(input, dependencies) {
221
+ 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));
222
+ }
213
223
  function buildLeaveVideoPageEvent(input, dependencies) {
214
224
  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));
215
225
  }
216
226
  function buildLeaveWeatherEvent(input, dependencies) {
217
227
  const createdAt = new Date();
218
- const { isHybrid, version, providerId, providerName, providerGroup, component, componentVersion, user, experiments, routingStage, } = dependencies;
219
- 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, 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));
228
+ const { isHybrid, version, providerId, providerName, providerGroup, providerStage, providerProduct, providerVersion, component, componentVersion, user, experiments, routingStage, } = dependencies;
229
+ 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
230
  }
221
231
  // #endregion
222
232
  // #region Engagement Event Builders
@@ -238,6 +248,9 @@ function buildEngagementOfferEvent(input, dependencies) {
238
248
  function buildEngagementSportsUIElementEvent(input, dependencies) {
239
249
  return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.EngagementSportsUIElement, getSportsElementEventBuildersOutput(new Date(), dependencies, input), normalizePageInput(input));
240
250
  }
251
+ function buildEngagementSchoolUIElementEvent(input, dependencies) {
252
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.EngagementSchoolUIElement, getElementEventBuildersOutput(new Date(), dependencies, input), normalizePageInput(input));
253
+ }
241
254
  function buildEngagementTeaserEvent(input, dependencies) {
242
255
  return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.EngagementTeaser, getElementEventBuildersOutput(new Date(), dependencies, input), normalizePageInput(input));
243
256
  }
@@ -293,6 +306,9 @@ function buildImpressionPlayerEvent(input, dependencies) {
293
306
  function buildImpressionSportsUIElementEvent(input, dependencies) {
294
307
  return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ImpressionSportsUIElement, getSportsElementEventBuildersOutput(new Date(), dependencies, input), normalizePageInput(input));
295
308
  }
309
+ function buildImpressionSchoolUIElementEvent(input, dependencies) {
310
+ return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ImpressionSchoolUIElement, getElementEventBuildersOutput(new Date(), dependencies, input), normalizePageInput(input));
311
+ }
296
312
  function buildImpressionTeaserEvent(input, dependencies) {
297
313
  return (0, ts_deepmerge_1.merge)(tpaas_schemas_1.ImpressionTeaser, getElementEventBuildersOutput(new Date(), dependencies, input), normalizePageInput(input));
298
314
  }