@schibsted/pulse-sdk 8.0.0-rc.3 → 8.0.0-rc.5

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 (29) hide show
  1. package/dist/cjs/Tracker.js +14 -79
  2. package/dist/cjs/Tracker.test-d.js +2 -0
  3. package/dist/cjs/builders/actor.js +3 -3
  4. package/dist/cjs/identity/actor.js +18 -6
  5. package/dist/cjs/tracker-proxy/consts.js +0 -7
  6. package/dist/cjs/version.js +1 -1
  7. package/dist/ejs/Tracker.js +16 -81
  8. package/dist/ejs/Tracker.test-d.js +2 -0
  9. package/dist/ejs/builders/actor.js +2 -2
  10. package/dist/ejs/identity/actor.js +19 -7
  11. package/dist/ejs/tracker-proxy/consts.js +0 -7
  12. package/dist/ejs/version.js +1 -1
  13. package/dist/types/Tracker.d.ts +2 -39
  14. package/dist/types/builders/actor.d.ts +3 -2
  15. package/dist/types/identity/actor.d.ts +2 -2
  16. package/dist/types/identity/cis.d.ts +1 -1
  17. package/dist/types/tracker-proxy/consts.d.ts +1 -1
  18. package/dist/types/version.d.ts +1 -1
  19. package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders/catalogVersion.js +9 -0
  20. package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders.js +63 -78
  21. package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders/catalogVersion.js +6 -0
  22. package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders.js +64 -72
  23. package/node_modules/@schibsted/tpaas-event-builder/dist/index.d.ts +736 -1058
  24. package/node_modules/@schibsted/tpaas-event-builder/package.json +1 -1
  25. package/node_modules/@schibsted/tpaas-schemas/dist/cjs/constants.js +80 -107
  26. package/node_modules/@schibsted/tpaas-schemas/dist/ejs/constants.js +78 -105
  27. package/node_modules/@schibsted/tpaas-schemas/dist/index.d.ts +850 -1214
  28. package/node_modules/@schibsted/tpaas-schemas/package.json +1 -1
  29. package/package.json +3 -3
@@ -1,6 +1,6 @@
1
1
  import { type AdvertisingIdentifiers, type AdvertisingVendor } from '@schibsted/pulse-cis-sync';
2
2
  import { getCommonBuildersOutput, type InputParams } from '@schibsted/tpaas-event-builder';
3
- import { type IAnonymousViewUIElement, type ICompletedHealthAction, type IEngagementAudio, type IEngagementForm, type IEngagementHealthUIElement, type IEngagementOffer, type IEngagementTeaser, type IEngagementUIElement, type IEngagementVideo, type IEngagementVideoAd, type IEngagementWidget, type IImpressionAdSlot, type IImpressionForm, type IImpressionHealthUIElement, type IImpressionOffer, type IImpressionPlayer, type IImpressionTeaser, type IImpressionUIElement, type IImpressionWidget, type ILeave, type ILeaveArticle, type ILeaveAudioPage, type ILeaveError, type ILeaveFrontpage, type ILeaveLandingpage, type ILeaveListing, type ILeaveLockedArticle, type ILeaveLockedAudio, type ILeaveLockedAudioPage, type ILeaveLockedVideo, type ILeaveLockedVideoPage, type ILeavePage, type ILeaveSportsPage, type ILeaveVideoPage, type ILeaveWeather, type ITpaasEvent, type IViewArticle, type IViewAudio, type IViewAudioPage, type IViewError, type IViewFrontpage, type IViewHealthPage, type IViewLandingpage, type IViewListing, type IViewLockedArticle, type IViewLockedAudio, type IViewLockedAudioPage, type IViewLockedVideo, type IViewLockedVideoPage, type IViewPage, type IViewSportsPage, type IViewTitle, type IViewVideo, type IViewVideoPage, type IViewWeather } from '@schibsted/tpaas-schemas';
3
+ import { type IAnonymousViewUIElement, type ICompletedHealthAction, type IEngagementAudio, type IEngagementForm, type IEngagementHealthUIElement, type IEngagementOffer, type IEngagementTeaser, type IEngagementUIElement, type IEngagementVideo, type IEngagementVideoAd, type IEngagementWidget, type IImpressionForm, type IImpressionHealthUIElement, type IImpressionOffer, type IImpressionPlayer, type IImpressionTeaser, type IImpressionUIElement, type IImpressionWidget, type ILeave, type ILeaveArticle, type ILeaveAudioPage, type ILeaveError, type ILeaveFrontpage, type ILeaveLandingpage, type ILeaveListing, type ILeaveLockedArticle, type ILeaveLockedAudioPage, type ILeaveLockedVideoPage, type ILeavePage, type ILeaveSportsPage, type ILeaveVideoPage, type ILeaveWeather, type ITpaasEvent, type IViewArticle, type IViewAudioPage, type IViewError, type IViewFrontpage, type IViewHealthPage, type IViewLandingpage, type IViewListing, type IViewLockedArticle, type IViewLockedAudioPage, type IViewLockedVideoPage, type IViewPage, type IViewSportsPage, type IViewTitle, type IViewVideoPage, type IViewWeather } from '@schibsted/tpaas-schemas';
4
4
  import logger from 'loglevel';
5
5
  import type { ActorInput, Consents, ConsentsInput, DeviceInput, LocationInput, ObjectInput, OriginInput, ProviderInput, TrackerInput } from './builders';
6
6
  import { engagementEvent, identityEvent, routableEvent, trackerEvent } from './builders/events';
@@ -573,23 +573,12 @@ export default class Tracker {
573
573
  * @category TPaaS Tracking
574
574
  */
575
575
  trackImpressionWidget(input: InputParams<IImpressionWidget>): Promise<unknown>;
576
- /**
577
- * @param input
578
- * @category TPaaS Tracking
579
- */
580
- trackImpressionAdSlot(input: InputParams<IImpressionAdSlot>): Promise<unknown>;
581
576
  /**
582
577
  * @param input
583
578
  * @param options
584
579
  * @category TPaaS Tracking
585
580
  */
586
581
  trackViewArticle(input: InputParams<IViewArticle>, options: TrackViewEventOptions): Promise<unknown>;
587
- /**
588
- * @param input
589
- * @param options
590
- * @category TPaaS Tracking
591
- */
592
- trackViewAudio(input: InputParams<IViewAudio>): Promise<unknown>;
593
582
  /**
594
583
  * Tracks a View AudioPage event and automatically fires a Leave AudioPage event when the user
595
584
  * navigates away.
@@ -686,34 +675,18 @@ export default class Tracker {
686
675
  * @category TPaaS Tracking
687
676
  */
688
677
  trackViewLockedArticle(input: InputParams<IViewLockedArticle>, options: TrackViewEventOptions): Promise<unknown>;
689
- /**
690
- * @param input
691
- * @param options
692
- * @category TPaaS Tracking
693
- */
694
- trackViewLockedAudio(input: InputParams<IViewLockedAudio>): Promise<unknown>;
695
678
  /**
696
679
  * @param input
697
680
  * @param options
698
681
  * @category TPaaS Tracking
699
682
  */
700
683
  trackViewLockedAudioPage(input: InputParams<IViewLockedAudioPage>, options: TrackViewEventOptions): Promise<unknown>;
701
- /**
702
- * @param input
703
- * @category TPaaS Tracking
704
- */
705
- trackViewLockedVideo(input: InputParams<IViewLockedVideo>): Promise<unknown>;
706
684
  /**
707
685
  * @param input
708
686
  * @param options
709
687
  * @category TPaaS Tracking
710
688
  */
711
689
  trackViewLockedVideoPage(input: InputParams<IViewLockedVideoPage>, options: TrackViewEventOptions): Promise<unknown>;
712
- /**
713
- * @param input
714
- * @category TPaaS Tracking
715
- */
716
- trackViewVideo(input: InputParams<IViewVideo>): Promise<unknown>;
717
690
  /**
718
691
  * Tracks a View VideoPage event and automatically fires a Leave VideoPage event when the user
719
692
  * navigates away.
@@ -798,21 +771,11 @@ export default class Tracker {
798
771
  * @category TPaaS Tracking
799
772
  */
800
773
  trackLeaveLockedArticle(input: InputParams<ILeaveLockedArticle>): Promise<unknown>;
801
- /**
802
- * @param input
803
- * @category TPaaS Tracking
804
- */
805
- trackLeaveLockedAudio(input: InputParams<ILeaveLockedAudio>): Promise<unknown>;
806
774
  /**
807
775
  * @param input
808
776
  * @category TPaaS Tracking
809
777
  */
810
778
  trackLeaveLockedAudioPage(input: InputParams<ILeaveLockedAudioPage>): Promise<unknown>;
811
- /**
812
- * @param input
813
- * @category TPaaS Tracking
814
- */
815
- trackLeaveLockedVideo(input: InputParams<ILeaveLockedVideo>): Promise<unknown>;
816
779
  /**
817
780
  * @param input
818
781
  * @category TPaaS Tracking
@@ -1069,7 +1032,7 @@ export default class Tracker {
1069
1032
  * @internal
1070
1033
  * @category Configuration
1071
1034
  */
1072
- syncRemoteResources(input?: unknown, builders?: Builders): Promise<{
1035
+ syncRemoteResources(input?: Partial<Builders>, builders?: Builders): Promise<{
1073
1036
  adId?: string;
1074
1037
  doTracking: boolean;
1075
1038
  environmentId?: string;
@@ -1,3 +1,4 @@
1
+ import type { Builders } from '../Tracker';
1
2
  import type { TrackerEventInput } from './events';
2
3
  /**
3
4
  * generateActorSDRN
@@ -24,11 +25,11 @@ export type Actor = {
24
25
  'spt:userId': string;
25
26
  };
26
27
  /**
27
- * Type guard to check if the input is an ActorInput
28
+ * Type guard to check if the input has an Actor Builder
28
29
  * @param input
29
30
  * @internal
30
31
  */
31
- export declare function isActorInput(input: unknown): input is ActorInput;
32
+ export declare function hasActorBuilder(input: unknown): input is Pick<Builders, 'actor'>;
32
33
  /**
33
34
  * Function to generate a builder for Actor objects.
34
35
  */
@@ -3,7 +3,7 @@ import type { Builders } from '../Tracker';
3
3
  /**
4
4
  * @internal exported for testing
5
5
  */
6
- export declare const WARN_CIS_SYNC_LOGIN_UNDEFINED: string;
6
+ export declare const WARN_CIS_SYNC_LOGIN_UNDEFINED = "No Actor Builder found in event input or tracker builders. Please provide an Actor Builder to ensure the SDK resolves logged-in and logged-out scenarios correctly.";
7
7
  /**
8
8
  * Get the actor id (userId) from the current browser. A promise is returned
9
9
  * because a call may be made to complete the login process.
@@ -24,5 +24,5 @@ declare const userIsLoggedIn: (builders: Builders) => Promise<boolean>;
24
24
  * @category Tracker
25
25
  * @private
26
26
  */
27
- declare const evaluateActor: (eventInput?: unknown, builders?: Builders) => Promise<ActorInput>;
27
+ declare const evaluateActor: (eventInput?: Partial<Builders>, builders?: Builders) => Promise<ActorInput>;
28
28
  export { getUserId, getActor, userIsLoggedIn, evaluateActor };
@@ -12,7 +12,7 @@ declare const requireCisSyncCallForAdvertisingIds: () => void;
12
12
  * @returns the parsed pulse cookie after syncing with cis.
13
13
  * @category Identifiers
14
14
  */
15
- declare const cisSync: (data?: unknown, builders?: Builders, config?: SDKState) => Promise<{
15
+ declare const cisSync: (data?: Partial<Builders>, builders?: Builders, config?: SDKState) => Promise<{
16
16
  adId?: string;
17
17
  doTracking: boolean;
18
18
  environmentId?: string;
@@ -17,7 +17,7 @@ export declare const MESSAGE_TYPE_INVOKE = "pulse-tracker-proxy:invoke";
17
17
  export declare const MESSAGE_TYPE_RETURN = "pulse-tracker-proxy:return";
18
18
  export declare const MESSAGE_TYPE_RETURN_ERROR = "pulse-tracker-proxy:return-error";
19
19
  export declare const ALLOWED_METHODS: readonly ["track"];
20
- export declare const TPAAS_ALLOWED_METHODS: readonly ["trackAnonymousViewUIElement", "trackEngagementAudio", "trackEngagementForm", "trackEngagementHealthUIElement", "trackEngagementOffer", "trackEngagementTeaser", "trackEngagementUIElement", "trackEngagementVideo", "trackEngagementVideoAd", "trackEngagementWidget", "trackCompletedHealthAction", "trackImpressionAdSlot", "trackImpressionForm", "trackImpressionHealthUIElement", "trackImpressionOffer", "trackImpressionPlayer", "trackImpressionTeaser", "trackImpressionUIElement", "trackImpressionWidget", "trackLeaveArticle", "trackLeaveAudioPage", "trackLeaveError", "trackLeaveFrontpage", "trackLeaveLandingpage", "trackLeaveListing", "trackLeaveLockedArticle", "trackLeaveLockedAudio", "trackLeaveLockedAudioPage", "trackLeaveLockedVideo", "trackLeaveLockedVideoPage", "trackLeavePage", "trackLeaveVideoPage", "trackLeaveWeather", "trackViewArticle", "trackViewAudio", "trackViewAudioPage", "trackViewError", "trackViewFrontpage", "trackViewHealthPage", "trackViewLandingpage", "trackViewListing", "trackViewLockedArticle", "trackViewLockedAudio", "trackViewLockedAudioPage", "trackViewLockedVideo", "trackViewLockedVideoPage", "trackViewPage", "trackViewTitle", "trackViewVideo", "trackViewVideoPage", "trackViewWeather", "trackLegacyViewArticle", "trackLegacyViewLoginPoster", "trackLegacyViewSalesPoster", "trackLegacyViewListing", "trackLegacyViewFrontpage", "trackLegacyViewPage", "trackLegacyViewUIElement", "trackLegacyClickUIElement"];
20
+ export declare const TPAAS_ALLOWED_METHODS: readonly ["trackAnonymousViewUIElement", "trackEngagementAudio", "trackEngagementForm", "trackEngagementHealthUIElement", "trackEngagementOffer", "trackEngagementTeaser", "trackEngagementUIElement", "trackEngagementVideo", "trackEngagementVideoAd", "trackEngagementWidget", "trackCompletedHealthAction", "trackImpressionForm", "trackImpressionHealthUIElement", "trackImpressionOffer", "trackImpressionPlayer", "trackImpressionTeaser", "trackImpressionUIElement", "trackImpressionWidget", "trackLeaveArticle", "trackLeaveAudioPage", "trackLeaveError", "trackLeaveFrontpage", "trackLeaveLandingpage", "trackLeaveListing", "trackLeaveLockedArticle", "trackLeaveLockedAudioPage", "trackLeaveLockedVideoPage", "trackLeavePage", "trackLeaveVideoPage", "trackLeaveWeather", "trackViewArticle", "trackViewAudioPage", "trackViewError", "trackViewFrontpage", "trackViewHealthPage", "trackViewLandingpage", "trackViewListing", "trackViewLockedArticle", "trackViewLockedAudioPage", "trackViewLockedVideoPage", "trackViewPage", "trackViewTitle", "trackViewVideoPage", "trackViewWeather", "trackLegacyViewArticle", "trackLegacyViewLoginPoster", "trackLegacyViewSalesPoster", "trackLegacyViewListing", "trackLegacyViewFrontpage", "trackLegacyViewPage", "trackLegacyViewUIElement", "trackLegacyClickUIElement"];
21
21
  export declare function isPulseProxyMessage(message: unknown): message is Message;
22
22
  export type TrackInvocation = {
23
23
  method: 'track';
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "8.0.0-rc.3";
1
+ export declare const SDK_VERSION = "8.0.0-rc.5";
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.builder = builder;
4
+ const tpaas_schemas_1 = require("@schibsted/tpaas-schemas");
5
+ function builder() {
6
+ return {
7
+ catalogVersion: tpaas_schemas_1.CATALOG_VERSION,
8
+ };
9
+ }
@@ -3,22 +3,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getCommonBuildersOutput = void 0;
4
4
  exports.buildAnonymousViewUIElementEvent = buildAnonymousViewUIElementEvent;
5
5
  exports.buildViewArticleEvent = buildViewArticleEvent;
6
- exports.buildViewAudioEvent = buildViewAudioEvent;
7
6
  exports.buildViewAudioPageEvent = buildViewAudioPageEvent;
8
7
  exports.buildViewErrorEvent = buildViewErrorEvent;
9
8
  exports.buildViewFrontpageEvent = buildViewFrontpageEvent;
10
9
  exports.buildViewLandingpageEvent = buildViewLandingpageEvent;
11
10
  exports.buildViewListingEvent = buildViewListingEvent;
12
11
  exports.buildViewLockedArticleEvent = buildViewLockedArticleEvent;
13
- exports.buildViewLockedAudioEvent = buildViewLockedAudioEvent;
14
12
  exports.buildViewLockedAudioPageEvent = buildViewLockedAudioPageEvent;
15
- exports.buildViewLockedVideoEvent = buildViewLockedVideoEvent;
16
13
  exports.buildViewLockedVideoPageEvent = buildViewLockedVideoPageEvent;
17
14
  exports.buildLeaveLockedVideoPageEvent = buildLeaveLockedVideoPageEvent;
18
15
  exports.buildViewPageEvent = buildViewPageEvent;
19
16
  exports.buildViewSportsPageEvent = buildViewSportsPageEvent;
20
17
  exports.buildViewTitleEvent = buildViewTitleEvent;
21
- exports.buildViewVideoEvent = buildViewVideoEvent;
22
18
  exports.buildViewVideoPageEvent = buildViewVideoPageEvent;
23
19
  exports.buildViewWeatherEvent = buildViewWeatherEvent;
24
20
  exports.buildLeaveArticleEvent = buildLeaveArticleEvent;
@@ -28,9 +24,7 @@ exports.buildLeaveFrontpageEvent = buildLeaveFrontpageEvent;
28
24
  exports.buildLeaveLandingpageEvent = buildLeaveLandingpageEvent;
29
25
  exports.buildLeaveListingEvent = buildLeaveListingEvent;
30
26
  exports.buildLeaveLockedArticleEvent = buildLeaveLockedArticleEvent;
31
- exports.buildLeaveLockedAudioEvent = buildLeaveLockedAudioEvent;
32
27
  exports.buildLeaveLockedAudioPageEvent = buildLeaveLockedAudioPageEvent;
33
- exports.buildLeaveLockedVideoEvent = buildLeaveLockedVideoEvent;
34
28
  exports.buildLeavePageEvent = buildLeavePageEvent;
35
29
  exports.buildLeaveSportsPageEvent = buildLeaveSportsPageEvent;
36
30
  exports.buildLeaveVideoPageEvent = buildLeaveVideoPageEvent;
@@ -47,7 +41,6 @@ exports.buildCompletedHealthActionEvent = buildCompletedHealthActionEvent;
47
41
  exports.buildEngagementHealthUIElementEvent = buildEngagementHealthUIElementEvent;
48
42
  exports.buildViewHealthPageEvent = buildViewHealthPageEvent;
49
43
  exports.buildImpressionHealthUIElementEvent = buildImpressionHealthUIElementEvent;
50
- exports.buildImpressionAdSlotEvent = buildImpressionAdSlotEvent;
51
44
  exports.buildImpressionFormEvent = buildImpressionFormEvent;
52
45
  exports.buildImpressionOfferEvent = buildImpressionOfferEvent;
53
46
  exports.buildImpressionPlayerEvent = buildImpressionPlayerEvent;
@@ -58,6 +51,7 @@ const tpaas_schemas_1 = require("@schibsted/tpaas-schemas");
58
51
  const ts_deepmerge_1 = require("ts-deepmerge");
59
52
  const anonymous_1 = require("./builders/anonymous");
60
53
  const baseEvent_1 = require("./builders/baseEvent");
54
+ const catalogVersion_1 = require("./builders/catalogVersion");
61
55
  const consents_1 = require("./builders/consents");
62
56
  const device_1 = require("./builders/device");
63
57
  const experiments_1 = require("./builders/experiments");
@@ -78,15 +72,27 @@ const utm_1 = require("./builders/utm");
78
72
  * @private
79
73
  */
80
74
  const getCommonBuildersOutput = (createdAt, { autoTrackerVersion, isHybrid, version, environmentId, jwe, user, consents, providerId, pageviewId, currentPage, }) => {
81
- return (0, ts_deepmerge_1.merge)((0, trackerBuilder_1.builder)(autoTrackerVersion, isHybrid, version), (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), (0, pageInfo_1.builder)(currentPage), (0, pageviewId_1.builder)(pageviewId), (0, utm_1.builder)(), (0, referrer_1.builder)());
75
+ return (0, ts_deepmerge_1.merge)((0, trackerBuilder_1.builder)(autoTrackerVersion, isHybrid, version), (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), (0, pageInfo_1.builder)(currentPage), (0, pageviewId_1.builder)(pageviewId), (0, utm_1.builder)(), (0, referrer_1.builder)(), (0, catalogVersion_1.builder)());
82
76
  };
83
77
  exports.getCommonBuildersOutput = getCommonBuildersOutput;
84
78
  // there's a bug in the ts-deepmerge library that doesn't properly resolve merging optionals with required properties
85
- // due to this, we need to manually omit navigationType from the input before merging
79
+ // due to this, we need to do 2 things:
80
+ // (1) manually omit navigationType from the input before merging.
86
81
  // it has no effect on the final value since navigationType will always be set by the navigationTypeBuilder.
87
- // But it makes TS happy in an elegant way, without type assertions
88
- const omitNavigationType = (input) => {
82
+ // (2) ensure page is always defined in the input, even when it's not passed to the SDK
83
+ // again, it has no effect on the final value because several builders are passing a page object
84
+ // But this makes TS happy in an elegant way, without type assertions at the merge level
85
+ const normalizePageInput = (input) => {
89
86
  const { page, ...rest } = input;
87
+ if (!page) {
88
+ return {
89
+ ...rest,
90
+ page: {},
91
+ };
92
+ }
93
+ if (!('navigationType' in page)) {
94
+ return input;
95
+ }
90
96
  const { navigationType: _, ...pageRest } = page;
91
97
  return {
92
98
  ...rest,
@@ -99,174 +105,153 @@ const omitNavigationType = (input) => {
99
105
  function buildAnonymousViewUIElementEvent(input, dependencies) {
100
106
  const createdAt = new Date();
101
107
  const { autoTrackerVersion, isHybrid, version, pageviewId, providerId } = dependencies;
102
- return (0, ts_deepmerge_1.merge)(input, tpaas_schemas_1.AnonymousViewUIElement, (0, baseEvent_1.builder)(), (0, trackerBuilder_1.builder)(autoTrackerVersion, isHybrid, version), (0, time_1.builder)(createdAt), (0, pageviewId_1.builder)(pageviewId), (0, utm_1.builder)(), (0, anonymous_1.builder)(), (0, provider_1.builder)(providerId), (0, referrer_1.builder)(), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
108
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.AnonymousViewUIElement, (0, baseEvent_1.builder)(), (0, trackerBuilder_1.builder)(autoTrackerVersion, isHybrid, version), (0, time_1.builder)(createdAt), (0, pageviewId_1.builder)(pageviewId), (0, utm_1.builder)(), (0, anonymous_1.builder)(), (0, provider_1.builder)(providerId), (0, referrer_1.builder)(), (0, experiments_1.builder)(dependencies.experiments, input.experiments), (0, catalogVersion_1.builder)());
103
109
  }
104
110
  // #endregion
105
111
  // #region View Event Builders
106
112
  function buildViewArticleEvent(input, dependencies) {
107
- return (0, ts_deepmerge_1.merge)(omitNavigationType(input), tpaas_schemas_1.ViewArticle, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page.navigationType), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
108
- }
109
- function buildViewAudioEvent(input, dependencies) {
110
- return (0, ts_deepmerge_1.merge)(omitNavigationType(input), tpaas_schemas_1.ViewAudio, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page.navigationType), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
113
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.ViewArticle, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page?.navigationType), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
111
114
  }
112
115
  function buildViewAudioPageEvent(input, dependencies) {
113
- return (0, ts_deepmerge_1.merge)(omitNavigationType(input), tpaas_schemas_1.ViewAudioPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments), (0, navigationType_1.builder)(input.page.navigationType));
116
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.ViewAudioPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments), (0, navigationType_1.builder)(input.page?.navigationType));
114
117
  }
115
118
  function buildViewErrorEvent(input, dependencies) {
116
- return (0, ts_deepmerge_1.merge)(omitNavigationType(input), tpaas_schemas_1.ViewError, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page.navigationType), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
119
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.ViewError, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page?.navigationType), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
117
120
  }
118
121
  function buildViewFrontpageEvent(input, dependencies) {
119
- return (0, ts_deepmerge_1.merge)(omitNavigationType(input), tpaas_schemas_1.ViewFrontpage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments), (0, navigationType_1.builder)(input.page.navigationType));
122
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.ViewFrontpage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments), (0, navigationType_1.builder)(input.page?.navigationType));
120
123
  }
121
124
  function buildViewLandingpageEvent(input, dependencies) {
122
- return (0, ts_deepmerge_1.merge)(omitNavigationType(input), tpaas_schemas_1.ViewLandingpage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page.navigationType), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
125
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.ViewLandingpage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page?.navigationType), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
123
126
  }
124
127
  function buildViewListingEvent(input, dependencies) {
125
- return (0, ts_deepmerge_1.merge)(omitNavigationType(input), tpaas_schemas_1.ViewListing, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page.navigationType), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
128
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.ViewListing, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page?.navigationType), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
126
129
  }
127
130
  function buildViewLockedArticleEvent(input, dependencies) {
128
- return (0, ts_deepmerge_1.merge)(omitNavigationType(input), tpaas_schemas_1.ViewLockedArticle, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page.navigationType), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
129
- }
130
- function buildViewLockedAudioEvent(input, dependencies) {
131
- return (0, ts_deepmerge_1.merge)(omitNavigationType(input), tpaas_schemas_1.ViewLockedAudio, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page.navigationType), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
131
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.ViewLockedArticle, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page?.navigationType), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
132
132
  }
133
133
  function buildViewLockedAudioPageEvent(input, dependencies) {
134
- return (0, ts_deepmerge_1.merge)(omitNavigationType(input), tpaas_schemas_1.ViewLockedAudioPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page.navigationType), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
135
- }
136
- function buildViewLockedVideoEvent(input, dependencies) {
137
- return (0, ts_deepmerge_1.merge)(omitNavigationType(input), tpaas_schemas_1.ViewLockedVideo, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page.navigationType), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
134
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.ViewLockedAudioPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page?.navigationType), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
138
135
  }
139
136
  function buildViewLockedVideoPageEvent(input, dependencies) {
140
- return (0, ts_deepmerge_1.merge)(omitNavigationType(input), tpaas_schemas_1.ViewLockedVideoPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page.navigationType), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
137
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.ViewLockedVideoPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page?.navigationType), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
141
138
  }
142
139
  function buildLeaveLockedVideoPageEvent(input, dependencies) {
143
- return (0, ts_deepmerge_1.merge)(omitNavigationType(input), tpaas_schemas_1.LeaveLockedVideoPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page.navigationType));
140
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.LeaveLockedVideoPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page?.navigationType));
144
141
  }
145
142
  function buildViewPageEvent(input, dependencies) {
146
- return (0, ts_deepmerge_1.merge)(omitNavigationType(input), tpaas_schemas_1.ViewPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments), (0, navigationType_1.builder)(input.page.navigationType));
143
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.ViewPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments), (0, navigationType_1.builder)(input.page?.navigationType));
147
144
  }
148
145
  function buildViewSportsPageEvent(input, dependencies) {
149
- return (0, ts_deepmerge_1.merge)(omitNavigationType(input), tpaas_schemas_1.ViewSportsPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments), (0, navigationType_1.builder)(input.page.navigationType));
146
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.ViewSportsPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments), (0, navigationType_1.builder)(input.page?.navigationType));
150
147
  }
151
148
  function buildViewTitleEvent(input, dependencies) {
152
- return (0, ts_deepmerge_1.merge)(omitNavigationType(input), tpaas_schemas_1.ViewTitle, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments), (0, navigationType_1.builder)(input.page.navigationType));
153
- }
154
- function buildViewVideoEvent(input, dependencies) {
155
- return (0, ts_deepmerge_1.merge)(omitNavigationType(input), tpaas_schemas_1.ViewVideo, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments), (0, navigationType_1.builder)(input.page.navigationType));
149
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.ViewTitle, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments), (0, navigationType_1.builder)(input.page?.navigationType));
156
150
  }
157
151
  function buildViewVideoPageEvent(input, dependencies) {
158
- return (0, ts_deepmerge_1.merge)(omitNavigationType(input), tpaas_schemas_1.ViewVideoPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments), (0, navigationType_1.builder)(input.page.navigationType));
152
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.ViewVideoPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments), (0, navigationType_1.builder)(input.page?.navigationType));
159
153
  }
160
154
  function buildViewWeatherEvent(input, dependencies) {
161
- return (0, ts_deepmerge_1.merge)(omitNavigationType(input), tpaas_schemas_1.ViewWeather, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments), (0, navigationType_1.builder)(input.page.navigationType));
155
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.ViewWeather, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments), (0, navigationType_1.builder)(input.page?.navigationType));
162
156
  }
163
157
  // #endregion
164
158
  // #region Leave Event Builders
165
159
  function buildLeaveArticleEvent(input, dependencies) {
166
- return (0, ts_deepmerge_1.merge)(omitNavigationType(input), tpaas_schemas_1.LeaveArticle, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page.navigationType), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
160
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.LeaveArticle, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page?.navigationType), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
167
161
  }
168
162
  function buildLeaveAudioPageEvent(input, dependencies) {
169
- return (0, ts_deepmerge_1.merge)(omitNavigationType(input), tpaas_schemas_1.LeaveAudioPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page.navigationType));
163
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.LeaveAudioPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page?.navigationType));
170
164
  }
171
165
  function buildLeaveErrorEvent(input, dependencies) {
172
- return (0, ts_deepmerge_1.merge)(omitNavigationType(input), tpaas_schemas_1.LeaveError, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page.navigationType), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
166
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.LeaveError, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page?.navigationType), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
173
167
  }
174
168
  function buildLeaveFrontpageEvent(input, dependencies) {
175
- return (0, ts_deepmerge_1.merge)(omitNavigationType(input), tpaas_schemas_1.LeaveFrontpage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page.navigationType), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
169
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.LeaveFrontpage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page?.navigationType), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
176
170
  }
177
171
  function buildLeaveLandingpageEvent(input, dependencies) {
178
- return (0, ts_deepmerge_1.merge)(omitNavigationType(input), tpaas_schemas_1.LeaveLandingpage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page.navigationType), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
172
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.LeaveLandingpage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page?.navigationType), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
179
173
  }
180
174
  function buildLeaveListingEvent(input, dependencies) {
181
- return (0, ts_deepmerge_1.merge)(omitNavigationType(input), tpaas_schemas_1.LeaveListing, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page.navigationType), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
175
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.LeaveListing, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page?.navigationType), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
182
176
  }
183
177
  function buildLeaveLockedArticleEvent(input, dependencies) {
184
- return (0, ts_deepmerge_1.merge)(omitNavigationType(input), tpaas_schemas_1.LeaveLockedArticle, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page.navigationType), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
185
- }
186
- function buildLeaveLockedAudioEvent(input, dependencies) {
187
- return (0, ts_deepmerge_1.merge)(omitNavigationType(input), tpaas_schemas_1.LeaveLockedAudio, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page.navigationType), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
178
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.LeaveLockedArticle, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page?.navigationType), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
188
179
  }
189
180
  function buildLeaveLockedAudioPageEvent(input, dependencies) {
190
- return (0, ts_deepmerge_1.merge)(omitNavigationType(input), tpaas_schemas_1.LeaveLockedAudioPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page.navigationType));
191
- }
192
- function buildLeaveLockedVideoEvent(input, dependencies) {
193
- return (0, ts_deepmerge_1.merge)(omitNavigationType(input), tpaas_schemas_1.LeaveLockedVideo, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page.navigationType), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
181
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.LeaveLockedAudioPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page?.navigationType));
194
182
  }
195
183
  function buildLeavePageEvent(input, dependencies) {
196
- return (0, ts_deepmerge_1.merge)(omitNavigationType(input), tpaas_schemas_1.LeavePage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page.navigationType), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
184
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.LeavePage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page?.navigationType), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
197
185
  }
198
186
  function buildLeaveSportsPageEvent(input, dependencies) {
199
- return (0, ts_deepmerge_1.merge)(omitNavigationType(input), tpaas_schemas_1.LeaveSportsPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page.navigationType), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
187
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.LeaveSportsPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page?.navigationType), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
200
188
  }
201
189
  function buildLeaveVideoPageEvent(input, dependencies) {
202
- return (0, ts_deepmerge_1.merge)(omitNavigationType(input), tpaas_schemas_1.LeaveVideoPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page.navigationType));
190
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.LeaveVideoPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page?.navigationType));
203
191
  }
204
192
  function buildLeaveWeatherEvent(input, dependencies) {
205
193
  const createdAt = new Date();
206
194
  const { autoTrackerVersion, isHybrid, version, providerId, user, experiments } = dependencies;
207
- return (0, ts_deepmerge_1.merge)(input, tpaas_schemas_1.LeaveWeather, (0, time_1.builder)(createdAt), (0, trackerBuilder_1.builder)(autoTrackerVersion, isHybrid, version), (0, baseEvent_1.builder)(), (0, provider_1.builder)(providerId), (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));
195
+ return (0, ts_deepmerge_1.merge)(input, tpaas_schemas_1.LeaveWeather, (0, time_1.builder)(createdAt), (0, trackerBuilder_1.builder)(autoTrackerVersion, isHybrid, version), (0, baseEvent_1.builder)(), (0, provider_1.builder)(providerId), (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)());
208
196
  }
209
197
  // #endregion
210
198
  // #region Engagement Event Builders
211
199
  function buildEngagementAudioEvent(input, dependencies) {
212
- return (0, ts_deepmerge_1.merge)(input, tpaas_schemas_1.EngagementAudio, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
200
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.EngagementAudio, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
213
201
  }
214
202
  function buildEngagementFormEvent(input, dependencies) {
215
- return (0, ts_deepmerge_1.merge)(input, tpaas_schemas_1.EngagementForm, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
203
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.EngagementForm, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
216
204
  }
217
205
  function buildEngagementOfferEvent(input, dependencies) {
218
- return (0, ts_deepmerge_1.merge)(input, tpaas_schemas_1.EngagementOffer, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
206
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.EngagementOffer, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
219
207
  }
220
208
  function buildEngagementTeaserEvent(input, dependencies) {
221
- return (0, ts_deepmerge_1.merge)(input, tpaas_schemas_1.EngagementTeaser, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
209
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.EngagementTeaser, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
222
210
  }
223
211
  function buildEngagementUIElementEvent(input, dependencies) {
224
- return (0, ts_deepmerge_1.merge)(input, tpaas_schemas_1.EngagementUIElement, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
212
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.EngagementUIElement, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
225
213
  }
226
214
  function buildEngagementVideoEvent(input, dependencies) {
227
- return (0, ts_deepmerge_1.merge)(input, tpaas_schemas_1.EngagementVideo, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
215
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.EngagementVideo, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
228
216
  }
229
217
  function buildEngagementVideoAdEvent(input, dependencies) {
230
- return (0, ts_deepmerge_1.merge)(input, tpaas_schemas_1.EngagementVideoAd, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
218
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.EngagementVideoAd, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
231
219
  }
232
220
  function buildEngagementWidgetEvent(input, dependencies) {
233
- return (0, ts_deepmerge_1.merge)(input, tpaas_schemas_1.EngagementWidget, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
221
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.EngagementWidget, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
234
222
  }
235
223
  // #endregion
236
224
  // #region Health Event Builders
237
225
  function buildCompletedHealthActionEvent(input, dependencies) {
238
- return (0, ts_deepmerge_1.merge)(input, tpaas_schemas_1.CompletedHealthAction, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
226
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.CompletedHealthAction, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
239
227
  }
240
228
  function buildEngagementHealthUIElementEvent(input, dependencies) {
241
- return (0, ts_deepmerge_1.merge)(input, tpaas_schemas_1.EngagementHealthUIElement, (0, exports.getCommonBuildersOutput)(new Date(), dependencies));
229
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.EngagementHealthUIElement, (0, exports.getCommonBuildersOutput)(new Date(), dependencies));
242
230
  }
243
231
  function buildViewHealthPageEvent(input, dependencies) {
244
- return (0, ts_deepmerge_1.merge)(omitNavigationType(input), tpaas_schemas_1.ViewHealthPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page.navigationType));
232
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.ViewHealthPage, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, navigationType_1.builder)(input.page?.navigationType));
245
233
  }
246
234
  function buildImpressionHealthUIElementEvent(input, dependencies) {
247
- return (0, ts_deepmerge_1.merge)(input, tpaas_schemas_1.ImpressionHealthUIElement, (0, exports.getCommonBuildersOutput)(new Date(), dependencies));
235
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.ImpressionHealthUIElement, (0, exports.getCommonBuildersOutput)(new Date(), dependencies));
248
236
  }
249
237
  // #endregion
250
238
  // #region Impression Event Builders
251
- function buildImpressionAdSlotEvent(input, dependencies) {
252
- return (0, ts_deepmerge_1.merge)(input, tpaas_schemas_1.ImpressionAdSlot, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
253
- }
254
239
  function buildImpressionFormEvent(input, dependencies) {
255
- return (0, ts_deepmerge_1.merge)(input, tpaas_schemas_1.ImpressionForm, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
240
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.ImpressionForm, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
256
241
  }
257
242
  function buildImpressionOfferEvent(input, dependencies) {
258
- return (0, ts_deepmerge_1.merge)(input, tpaas_schemas_1.ImpressionOffer, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
243
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.ImpressionOffer, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
259
244
  }
260
245
  function buildImpressionPlayerEvent(input, dependencies) {
261
- return (0, ts_deepmerge_1.merge)(input, tpaas_schemas_1.ImpressionPlayer, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
246
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.ImpressionPlayer, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
262
247
  }
263
248
  function buildImpressionTeaserEvent(input, dependencies) {
264
- return (0, ts_deepmerge_1.merge)(input, tpaas_schemas_1.ImpressionTeaser, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
249
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.ImpressionTeaser, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
265
250
  }
266
251
  function buildImpressionUIElementEvent(input, dependencies) {
267
- return (0, ts_deepmerge_1.merge)(input, tpaas_schemas_1.ImpressionUIElement, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
252
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.ImpressionUIElement, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
268
253
  }
269
254
  function buildImpressionWidgetEvent(input, dependencies) {
270
- return (0, ts_deepmerge_1.merge)(input, tpaas_schemas_1.ImpressionWidget, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
255
+ return (0, ts_deepmerge_1.merge)(normalizePageInput(input), tpaas_schemas_1.ImpressionWidget, (0, exports.getCommonBuildersOutput)(new Date(), dependencies), (0, experiments_1.builder)(dependencies.experiments, input.experiments));
271
256
  }
272
257
  // #endregion
@@ -0,0 +1,6 @@
1
+ import { CATALOG_VERSION } from '@schibsted/tpaas-schemas';
2
+ export function builder() {
3
+ return {
4
+ catalogVersion: CATALOG_VERSION,
5
+ };
6
+ }