@schibsted/sps-sdk 4.6.0-CBT-19331.3 → 4.6.0-CBT-19331.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.
@@ -101,13 +101,13 @@ export declare const fetchDecision: <T extends SpsParams = DefaultGetDecisionPar
101
101
  * @typeParam T - The placement type
102
102
  */
103
103
  export type SPSPosterResponseWithPlacementType<T extends PlacementType = PlacementType> = SPSPosterResponse<T> & {
104
- type: T;
104
+ placementType: T;
105
105
  };
106
106
  /**
107
107
  * Raw decision payload returned by the SPS placements-by-context/decision endpoint.
108
108
  */
109
109
  export type ApiDecision = {
110
- type: PlacementType;
110
+ placementType: PlacementType;
111
111
  contentKey: string | null;
112
112
  segmentNames: string[];
113
113
  };
@@ -118,9 +118,10 @@ export type ApiDecision = {
118
118
  * @param context - The page context: `"frontpage"` or `"article"`.
119
119
  * @param endpoint - The SPS API base endpoint URL.
120
120
  * @param cookies - Optional cookie string forwarded as the `Cookie` request header.
121
+ * @param excludedPlacementTypes - Optional placement types to exclude from the result.
121
122
  * @returns An object with a `placements` array, or `{ placements: [] }` on error.
122
123
  */
123
- export declare const fetchPlacementsByContext: (publication: string, context: "frontpage" | "article", endpoint: string, cookies?: string) => Promise<{
124
+ export declare const fetchPlacementsByContext: (publication: string, context: "frontpage" | "article", endpoint: string, cookies?: string, excludedPlacementTypes?: PlacementType[]) => Promise<{
124
125
  placements: SPSPosterResponseWithPlacementType[];
125
126
  }>;
126
127
  /**
@@ -130,8 +131,9 @@ export declare const fetchPlacementsByContext: (publication: string, context: "f
130
131
  * @param context - The page context: `"frontpage"` or `"article"`.
131
132
  * @param endpoint - The SPS API base endpoint URL.
132
133
  * @param cookies - Optional cookie string forwarded as the `Cookie` request header.
134
+ * @param excludedPlacementTypes - Optional placement types to exclude from the result.
133
135
  * @returns An object with a `placements` array, or `{ placements: [] }` on error.
134
136
  */
135
- export declare const fetchDecisionsByContext: (publication: string, context: "frontpage" | "article", endpoint: string, cookies?: string) => Promise<{
137
+ export declare const fetchDecisionsByContext: (publication: string, context: "frontpage" | "article", endpoint: string, cookies?: string, excludedPlacementTypes?: PlacementType[]) => Promise<{
136
138
  placements: ApiDecision[];
137
139
  }>;
@@ -108,11 +108,15 @@ exports.fetchDecision = fetchDecision;
108
108
  * @param context - The page context: `"frontpage"` or `"article"`.
109
109
  * @param endpoint - The SPS API base endpoint URL.
110
110
  * @param cookies - Optional cookie string forwarded as the `Cookie` request header.
111
+ * @param excludedPlacementTypes - Optional placement types to exclude from the result.
111
112
  * @returns An object with a `placements` array, or `{ placements: [] }` on error.
112
113
  */
113
- const fetchPlacementsByContext = async (publication, context, endpoint, cookies) => {
114
+ const fetchPlacementsByContext = async (publication, context, endpoint, cookies, excludedPlacementTypes) => {
114
115
  try {
115
116
  const url = new URL(`${endpoint}/${publication}/placements/${context}`);
117
+ excludedPlacementTypes?.forEach((placementType) => {
118
+ url.searchParams.append("excludedPlacementTypes[]", placementType);
119
+ });
116
120
  const response = await fetch(url.toString(), {
117
121
  credentials: "include",
118
122
  headers: { ...(cookies && { Cookie: cookies }) },
@@ -136,11 +140,15 @@ exports.fetchPlacementsByContext = fetchPlacementsByContext;
136
140
  * @param context - The page context: `"frontpage"` or `"article"`.
137
141
  * @param endpoint - The SPS API base endpoint URL.
138
142
  * @param cookies - Optional cookie string forwarded as the `Cookie` request header.
143
+ * @param excludedPlacementTypes - Optional placement types to exclude from the result.
139
144
  * @returns An object with a `placements` array, or `{ placements: [] }` on error.
140
145
  */
141
- const fetchDecisionsByContext = async (publication, context, endpoint, cookies) => {
146
+ const fetchDecisionsByContext = async (publication, context, endpoint, cookies, excludedPlacementTypes) => {
142
147
  try {
143
148
  const url = new URL(`${endpoint}/${publication}/placements/${context}/decision`);
149
+ excludedPlacementTypes?.forEach((placementType) => {
150
+ url.searchParams.append("excludedPlacementTypes[]", placementType);
151
+ });
144
152
  const response = await fetch(url.toString(), {
145
153
  credentials: "include",
146
154
  headers: { ...(cookies && { Cookie: cookies }) },
@@ -1 +1 @@
1
- {"version":3,"file":"apiClient.js","sourceRoot":"","sources":["../../src/apiClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apiClient.js","sourceRoot":"","sources":["../../src/apiClient.ts"],"names":[],"mappings":"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"}
package/dist/cjs/sps.d.ts CHANGED
@@ -87,6 +87,23 @@ export type SpsRequestOptions<T extends PlacementType> = {
87
87
  */
88
88
  timeoutMs?: number;
89
89
  };
90
+ /**
91
+ * Options for {@link SPS.getFrontpagePlacements} and {@link SPS.getArticlePagePlacements}.
92
+ * @typeParam T - The placement type
93
+ */
94
+ export type SpsContextPlacementsOptions<T extends PlacementType> = SpsRequestOptions<T> & {
95
+ /** Placement types to exclude from the priority-ordered result. */
96
+ excludedPlacementTypes?: PlacementType[];
97
+ };
98
+ /**
99
+ * Options for {@link SPS.getFrontpageDecisions} and {@link SPS.getArticlePageDecisions}.
100
+ */
101
+ export type SpsContextDecisionsOptions = {
102
+ /** Pass `req.headers.cookie` when calling server-side. */
103
+ cookies?: string;
104
+ /** Placement types to exclude from the priority-ordered result. */
105
+ excludedPlacementTypes?: PlacementType[];
106
+ };
90
107
  /**
91
108
  * Variant of {@link SpsRequestOptions} that requires a `fallbackPoster` and forces
92
109
  * `showFallbackPosterOnNoContent` to `true`, guaranteeing a non-null poster is returned.
@@ -244,10 +261,10 @@ export declare class SPS {
244
261
  * Applies the same post-processing as {@link SPS.getPoster}: rewrites login/redirect
245
262
  * placeholder variables and appends tracking search params to links.
246
263
  *
247
- * @param options - Optional request options including tracking context and URL rewrite callbacks.
264
+ * @param options - Optional request options including tracking context, URL rewrite callbacks, and `excludedPlacementTypes`.
248
265
  * @returns Array of enriched placements for the frontpage context, or `[]` on error.
249
266
  */
250
- getFrontpagePlacements(options?: SpsRequestOptions<PlacementType>): Promise<(Poster<PlacementType> & {
267
+ getFrontpagePlacements(options?: SpsContextPlacementsOptions<PlacementType>): Promise<(Poster<PlacementType> & {
251
268
  type: PlacementType;
252
269
  })[]>;
253
270
  /**
@@ -257,10 +274,10 @@ export declare class SPS {
257
274
  * Applies the same post-processing as {@link SPS.getPoster}: rewrites login/redirect
258
275
  * placeholder variables and appends tracking search params to links.
259
276
  *
260
- * @param options - Optional request options including tracking context and URL rewrite callbacks.
277
+ * @param options - Optional request options including tracking context, URL rewrite callbacks, and `excludedPlacementTypes`.
261
278
  * @returns Array of enriched placements for the article page context, or `[]` on error.
262
279
  */
263
- getArticlePagePlacements(options?: SpsRequestOptions<PlacementType>): Promise<(Poster<PlacementType> & {
280
+ getArticlePagePlacements(options?: SpsContextPlacementsOptions<PlacementType>): Promise<(Poster<PlacementType> & {
264
281
  type: PlacementType;
265
282
  })[]>;
266
283
  private enrichContextPlacements;
@@ -270,23 +287,19 @@ export declare class SPS {
270
287
  *
271
288
  * Returns values compatible with {@link SPS.getPosterByDecision}.
272
289
  *
273
- * @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side.
290
+ * @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side, and/or `excludedPlacementTypes`.
274
291
  * @returns Array of decisions for the frontpage context, or `[]` on error.
275
292
  */
276
- getFrontpageDecisions(options?: {
277
- cookies?: string;
278
- }): Promise<Decision<PlacementType>[]>;
293
+ getFrontpageDecisions(options?: SpsContextDecisionsOptions): Promise<Decision<PlacementType>[]>;
279
294
  /**
280
295
  * Fetches decisions (content keys + segment names) for the article page context.
281
296
  * Works in both browser and server environments.
282
297
  *
283
298
  * Returns values compatible with {@link SPS.getPosterByDecision}.
284
299
  *
285
- * @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side.
300
+ * @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side, and/or `excludedPlacementTypes`.
286
301
  * @returns Array of decisions for the article page context, or `[]` on error.
287
302
  */
288
- getArticlePageDecisions(options?: {
289
- cookies?: string;
290
- }): Promise<Decision<PlacementType>[]>;
303
+ getArticlePageDecisions(options?: SpsContextDecisionsOptions): Promise<Decision<PlacementType>[]>;
291
304
  }
292
305
  export {};
package/dist/cjs/sps.js CHANGED
@@ -200,12 +200,12 @@ class SPS {
200
200
  * Applies the same post-processing as {@link SPS.getPoster}: rewrites login/redirect
201
201
  * placeholder variables and appends tracking search params to links.
202
202
  *
203
- * @param options - Optional request options including tracking context and URL rewrite callbacks.
203
+ * @param options - Optional request options including tracking context, URL rewrite callbacks, and `excludedPlacementTypes`.
204
204
  * @returns Array of enriched placements for the frontpage context, or `[]` on error.
205
205
  */
206
206
  async getFrontpagePlacements(options = {}) {
207
207
  await this.validateClientEnvironment();
208
- const { placements } = await (0, apiClient_1.fetchPlacementsByContext)(this.publication, "frontpage", this.endpoint);
208
+ const { placements } = await (0, apiClient_1.fetchPlacementsByContext)(this.publication, "frontpage", this.endpoint, undefined, options.excludedPlacementTypes);
209
209
  return this.enrichContextPlacements(placements, options);
210
210
  }
211
211
  /**
@@ -215,20 +215,20 @@ class SPS {
215
215
  * Applies the same post-processing as {@link SPS.getPoster}: rewrites login/redirect
216
216
  * placeholder variables and appends tracking search params to links.
217
217
  *
218
- * @param options - Optional request options including tracking context and URL rewrite callbacks.
218
+ * @param options - Optional request options including tracking context, URL rewrite callbacks, and `excludedPlacementTypes`.
219
219
  * @returns Array of enriched placements for the article page context, or `[]` on error.
220
220
  */
221
221
  async getArticlePagePlacements(options = {}) {
222
222
  await this.validateClientEnvironment();
223
- const { placements } = await (0, apiClient_1.fetchPlacementsByContext)(this.publication, "article", this.endpoint);
223
+ const { placements } = await (0, apiClient_1.fetchPlacementsByContext)(this.publication, "article", this.endpoint, undefined, options.excludedPlacementTypes);
224
224
  return this.enrichContextPlacements(placements, options);
225
225
  }
226
226
  async enrichContextPlacements(placements, options) {
227
227
  return Promise.all(placements.map(async (placement) => {
228
- const enriched = await this.enrichPosterResponse(placement, placement.type, options, {
228
+ const enriched = await this.enrichPosterResponse(placement, placement.placementType, options, {
229
229
  segmentNames: placement.segmentNames,
230
230
  });
231
- return { ...enriched, type: placement.type };
231
+ return { ...enriched, type: placement.placementType };
232
232
  }));
233
233
  }
234
234
  /**
@@ -237,13 +237,13 @@ class SPS {
237
237
  *
238
238
  * Returns values compatible with {@link SPS.getPosterByDecision}.
239
239
  *
240
- * @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side.
240
+ * @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side, and/or `excludedPlacementTypes`.
241
241
  * @returns Array of decisions for the frontpage context, or `[]` on error.
242
242
  */
243
243
  async getFrontpageDecisions(options = {}) {
244
- const { placements } = await (0, apiClient_1.fetchDecisionsByContext)(this.publication, "frontpage", this.endpoint, options.cookies);
244
+ const { placements } = await (0, apiClient_1.fetchDecisionsByContext)(this.publication, "frontpage", this.endpoint, options.cookies, options.excludedPlacementTypes);
245
245
  return placements.map((d) => ({
246
- placementType: d.type,
246
+ placementType: d.placementType,
247
247
  contentKey: d.contentKey,
248
248
  segmentNames: d.segmentNames,
249
249
  }));
@@ -254,13 +254,13 @@ class SPS {
254
254
  *
255
255
  * Returns values compatible with {@link SPS.getPosterByDecision}.
256
256
  *
257
- * @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side.
257
+ * @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side, and/or `excludedPlacementTypes`.
258
258
  * @returns Array of decisions for the article page context, or `[]` on error.
259
259
  */
260
260
  async getArticlePageDecisions(options = {}) {
261
- const { placements } = await (0, apiClient_1.fetchDecisionsByContext)(this.publication, "article", this.endpoint, options.cookies);
261
+ const { placements } = await (0, apiClient_1.fetchDecisionsByContext)(this.publication, "article", this.endpoint, options.cookies, options.excludedPlacementTypes);
262
262
  return placements.map((d) => ({
263
- placementType: d.type,
263
+ placementType: d.placementType,
264
264
  contentKey: d.contentKey,
265
265
  segmentNames: d.segmentNames,
266
266
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"sps.js","sourceRoot":"","sources":["../../src/sps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sps.js","sourceRoot":"","sources":["../../src/sps.ts"],"names":[],"mappings":"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"}
@@ -101,13 +101,13 @@ export declare const fetchDecision: <T extends SpsParams = DefaultGetDecisionPar
101
101
  * @typeParam T - The placement type
102
102
  */
103
103
  export type SPSPosterResponseWithPlacementType<T extends PlacementType = PlacementType> = SPSPosterResponse<T> & {
104
- type: T;
104
+ placementType: T;
105
105
  };
106
106
  /**
107
107
  * Raw decision payload returned by the SPS placements-by-context/decision endpoint.
108
108
  */
109
109
  export type ApiDecision = {
110
- type: PlacementType;
110
+ placementType: PlacementType;
111
111
  contentKey: string | null;
112
112
  segmentNames: string[];
113
113
  };
@@ -118,9 +118,10 @@ export type ApiDecision = {
118
118
  * @param context - The page context: `"frontpage"` or `"article"`.
119
119
  * @param endpoint - The SPS API base endpoint URL.
120
120
  * @param cookies - Optional cookie string forwarded as the `Cookie` request header.
121
+ * @param excludedPlacementTypes - Optional placement types to exclude from the result.
121
122
  * @returns An object with a `placements` array, or `{ placements: [] }` on error.
122
123
  */
123
- export declare const fetchPlacementsByContext: (publication: string, context: "frontpage" | "article", endpoint: string, cookies?: string) => Promise<{
124
+ export declare const fetchPlacementsByContext: (publication: string, context: "frontpage" | "article", endpoint: string, cookies?: string, excludedPlacementTypes?: PlacementType[]) => Promise<{
124
125
  placements: SPSPosterResponseWithPlacementType[];
125
126
  }>;
126
127
  /**
@@ -130,8 +131,9 @@ export declare const fetchPlacementsByContext: (publication: string, context: "f
130
131
  * @param context - The page context: `"frontpage"` or `"article"`.
131
132
  * @param endpoint - The SPS API base endpoint URL.
132
133
  * @param cookies - Optional cookie string forwarded as the `Cookie` request header.
134
+ * @param excludedPlacementTypes - Optional placement types to exclude from the result.
133
135
  * @returns An object with a `placements` array, or `{ placements: [] }` on error.
134
136
  */
135
- export declare const fetchDecisionsByContext: (publication: string, context: "frontpage" | "article", endpoint: string, cookies?: string) => Promise<{
137
+ export declare const fetchDecisionsByContext: (publication: string, context: "frontpage" | "article", endpoint: string, cookies?: string, excludedPlacementTypes?: PlacementType[]) => Promise<{
136
138
  placements: ApiDecision[];
137
139
  }>;
@@ -103,11 +103,15 @@ export const fetchDecision = async (url, params, userJwtToken, cookie) => {
103
103
  * @param context - The page context: `"frontpage"` or `"article"`.
104
104
  * @param endpoint - The SPS API base endpoint URL.
105
105
  * @param cookies - Optional cookie string forwarded as the `Cookie` request header.
106
+ * @param excludedPlacementTypes - Optional placement types to exclude from the result.
106
107
  * @returns An object with a `placements` array, or `{ placements: [] }` on error.
107
108
  */
108
- export const fetchPlacementsByContext = async (publication, context, endpoint, cookies) => {
109
+ export const fetchPlacementsByContext = async (publication, context, endpoint, cookies, excludedPlacementTypes) => {
109
110
  try {
110
111
  const url = new URL(`${endpoint}/${publication}/placements/${context}`);
112
+ excludedPlacementTypes?.forEach((placementType) => {
113
+ url.searchParams.append("excludedPlacementTypes[]", placementType);
114
+ });
111
115
  const response = await fetch(url.toString(), {
112
116
  credentials: "include",
113
117
  headers: { ...(cookies && { Cookie: cookies }) },
@@ -130,11 +134,15 @@ export const fetchPlacementsByContext = async (publication, context, endpoint, c
130
134
  * @param context - The page context: `"frontpage"` or `"article"`.
131
135
  * @param endpoint - The SPS API base endpoint URL.
132
136
  * @param cookies - Optional cookie string forwarded as the `Cookie` request header.
137
+ * @param excludedPlacementTypes - Optional placement types to exclude from the result.
133
138
  * @returns An object with a `placements` array, or `{ placements: [] }` on error.
134
139
  */
135
- export const fetchDecisionsByContext = async (publication, context, endpoint, cookies) => {
140
+ export const fetchDecisionsByContext = async (publication, context, endpoint, cookies, excludedPlacementTypes) => {
136
141
  try {
137
142
  const url = new URL(`${endpoint}/${publication}/placements/${context}/decision`);
143
+ excludedPlacementTypes?.forEach((placementType) => {
144
+ url.searchParams.append("excludedPlacementTypes[]", placementType);
145
+ });
138
146
  const response = await fetch(url.toString(), {
139
147
  credentials: "include",
140
148
  headers: { ...(cookies && { Cookie: cookies }) },
@@ -1 +1 @@
1
- {"version":3,"file":"apiClient.js","sourceRoot":"","sources":["../../src/apiClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apiClient.js","sourceRoot":"","sources":["../../src/apiClient.ts"],"names":[],"mappings":"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"}
package/dist/esm/sps.d.ts CHANGED
@@ -87,6 +87,23 @@ export type SpsRequestOptions<T extends PlacementType> = {
87
87
  */
88
88
  timeoutMs?: number;
89
89
  };
90
+ /**
91
+ * Options for {@link SPS.getFrontpagePlacements} and {@link SPS.getArticlePagePlacements}.
92
+ * @typeParam T - The placement type
93
+ */
94
+ export type SpsContextPlacementsOptions<T extends PlacementType> = SpsRequestOptions<T> & {
95
+ /** Placement types to exclude from the priority-ordered result. */
96
+ excludedPlacementTypes?: PlacementType[];
97
+ };
98
+ /**
99
+ * Options for {@link SPS.getFrontpageDecisions} and {@link SPS.getArticlePageDecisions}.
100
+ */
101
+ export type SpsContextDecisionsOptions = {
102
+ /** Pass `req.headers.cookie` when calling server-side. */
103
+ cookies?: string;
104
+ /** Placement types to exclude from the priority-ordered result. */
105
+ excludedPlacementTypes?: PlacementType[];
106
+ };
90
107
  /**
91
108
  * Variant of {@link SpsRequestOptions} that requires a `fallbackPoster` and forces
92
109
  * `showFallbackPosterOnNoContent` to `true`, guaranteeing a non-null poster is returned.
@@ -244,10 +261,10 @@ export declare class SPS {
244
261
  * Applies the same post-processing as {@link SPS.getPoster}: rewrites login/redirect
245
262
  * placeholder variables and appends tracking search params to links.
246
263
  *
247
- * @param options - Optional request options including tracking context and URL rewrite callbacks.
264
+ * @param options - Optional request options including tracking context, URL rewrite callbacks, and `excludedPlacementTypes`.
248
265
  * @returns Array of enriched placements for the frontpage context, or `[]` on error.
249
266
  */
250
- getFrontpagePlacements(options?: SpsRequestOptions<PlacementType>): Promise<(Poster<PlacementType> & {
267
+ getFrontpagePlacements(options?: SpsContextPlacementsOptions<PlacementType>): Promise<(Poster<PlacementType> & {
251
268
  type: PlacementType;
252
269
  })[]>;
253
270
  /**
@@ -257,10 +274,10 @@ export declare class SPS {
257
274
  * Applies the same post-processing as {@link SPS.getPoster}: rewrites login/redirect
258
275
  * placeholder variables and appends tracking search params to links.
259
276
  *
260
- * @param options - Optional request options including tracking context and URL rewrite callbacks.
277
+ * @param options - Optional request options including tracking context, URL rewrite callbacks, and `excludedPlacementTypes`.
261
278
  * @returns Array of enriched placements for the article page context, or `[]` on error.
262
279
  */
263
- getArticlePagePlacements(options?: SpsRequestOptions<PlacementType>): Promise<(Poster<PlacementType> & {
280
+ getArticlePagePlacements(options?: SpsContextPlacementsOptions<PlacementType>): Promise<(Poster<PlacementType> & {
264
281
  type: PlacementType;
265
282
  })[]>;
266
283
  private enrichContextPlacements;
@@ -270,23 +287,19 @@ export declare class SPS {
270
287
  *
271
288
  * Returns values compatible with {@link SPS.getPosterByDecision}.
272
289
  *
273
- * @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side.
290
+ * @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side, and/or `excludedPlacementTypes`.
274
291
  * @returns Array of decisions for the frontpage context, or `[]` on error.
275
292
  */
276
- getFrontpageDecisions(options?: {
277
- cookies?: string;
278
- }): Promise<Decision<PlacementType>[]>;
293
+ getFrontpageDecisions(options?: SpsContextDecisionsOptions): Promise<Decision<PlacementType>[]>;
279
294
  /**
280
295
  * Fetches decisions (content keys + segment names) for the article page context.
281
296
  * Works in both browser and server environments.
282
297
  *
283
298
  * Returns values compatible with {@link SPS.getPosterByDecision}.
284
299
  *
285
- * @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side.
300
+ * @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side, and/or `excludedPlacementTypes`.
286
301
  * @returns Array of decisions for the article page context, or `[]` on error.
287
302
  */
288
- getArticlePageDecisions(options?: {
289
- cookies?: string;
290
- }): Promise<Decision<PlacementType>[]>;
303
+ getArticlePageDecisions(options?: SpsContextDecisionsOptions): Promise<Decision<PlacementType>[]>;
291
304
  }
292
305
  export {};
package/dist/esm/sps.js CHANGED
@@ -198,12 +198,12 @@ export class SPS {
198
198
  * Applies the same post-processing as {@link SPS.getPoster}: rewrites login/redirect
199
199
  * placeholder variables and appends tracking search params to links.
200
200
  *
201
- * @param options - Optional request options including tracking context and URL rewrite callbacks.
201
+ * @param options - Optional request options including tracking context, URL rewrite callbacks, and `excludedPlacementTypes`.
202
202
  * @returns Array of enriched placements for the frontpage context, or `[]` on error.
203
203
  */
204
204
  async getFrontpagePlacements(options = {}) {
205
205
  await this.validateClientEnvironment();
206
- const { placements } = await fetchPlacementsByContext(this.publication, "frontpage", this.endpoint);
206
+ const { placements } = await fetchPlacementsByContext(this.publication, "frontpage", this.endpoint, undefined, options.excludedPlacementTypes);
207
207
  return this.enrichContextPlacements(placements, options);
208
208
  }
209
209
  /**
@@ -213,20 +213,20 @@ export class SPS {
213
213
  * Applies the same post-processing as {@link SPS.getPoster}: rewrites login/redirect
214
214
  * placeholder variables and appends tracking search params to links.
215
215
  *
216
- * @param options - Optional request options including tracking context and URL rewrite callbacks.
216
+ * @param options - Optional request options including tracking context, URL rewrite callbacks, and `excludedPlacementTypes`.
217
217
  * @returns Array of enriched placements for the article page context, or `[]` on error.
218
218
  */
219
219
  async getArticlePagePlacements(options = {}) {
220
220
  await this.validateClientEnvironment();
221
- const { placements } = await fetchPlacementsByContext(this.publication, "article", this.endpoint);
221
+ const { placements } = await fetchPlacementsByContext(this.publication, "article", this.endpoint, undefined, options.excludedPlacementTypes);
222
222
  return this.enrichContextPlacements(placements, options);
223
223
  }
224
224
  async enrichContextPlacements(placements, options) {
225
225
  return Promise.all(placements.map(async (placement) => {
226
- const enriched = await this.enrichPosterResponse(placement, placement.type, options, {
226
+ const enriched = await this.enrichPosterResponse(placement, placement.placementType, options, {
227
227
  segmentNames: placement.segmentNames,
228
228
  });
229
- return { ...enriched, type: placement.type };
229
+ return { ...enriched, type: placement.placementType };
230
230
  }));
231
231
  }
232
232
  /**
@@ -235,13 +235,13 @@ export class SPS {
235
235
  *
236
236
  * Returns values compatible with {@link SPS.getPosterByDecision}.
237
237
  *
238
- * @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side.
238
+ * @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side, and/or `excludedPlacementTypes`.
239
239
  * @returns Array of decisions for the frontpage context, or `[]` on error.
240
240
  */
241
241
  async getFrontpageDecisions(options = {}) {
242
- const { placements } = await fetchDecisionsByContext(this.publication, "frontpage", this.endpoint, options.cookies);
242
+ const { placements } = await fetchDecisionsByContext(this.publication, "frontpage", this.endpoint, options.cookies, options.excludedPlacementTypes);
243
243
  return placements.map((d) => ({
244
- placementType: d.type,
244
+ placementType: d.placementType,
245
245
  contentKey: d.contentKey,
246
246
  segmentNames: d.segmentNames,
247
247
  }));
@@ -252,13 +252,13 @@ export class SPS {
252
252
  *
253
253
  * Returns values compatible with {@link SPS.getPosterByDecision}.
254
254
  *
255
- * @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side.
255
+ * @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side, and/or `excludedPlacementTypes`.
256
256
  * @returns Array of decisions for the article page context, or `[]` on error.
257
257
  */
258
258
  async getArticlePageDecisions(options = {}) {
259
- const { placements } = await fetchDecisionsByContext(this.publication, "article", this.endpoint, options.cookies);
259
+ const { placements } = await fetchDecisionsByContext(this.publication, "article", this.endpoint, options.cookies, options.excludedPlacementTypes);
260
260
  return placements.map((d) => ({
261
- placementType: d.type,
261
+ placementType: d.placementType,
262
262
  contentKey: d.contentKey,
263
263
  segmentNames: d.segmentNames,
264
264
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"sps.js","sourceRoot":"","sources":["../../src/sps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sps.js","sourceRoot":"","sources":["../../src/sps.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- "use strict";var SpsPulseHelpersBundle=(()=>{var M=Object.defineProperty;var te=Object.getOwnPropertyDescriptor;var re=Object.getOwnPropertyNames;var ne=Object.prototype.hasOwnProperty;var se=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of re(t))!ne.call(e,n)&&n!==r&&M(e,n,{get:()=>t[n],enumerable:!(s=te(t,n))||s.enumerable});return e};var oe=e=>se(M({},"__esModule",{value:!0}),e);var Pe={};var y="pulse-tracker-proxy",ae=`${y}:request`,fe=`${y}:ack`,W=`${y}:invoke`,j=`${y}:return`,R=`${y}:return-error`,G=["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","trackLeaveLockedAudioPage","trackLeaveLockedVideoPage","trackLeavePage","trackLeaveSportsPage","trackLeaveVideoPage","trackLeaveWeather","trackViewArticle","trackViewAudioPage","trackViewError","trackViewFrontpage","trackViewHealthPage","trackViewLandingpage","trackViewListing","trackViewLockedArticle","trackViewLockedAudioPage","trackViewLockedVideoPage","trackViewPage","trackViewSportsPage","trackViewTitle","trackViewVideoPage","trackViewWeather","trackLegacyViewArticle","trackLegacyViewLoginPoster","trackLegacyViewSalesPoster","trackLegacyViewListing","trackLegacyViewFrontpage","trackLegacyViewPage","trackLegacyViewUIElement","trackLegacyClickUIElement"];function v(e){return e!==null&&typeof e=="object"&&"type"in e&&typeof e.type=="string"&&e.type.startsWith(y)}function L(e,{target:t,timeout:r,debug:s=()=>{}}){return new Promise((n,c)=>{let a=new MessageChannel,p=r?setTimeout(()=>{a.port1.close(),c(new Error(`Message of type ${e.type} timed out`))},r):void 0,i=o=>{if(s("[Pulse Tracker Proxy] Received the response on the MessageChannel",o),!v(o.data)){s("[Pulse Tracker Proxy] Response was not a valid Proxy Message",o.data);return}o.data.type===R&&(s("[Pulse Tracker Proxy] Received an return error response",o.data.error),clearTimeout(p),a.port1.close(),c(new Error(o.data.error))),s("[Pulse Tracker Proxy] Received a valid response",o.data),clearTimeout(p),a.port1.close(),n(o.data)};a.port1.onmessage=i,s("[Pulse Tracker Proxy] Sending message to target window",e),t.postMessage(e,"*",[a.port2])})}var q="2.0.0-rc.9";function _(e){let t="tracker"in e&&typeof e.tracker=="object"?e.tracker:{};return{...e,tracker:{...t,proxyVersion:q}}}function D(e,t,r){let s="provider"in e&&typeof e.provider=="object"?e.provider:{};return{...e,provider:{...s,component:t,componentVersion:r}}}var O=class{constructor(t,r,s,n){this.target=t,this.component=r,this.componentVersion=s,this.debug=n}track(...t){this.debug("[Pulse Tracker Proxy] Calling `track`",t);let[r,s,...n]=t,c=_(s),a=D(c,this.component,this.componentVersion),p=[r,a,...n];return this.invoke({method:"track",args:p})}async invoke(t){this.debug("[Pulse Tracker Proxy] Invoking remote function",t);let r=await L({type:W,payload:t},{target:this.target});if(!v(r))throw this.debug("[Pulse Tracker Proxy] Invalid response from proxy",r),new Error("Invalid response from proxy");if(r.type===R)throw this.debug("[Pulse Tracker Proxy] Error response from proxy",r.error),new Error(r.error);if(r.type===j)return this.debug("[Pulse Tracker Proxy] Successful response from proxy",r.payload),r.payload;throw this.debug("[Pulse Tracker Proxy] Unhandled response from proxy",r),new Error("Unexpected response from proxy")}};var ie=Object.fromEntries(G.map(e=>[e,function(...t){this.debug("[Pulse Tracker Proxy] Calling `track`",t);let[r,...s]=t,n=_(r),a=[D(n,this.component,this.componentVersion),...s];return this.invoke({method:e,args:a})}]));function ce(){return class extends O{constructor(e,t,r,s){super(e,t,r,s),s("[Pulse TPaaS Proxy] Initialized"),Object.assign(this,ie)}}}var pe=ce();var le=e=>e==="payment.schibsted.com"||e.startsWith("bestilling.")||e==="pay.pre.schibsted.digital"||e.startsWith("test-bestilling."),me=e=>e==="login.schibsted.com"||e==="identity-pre.schibsted.com",B=e=>{var t;try{let s=new URL((t=e.getAttribute("href"))!=null?t:"").hostname;if(me(s))return"Login";if(le(s))return"Purchase"}catch{return}};var H=e=>{var t;try{let r=new URL((t=e.getAttribute("href"))!=null?t:""),n=new URLSearchParams(r.search).get("code");return n?n.split(","):[]}catch{return[]}};var S=e=>{var r;let t=(r=e==null?void 0:e.toLowerCase())!=null?r:"";if(t.includes("meter"))return"Meter";if(t.includes("paid")||t.includes("subscription"))return"Paid";if(t.includes("login"))return"Login"};function K(e,t,r,s){let{campaign:n,articleType:c,abTestGroup:a,placementType:p,experiment:i,legacy:o,contentName:l,pulseEvents:m}=t,P=400,T="",h=0;function f(g){var b,k,x,I,V;try{let w=g.target,d=(b=w==null?void 0:w.closest)==null?void 0:b.call(w,"a");if(!d)return;let E=d.textContent||d.getAttribute("href")||`${p} button`,F=`a|${E}`,N=Date.now();if(F===T&&N-h<P)return;T=F,h=N;let C=B(d),ee=C==="Purchase"?H(d):[];m.tpaas&&e.trackEngagementOffer({placement:{containerName:"page",offerPlacement:p},object:{objectId:s,objectSdrn:r,campaign:n,name:l,offerCodes:ee,offerType:S(c)},...i?{experiments:[{experimentSdrn:`${r}:experiment:${u(i)}`,name:i,platform:"SPS",variant:a||""}]}:{},engagement:{action:"Click",elementName:E},page:{},provider:{stage:"Test"},target:{info:{url:(k=d.getAttribute("href"))!=null?k:""}}}),m.legacy&&e.trackLegacyClickUIElement({object:{id:u(E),elementType:"Button",name:E,containerName:"Page",custom:{...o==null?void 0:o.offerData}},...o?{origin:o.pulseOrigin}:{},target:{url:(V=(I=(x=d.getAttribute("href"))==null?void 0:x.split("?"))==null?void 0:I[0])!=null?V:""},...C?{intent:C}:{},...i?{experiments:[{id:`experiment:${u(i)}`,name:i,platform:"SPS",variant:a}]}:{}})}catch{}}return document.addEventListener("click",f,!0),()=>document.removeEventListener("click",f,!0)}function Y(e,t,r,s,n){let{campaign:c,articleType:a,abTestGroup:p,placementType:i,experiment:o,legacy:l,contentName:m,pulseEvents:P}=t;P.tpaas&&e.trackImpressionOffer({placement:{foldPosition:n,containerName:"page",offerPlacement:i},object:{campaign:c,name:m,objectId:s,objectSdrn:r,offerCodes:[],offerType:S(a)},...o?{experiments:[{experimentSdrn:`${r}:experiment:${u(o)}`,name:o,platform:"SPS",variant:p||""}]}:{},page:{},provider:{stage:"Test"},target:{info:{}}}),P.legacy&&e.trackLegacyViewUIElement({object:{id:u(m),elementType:i,name:m,placement:{},custom:{...l==null?void 0:l.offerData,...l==null?void 0:l.custom}},...o?{experiments:[{id:`${r}:experiment:${u(o)}`,name:o,platform:"SPS",variant:p}]}:{},...l?{origin:l.pulseOrigin}:{}})}async function J(e,t,r){let{placementType:s,legacy:n,pulseEvents:c}=t,a=window.location.pathname,i=`landingpage-${s==="campaignpage"?"CAMPAIGN":"STATIC"}-${$(a)}`.toLowerCase();c.legacy&&await e.trackLegacyViewPage({object:{pageId:i,name:document.title,"spt:custom":{...n==null?void 0:n.offerData,...n==null?void 0:n.custom}},origin:n==null?void 0:n.pulseOrigin}),c.tpaas&&await e.trackViewLandingpage({object:{objectId:i,objectSdrn:r,title:document.title},page:{},provider:{stage:"Test"}},{leaveTracking:{objectElement:"body",pageElement:"body",objectResizable:!1}})}var U={"sps-pulse-helpers":"2.2.0","pulse-tracker-proxy":"1.2.0"};var A=e=>e==="campaignpage"||e==="staticpage";var Q=!1,z=!1,X="script[data-sps-pulse-config='true']",u=e=>e.toLowerCase().replace(/ /g,"-").replace(/[^-a-z:0-9]/g,""),$=e=>{var t,r;return(e==null?void 0:e.replace((r=(t=window.__landingpages)==null?void 0:t.rootUrl)!=null?r:"","").replace(/^\/|\/$/g,""))||""};async function Z(){if(console.log("[SPS-Pulse-Helpers] boot initiated"),Q)return;Q=!0;let e=null;try{let t=document.querySelector(X);if(!t){console.warn(`[SPS-Pulse-Helpers] Config script tag not found with selector ${X}`);return}e=JSON.parse(t.textContent)}catch(t){console.warn("[SPS-Pulse-Helpers] Failed to parse config from script tag",t);return}try{let t=window.getPulseTrackerProxy;if(!t||typeof t!="function"){console.warn("[SPS-Pulse-Helpers] PulseTrackerProxy not available");return}let{placementType:r,publication:s,contentName:n}=e,c=A(r)?$(window.location.pathname):u(n),a=`sdrn:${s}:element:offer:${r}:${c}`,p=crypto==null?void 0:crypto.randomUUID(),i=await t({component:"SPS-SDK",componentVersion:U["sps-pulse-helpers"]});K(i,e,a,p);let o=f=>{z||(z=!0,Y(i,e,a,p,f))};if(A(r)){await J(i,e,a),o("Above");return}let l=window.frameElement,m=window.parent.IntersectionObserver;if(!l||!m){console.warn("[SPS-Pulse-Helpers] No iframe or IntersectionObserver available. Pulse View event will not be fired.");return}let P="Unknown",T=!0,h=new m(f=>{var x;let g=f[0],b=(x=g==null?void 0:g.intersectionRatio)!=null?x:0,k=(g==null?void 0:g.isIntersecting)&&b>=1/3;T&&(T=!1,P=k?"Above":"Below"),k&&(h.disconnect(),o(P))},{root:null,threshold:[0,1/3]});h.observe(l)}catch(t){console.warn("[SPS-Pulse-Helpers] boot failed",t)}}Z();return oe(Pe);})();
1
+ "use strict";var SpsPulseHelpersBundle=(()=>{var M=Object.defineProperty;var te=Object.getOwnPropertyDescriptor;var re=Object.getOwnPropertyNames;var ne=Object.prototype.hasOwnProperty;var se=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of re(t))!ne.call(e,n)&&n!==r&&M(e,n,{get:()=>t[n],enumerable:!(s=te(t,n))||s.enumerable});return e};var oe=e=>se(M({},"__esModule",{value:!0}),e);var Pe={};var y="pulse-tracker-proxy",ae=`${y}:request`,fe=`${y}:ack`,W=`${y}:invoke`,j=`${y}:return`,R=`${y}:return-error`,G=["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","trackLeaveLockedAudioPage","trackLeaveLockedVideoPage","trackLeavePage","trackLeaveSportsPage","trackLeaveVideoPage","trackLeaveWeather","trackViewArticle","trackViewAudioPage","trackViewError","trackViewFrontpage","trackViewHealthPage","trackViewLandingpage","trackViewListing","trackViewLockedArticle","trackViewLockedAudioPage","trackViewLockedVideoPage","trackViewPage","trackViewSportsPage","trackViewTitle","trackViewVideoPage","trackViewWeather","trackLegacyViewArticle","trackLegacyViewLoginPoster","trackLegacyViewSalesPoster","trackLegacyViewListing","trackLegacyViewFrontpage","trackLegacyViewPage","trackLegacyViewUIElement","trackLegacyClickUIElement"];function v(e){return e!==null&&typeof e=="object"&&"type"in e&&typeof e.type=="string"&&e.type.startsWith(y)}function L(e,{target:t,timeout:r,debug:s=()=>{}}){return new Promise((n,c)=>{let a=new MessageChannel,p=r?setTimeout(()=>{a.port1.close(),c(new Error(`Message of type ${e.type} timed out`))},r):void 0,i=o=>{if(s("[Pulse Tracker Proxy] Received the response on the MessageChannel",o),!v(o.data)){s("[Pulse Tracker Proxy] Response was not a valid Proxy Message",o.data);return}o.data.type===R&&(s("[Pulse Tracker Proxy] Received an return error response",o.data.error),clearTimeout(p),a.port1.close(),c(new Error(o.data.error))),s("[Pulse Tracker Proxy] Received a valid response",o.data),clearTimeout(p),a.port1.close(),n(o.data)};a.port1.onmessage=i,s("[Pulse Tracker Proxy] Sending message to target window",e),t.postMessage(e,"*",[a.port2])})}var q="2.0.0-rc.9";function D(e){let t="tracker"in e&&typeof e.tracker=="object"?e.tracker:{};return{...e,tracker:{...t,proxyVersion:q}}}function _(e,t,r){let s="provider"in e&&typeof e.provider=="object"?e.provider:{};return{...e,provider:{...s,component:t,componentVersion:r}}}var O=class{constructor(t,r,s,n){this.target=t,this.component=r,this.componentVersion=s,this.debug=n}track(...t){this.debug("[Pulse Tracker Proxy] Calling `track`",t);let[r,s,...n]=t,c=D(s),a=_(c,this.component,this.componentVersion),p=[r,a,...n];return this.invoke({method:"track",args:p})}async invoke(t){this.debug("[Pulse Tracker Proxy] Invoking remote function",t);let r=await L({type:W,payload:t},{target:this.target});if(!v(r))throw this.debug("[Pulse Tracker Proxy] Invalid response from proxy",r),new Error("Invalid response from proxy");if(r.type===R)throw this.debug("[Pulse Tracker Proxy] Error response from proxy",r.error),new Error(r.error);if(r.type===j)return this.debug("[Pulse Tracker Proxy] Successful response from proxy",r.payload),r.payload;throw this.debug("[Pulse Tracker Proxy] Unhandled response from proxy",r),new Error("Unexpected response from proxy")}};var ie=Object.fromEntries(G.map(e=>[e,function(...t){this.debug("[Pulse Tracker Proxy] Calling `track`",t);let[r,...s]=t,n=D(r),a=[_(n,this.component,this.componentVersion),...s];return this.invoke({method:e,args:a})}]));function ce(){return class extends O{constructor(e,t,r,s){super(e,t,r,s),s("[Pulse TPaaS Proxy] Initialized"),Object.assign(this,ie)}}}var pe=ce();var le=e=>e==="payment.schibsted.com"||e.startsWith("bestilling.")||e==="pay.pre.schibsted.digital"||e.startsWith("test-bestilling."),me=e=>e==="login.schibsted.com"||e==="identity-pre.schibsted.com",B=e=>{var t;try{let s=new URL((t=e.getAttribute("href"))!=null?t:"").hostname;if(me(s))return"Login";if(le(s))return"Purchase"}catch{return}};var H=e=>{var t;try{let r=new URL((t=e.getAttribute("href"))!=null?t:""),n=new URLSearchParams(r.search).get("code");return n?n.split(","):[]}catch{return[]}};var S=e=>{var r;let t=(r=e==null?void 0:e.toLowerCase())!=null?r:"";if(t.includes("meter"))return"Meter";if(t.includes("paid")||t.includes("subscription"))return"Paid";if(t.includes("login"))return"Login"};function K(e,t,r,s){let{campaign:n,articleType:c,abTestGroup:a,placementType:p,experiment:i,legacy:o,contentName:l,pulseEvents:m}=t,P=400,T="",h=0;function f(g){var b,k,x,I,V;try{let w=g.target,d=(b=w==null?void 0:w.closest)==null?void 0:b.call(w,"a");if(!d)return;let E=d.textContent||d.getAttribute("href")||`${p} button`,F=`a|${E}`,N=Date.now();if(F===T&&N-h<P)return;T=F,h=N;let C=B(d),ee=C==="Purchase"?H(d):[];m.tpaas&&e.trackEngagementOffer({placement:{containerName:"page",offerPlacement:p},object:{objectId:s,objectSdrn:r,campaign:n,name:l,offerCodes:ee,offerType:S(c)},...i?{experiments:[{experimentSdrn:`${r}:experiment:${u(i)}`,name:i,platform:"SPS",variant:a||""}]}:{},engagement:{action:"Click",elementName:E},page:{},provider:{stage:"Test"},target:{info:{url:(k=d.getAttribute("href"))!=null?k:""}}}),m.legacy&&e.trackLegacyClickUIElement({object:{id:u(E),elementType:"Button",name:E,containerName:"Page",custom:{...o==null?void 0:o.offerData}},...o?{origin:o.pulseOrigin}:{},target:{url:(V=(I=(x=d.getAttribute("href"))==null?void 0:x.split("?"))==null?void 0:I[0])!=null?V:""},...C?{intent:C}:{},...i?{experiments:[{id:`experiment:${u(i)}`,name:i,platform:"SPS",variant:a}]}:{}})}catch{}}return document.addEventListener("click",f,!0),()=>document.removeEventListener("click",f,!0)}function Y(e,t,r,s,n){let{campaign:c,articleType:a,abTestGroup:p,placementType:i,experiment:o,legacy:l,contentName:m,pulseEvents:P}=t;P.tpaas&&e.trackImpressionOffer({placement:{foldPosition:n,containerName:"page",offerPlacement:i},object:{campaign:c,name:m,objectId:s,objectSdrn:r,offerCodes:[],offerType:S(a)},...o?{experiments:[{experimentSdrn:`${r}:experiment:${u(o)}`,name:o,platform:"SPS",variant:p||""}]}:{},page:{},provider:{stage:"Test"},target:{info:{}}}),P.legacy&&e.trackLegacyViewUIElement({object:{id:u(m),elementType:i,name:m,placement:{},custom:{...l==null?void 0:l.offerData,...l==null?void 0:l.custom}},...o?{experiments:[{id:`${r}:experiment:${u(o)}`,name:o,platform:"SPS",variant:p}]}:{},...l?{origin:l.pulseOrigin}:{}})}async function J(e,t,r){let{placementType:s,legacy:n,pulseEvents:c}=t,a=window.location.pathname,i=`landingpage-${s==="campaignpage"?"CAMPAIGN":"STATIC"}-${$(a)}`.toLowerCase();c.legacy&&await e.trackLegacyViewPage({object:{pageId:i,name:document.title,"spt:custom":{...n==null?void 0:n.offerData,...n==null?void 0:n.custom}},origin:n==null?void 0:n.pulseOrigin}),c.tpaas&&await e.trackViewLandingpage({object:{objectId:i,objectSdrn:r,title:document.title},page:{},provider:{stage:"Test"}},{leaveTracking:{objectElement:"body",pageElement:"body",objectResizable:!1}})}var U={"sps-pulse-helpers":"2.2.0","pulse-tracker-proxy":"1.2.0"};var A=e=>e==="campaignpage"||e==="staticpage";var Q=!1,z=!1,X="script[data-sps-pulse-config='true']",u=e=>e.toLowerCase().replace(/ /g,"-").replace(/[^-a-z:0-9]/g,""),$=e=>{var t,r;return(e==null?void 0:e.replace((r=(t=window.__landingpages)==null?void 0:t.rootUrl)!=null?r:"","").replace(/^\/|\/$/g,""))||""};async function Z(){if(console.log("[SPS-Pulse-Helpers] boot initiated"),Q)return;Q=!0;let e=null;try{let t=document.querySelector(X);if(!t){console.warn(`[SPS-Pulse-Helpers] Config script tag not found with selector ${X}`);return}e=JSON.parse(t.textContent)}catch(t){console.warn("[SPS-Pulse-Helpers] Failed to parse config from script tag",t);return}try{let t=window.getPulseTrackerProxy;if(!t||typeof t!="function"){console.warn("[SPS-Pulse-Helpers] PulseTrackerProxy not available");return}let{placementType:r,publication:s,contentName:n}=e,c=A(r)?$(window.location.pathname):u(n),a=`sdrn:${s}:element:offer:${r}:${c}`,p=crypto==null?void 0:crypto.randomUUID(),i=await t({component:"SPS-SDK",componentVersion:U["sps-pulse-helpers"]});K(i,e,a,p);let o=f=>{z||(z=!0,Y(i,e,a,p,f))};if(A(r)){await J(i,e,a),o("Above");return}let l=window.frameElement,m=window.parent.IntersectionObserver;if(!l||!m){console.warn("[SPS-Pulse-Helpers] No iframe or IntersectionObserver available. Pulse View event will not be fired.");return}let P="Unknown",T=!0,h=new m(f=>{var x;let g=f[0],b=(x=g==null?void 0:g.intersectionRatio)!=null?x:0,k=(g==null?void 0:g.isIntersecting)&&b>=1/3;T&&(T=!1,P=k?"Above":"Below"),k&&(h.disconnect(),o(P))},{root:null,threshold:[0,1/3]});h.observe(l)}catch(t){console.warn("[SPS-Pulse-Helpers] boot failed",t)}}Z();return oe(Pe);})();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@schibsted/sps-sdk",
3
- "version": "4.6.0-CBT-19331.3",
3
+ "version": "4.6.0-CBT-19331.5",
4
4
  "description": "SPS SDK for node.js",
5
5
  "engines": {
6
6
  "node": ">=18.0.0"