@schibsted/sps-sdk 4.6.0-CBT-19331.2 → 4.6.0-CBT-18204.2
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.
- package/dist/cjs/apiClient.d.ts +0 -46
- package/dist/cjs/apiClient.js +1 -57
- package/dist/cjs/apiClient.js.map +1 -1
- package/dist/cjs/sps.d.ts +1 -45
- package/dist/cjs/sps.js +0 -56
- package/dist/cjs/sps.js.map +1 -1
- package/dist/cjs/utils/placementCookies.js +1 -1
- package/dist/cjs/utils/placementCookies.js.map +1 -1
- package/dist/esm/apiClient.d.ts +0 -46
- package/dist/esm/apiClient.js +0 -54
- package/dist/esm/apiClient.js.map +1 -1
- package/dist/esm/sps.d.ts +1 -45
- package/dist/esm/sps.js +1 -57
- package/dist/esm/sps.js.map +1 -1
- package/dist/esm/utils/placementCookies.js +1 -1
- package/dist/esm/utils/placementCookies.js.map +1 -1
- package/dist/public-scripts/sps-pulse-helpers.v2.2.0.min.js +1 -1
- package/package.json +1 -1
package/dist/cjs/apiClient.d.ts
CHANGED
|
@@ -96,49 +96,3 @@ export declare const fetchPoster: <T extends PlacementType, U extends SpsParams>
|
|
|
96
96
|
* @returns The resolved decision parameters including the `contentKey`.
|
|
97
97
|
*/
|
|
98
98
|
export declare const fetchDecision: <T extends SpsParams = DefaultGetDecisionParams>(url: string, params: T, userJwtToken?: string, cookie?: string) => Promise<GetPosterByDecisionParams>;
|
|
99
|
-
/**
|
|
100
|
-
* Raw placement payload returned by the SPS placements-by-context endpoint.
|
|
101
|
-
*/
|
|
102
|
-
export type ApiPlacement = {
|
|
103
|
-
type: PlacementType;
|
|
104
|
-
content: string | null;
|
|
105
|
-
segmentNames: string[];
|
|
106
|
-
campaign: string | null;
|
|
107
|
-
contentName: string | null;
|
|
108
|
-
abTestGroup: string | null;
|
|
109
|
-
experiment: string | null;
|
|
110
|
-
hideDuration?: number;
|
|
111
|
-
viewLimit?: number;
|
|
112
|
-
};
|
|
113
|
-
/**
|
|
114
|
-
* Raw decision payload returned by the SPS placements-by-context/decision endpoint.
|
|
115
|
-
*/
|
|
116
|
-
export type ApiDecision = {
|
|
117
|
-
type: PlacementType;
|
|
118
|
-
contentKey: string | null;
|
|
119
|
-
segmentNames: string[];
|
|
120
|
-
};
|
|
121
|
-
/**
|
|
122
|
-
* Fetches priority-ordered placements (full content) for a given page context from the SPS API.
|
|
123
|
-
*
|
|
124
|
-
* @param publication - The SPS publication identifier.
|
|
125
|
-
* @param context - The page context: `"frontpage"` or `"article"`.
|
|
126
|
-
* @param endpoint - The SPS API base endpoint URL.
|
|
127
|
-
* @param cookies - Optional cookie string forwarded as the `Cookie` request header.
|
|
128
|
-
* @returns An object with a `placements` array, or `{ placements: [] }` on error.
|
|
129
|
-
*/
|
|
130
|
-
export declare const fetchPlacementsByContext: (publication: string, context: "frontpage" | "article", endpoint: string, cookies?: string) => Promise<{
|
|
131
|
-
placements: ApiPlacement[];
|
|
132
|
-
}>;
|
|
133
|
-
/**
|
|
134
|
-
* Fetches priority-ordered decisions (content keys only) for a given page context from the SPS API.
|
|
135
|
-
*
|
|
136
|
-
* @param publication - The SPS publication identifier.
|
|
137
|
-
* @param context - The page context: `"frontpage"` or `"article"`.
|
|
138
|
-
* @param endpoint - The SPS API base endpoint URL.
|
|
139
|
-
* @param cookies - Optional cookie string forwarded as the `Cookie` request header.
|
|
140
|
-
* @returns An object with a `placements` array, or `{ placements: [] }` on error.
|
|
141
|
-
*/
|
|
142
|
-
export declare const fetchDecisionsByContext: (publication: string, context: "frontpage" | "article", endpoint: string, cookies?: string) => Promise<{
|
|
143
|
-
placements: ApiDecision[];
|
|
144
|
-
}>;
|
package/dist/cjs/apiClient.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.fetchDecision = exports.fetchPoster = void 0;
|
|
4
4
|
const queryBuilder_1 = require("./sps/queryBuilder.js");
|
|
5
5
|
const url_1 = require("./utils/url.js");
|
|
6
6
|
/**
|
|
@@ -101,60 +101,4 @@ const fetchDecision = async (url, params, userJwtToken, cookie) => {
|
|
|
101
101
|
return decisionResponse.json();
|
|
102
102
|
};
|
|
103
103
|
exports.fetchDecision = fetchDecision;
|
|
104
|
-
/**
|
|
105
|
-
* Fetches priority-ordered placements (full content) for a given page context from the SPS API.
|
|
106
|
-
*
|
|
107
|
-
* @param publication - The SPS publication identifier.
|
|
108
|
-
* @param context - The page context: `"frontpage"` or `"article"`.
|
|
109
|
-
* @param endpoint - The SPS API base endpoint URL.
|
|
110
|
-
* @param cookies - Optional cookie string forwarded as the `Cookie` request header.
|
|
111
|
-
* @returns An object with a `placements` array, or `{ placements: [] }` on error.
|
|
112
|
-
*/
|
|
113
|
-
const fetchPlacementsByContext = async (publication, context, endpoint, cookies) => {
|
|
114
|
-
try {
|
|
115
|
-
const url = new URL(`${endpoint}/${publication}/placements/${context}`);
|
|
116
|
-
const response = await fetch(url.toString(), {
|
|
117
|
-
credentials: "include",
|
|
118
|
-
headers: { ...(cookies && { Cookie: cookies }) },
|
|
119
|
-
});
|
|
120
|
-
if (!response.ok) {
|
|
121
|
-
console.error(`[SPS sdk] Error fetching placements: ${response.status} ${response.statusText}`);
|
|
122
|
-
return { placements: [] };
|
|
123
|
-
}
|
|
124
|
-
return response.json();
|
|
125
|
-
}
|
|
126
|
-
catch (error) {
|
|
127
|
-
console.error("[SPS sdk] Error fetching placements:", error);
|
|
128
|
-
return { placements: [] };
|
|
129
|
-
}
|
|
130
|
-
};
|
|
131
|
-
exports.fetchPlacementsByContext = fetchPlacementsByContext;
|
|
132
|
-
/**
|
|
133
|
-
* Fetches priority-ordered decisions (content keys only) for a given page context from the SPS API.
|
|
134
|
-
*
|
|
135
|
-
* @param publication - The SPS publication identifier.
|
|
136
|
-
* @param context - The page context: `"frontpage"` or `"article"`.
|
|
137
|
-
* @param endpoint - The SPS API base endpoint URL.
|
|
138
|
-
* @param cookies - Optional cookie string forwarded as the `Cookie` request header.
|
|
139
|
-
* @returns An object with a `placements` array, or `{ placements: [] }` on error.
|
|
140
|
-
*/
|
|
141
|
-
const fetchDecisionsByContext = async (publication, context, endpoint, cookies) => {
|
|
142
|
-
try {
|
|
143
|
-
const url = new URL(`${endpoint}/${publication}/placements/${context}/decision`);
|
|
144
|
-
const response = await fetch(url.toString(), {
|
|
145
|
-
credentials: "include",
|
|
146
|
-
headers: { ...(cookies && { Cookie: cookies }) },
|
|
147
|
-
});
|
|
148
|
-
if (!response.ok) {
|
|
149
|
-
console.error(`[SPS sdk] Error fetching decisions: ${response.status} ${response.statusText}`);
|
|
150
|
-
return { placements: [] };
|
|
151
|
-
}
|
|
152
|
-
return response.json();
|
|
153
|
-
}
|
|
154
|
-
catch (error) {
|
|
155
|
-
console.error("[SPS sdk] Error fetching decisions:", error);
|
|
156
|
-
return { placements: [] };
|
|
157
|
-
}
|
|
158
|
-
};
|
|
159
|
-
exports.fetchDecisionsByContext = fetchDecisionsByContext;
|
|
160
104
|
//# sourceMappingURL=apiClient.js.map
|
|
@@ -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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type Environment, type SpsParams, type GetPosterByDecisionParams, type PulseOrigin, type PulseObject, type PlacementTypeWithOptionalProps } from "./index.js";
|
|
2
2
|
import { type ContentType, type TrackingData, type TrackingParamsProps } from "./tracking/create-tracking-params.js";
|
|
3
3
|
import { SpsPublication } from "./sps/publication.js";
|
|
4
|
-
import { type
|
|
4
|
+
import { type SPSPosterResponse } from "./apiClient.js";
|
|
5
5
|
import type { PlacementType, PlacementTypeWithOptionalFallback, PlacementTypeWithRequiredFallback } from "./sps/placement.js";
|
|
6
6
|
/**
|
|
7
7
|
* The full poster response enriched with segment names, tracking data, and Pulse event objects.
|
|
@@ -236,49 +236,5 @@ export declare class SPS {
|
|
|
236
236
|
* @returns The enriched poster response, or `null` when no content is available.
|
|
237
237
|
*/
|
|
238
238
|
getPosterByDecision: GetPosterByDecision;
|
|
239
|
-
/**
|
|
240
|
-
* Fetches priority-ordered placements (full content) for the frontpage context.
|
|
241
|
-
* Works in both browser and server environments.
|
|
242
|
-
*
|
|
243
|
-
* @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side.
|
|
244
|
-
* @returns Array of placements for the frontpage context, or `[]` on error.
|
|
245
|
-
*/
|
|
246
|
-
getFrontpagePlacements(options?: {
|
|
247
|
-
cookies?: string;
|
|
248
|
-
}): Promise<ApiPlacement[]>;
|
|
249
|
-
/**
|
|
250
|
-
* Fetches priority-ordered placements (full content) for the article page context.
|
|
251
|
-
* Works in both browser and server environments.
|
|
252
|
-
*
|
|
253
|
-
* @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side.
|
|
254
|
-
* @returns Array of placements for the article page context, or `[]` on error.
|
|
255
|
-
*/
|
|
256
|
-
getArticlePagePlacements(options?: {
|
|
257
|
-
cookies?: string;
|
|
258
|
-
}): Promise<ApiPlacement[]>;
|
|
259
|
-
/**
|
|
260
|
-
* Fetches priority-ordered decisions (content keys + segment names) for the frontpage context.
|
|
261
|
-
* Works in both browser and server environments.
|
|
262
|
-
*
|
|
263
|
-
* Returns values compatible with {@link SPS.getPosterByDecision}.
|
|
264
|
-
*
|
|
265
|
-
* @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side.
|
|
266
|
-
* @returns Array of decisions for the frontpage context, or `[]` on error.
|
|
267
|
-
*/
|
|
268
|
-
getFrontpageDecisions(options?: {
|
|
269
|
-
cookies?: string;
|
|
270
|
-
}): Promise<Decision<PlacementType>[]>;
|
|
271
|
-
/**
|
|
272
|
-
* Fetches decisions (content keys + segment names) for the article page context.
|
|
273
|
-
* Works in both browser and server environments.
|
|
274
|
-
*
|
|
275
|
-
* Returns values compatible with {@link SPS.getPosterByDecision}.
|
|
276
|
-
*
|
|
277
|
-
* @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side.
|
|
278
|
-
* @returns Array of decisions for the article page context, or `[]` on error.
|
|
279
|
-
*/
|
|
280
|
-
getArticlePageDecisions(options?: {
|
|
281
|
-
cookies?: string;
|
|
282
|
-
}): Promise<Decision<PlacementType>[]>;
|
|
283
239
|
}
|
|
284
240
|
export {};
|
package/dist/cjs/sps.js
CHANGED
|
@@ -225,62 +225,6 @@ class SPS {
|
|
|
225
225
|
pulseObject,
|
|
226
226
|
};
|
|
227
227
|
};
|
|
228
|
-
/**
|
|
229
|
-
* Fetches priority-ordered placements (full content) for the frontpage context.
|
|
230
|
-
* Works in both browser and server environments.
|
|
231
|
-
*
|
|
232
|
-
* @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side.
|
|
233
|
-
* @returns Array of placements for the frontpage context, or `[]` on error.
|
|
234
|
-
*/
|
|
235
|
-
async getFrontpagePlacements(options = {}) {
|
|
236
|
-
const { placements } = await (0, apiClient_1.fetchPlacementsByContext)(this.publication, "frontpage", this.endpoint, options.cookies);
|
|
237
|
-
return placements;
|
|
238
|
-
}
|
|
239
|
-
/**
|
|
240
|
-
* Fetches priority-ordered placements (full content) for the article page context.
|
|
241
|
-
* Works in both browser and server environments.
|
|
242
|
-
*
|
|
243
|
-
* @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side.
|
|
244
|
-
* @returns Array of placements for the article page context, or `[]` on error.
|
|
245
|
-
*/
|
|
246
|
-
async getArticlePagePlacements(options = {}) {
|
|
247
|
-
const { placements } = await (0, apiClient_1.fetchPlacementsByContext)(this.publication, "article", this.endpoint, options.cookies);
|
|
248
|
-
return placements;
|
|
249
|
-
}
|
|
250
|
-
/**
|
|
251
|
-
* Fetches priority-ordered decisions (content keys + segment names) for the frontpage context.
|
|
252
|
-
* Works in both browser and server environments.
|
|
253
|
-
*
|
|
254
|
-
* Returns values compatible with {@link SPS.getPosterByDecision}.
|
|
255
|
-
*
|
|
256
|
-
* @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side.
|
|
257
|
-
* @returns Array of decisions for the frontpage context, or `[]` on error.
|
|
258
|
-
*/
|
|
259
|
-
async getFrontpageDecisions(options = {}) {
|
|
260
|
-
const { placements } = await (0, apiClient_1.fetchDecisionsByContext)(this.publication, "frontpage", this.endpoint, options.cookies);
|
|
261
|
-
return placements.map((d) => ({
|
|
262
|
-
placementType: d.type,
|
|
263
|
-
contentKey: d.contentKey,
|
|
264
|
-
segmentNames: d.segmentNames,
|
|
265
|
-
}));
|
|
266
|
-
}
|
|
267
|
-
/**
|
|
268
|
-
* Fetches decisions (content keys + segment names) for the article page context.
|
|
269
|
-
* Works in both browser and server environments.
|
|
270
|
-
*
|
|
271
|
-
* Returns values compatible with {@link SPS.getPosterByDecision}.
|
|
272
|
-
*
|
|
273
|
-
* @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side.
|
|
274
|
-
* @returns Array of decisions for the article page context, or `[]` on error.
|
|
275
|
-
*/
|
|
276
|
-
async getArticlePageDecisions(options = {}) {
|
|
277
|
-
const { placements } = await (0, apiClient_1.fetchDecisionsByContext)(this.publication, "article", this.endpoint, options.cookies);
|
|
278
|
-
return placements.map((d) => ({
|
|
279
|
-
placementType: d.type,
|
|
280
|
-
contentKey: d.contentKey,
|
|
281
|
-
segmentNames: d.segmentNames,
|
|
282
|
-
}));
|
|
283
|
-
}
|
|
284
228
|
}
|
|
285
229
|
exports.SPS = SPS;
|
|
286
230
|
//# sourceMappingURL=sps.js.map
|
package/dist/cjs/sps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sps.js","sourceRoot":"","sources":["../../src/sps.ts"],"names":[],"mappings":";;;AAAA,wBASW;AACX,8EAK2C;AAC3C,uFAG6C;AAE7C,
|
|
1
|
+
{"version":3,"file":"sps.js","sourceRoot":"","sources":["../../src/sps.ts"],"names":[],"mappings":";;;AAAA,wBASW;AACX,8EAK2C;AAC3C,uFAG6C;AAE7C,2CAAiF;AAOjF,+CAA4D;AA4N5D;;;GAGG;AACH,MAAa,GAAG;IACd,2DAA2D;IAC3D,WAAW,CAAS;IACpB,8CAA8C;IAC9C,QAAQ,CAAS;IACjB,oDAAoD;IACpD,WAAW,CAAc;IAEzB;;;OAGG;IACH,YAAY,EAAE,WAAW,EAAE,MAAM,GAAG,gBAAgB,EAAE,WAAW,GAAG,YAAY,EAAc;QAC5F,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,IAAA,cAAW,EAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;IAEO,KAAK,CAAC,yBAAyB;QACrC,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CACb,4FAA4F,CAC7F,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,yBAAyB;QACrC,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACI,SAAS,GAAc,KAAK,EACjC,aAAgB,EAChB,QAA0D,EAAE,EAC5D,cAA+B,EACX,EAAE;QACtB,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAEvC,IAAI,cAAc,IAAI,IAAA,qBAAW,EAAC,aAAa,EAAE,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3E,OAAO,IAAW,CAAC;QACrB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAW,EAC9B,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,IAAI,aAAa,EAAE,EACvD,KAAK,CAAC,MAAM,IAAI,EAAE,EAClB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,6BAA6B,IAAI,KAAK,EAC5C,KAAK,CAAC,SAAS,CAChB,CAAC;QAEF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAW,CAAC;QACrB,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,CAAC,cAAsC,CAAC;QAErE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,GACvE,MAAM,IAAA,6CAAoB,EACxB;YACE,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE;YAC1C,WAAW,EAAE,KAAK,CAAC,QAAQ,EAAE,WAAW,IAAI,SAAS;YACrD,MAAM;YACN,QAAQ;YACR,GAAG,KAAK,CAAC,QAAQ;SAClB,EACD;YACE,aAAa;YACb,QAAQ,EAAE,cAAc,CAAC,QAAQ;YACjC,WAAW,EACR,KAAK,CAAC,MAAM,EAAE,UAAqB;gBACnC,KAAK,CAAC,MAAM,EAAE,WAAsB;gBACrC,SAAS;YACX,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,OAAiB;YACxC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,IAAgB;YACpC,UAAU,EAAE,MAAM,EAAE,UAAU;YAC9B,WAAW,EAAE,cAAc,CAAC,WAAW,IAAI,SAAS;SACrD,CACF,CAAC;QAEJ,IAAI,OAAO,CAAC;QAEZ,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;QAChD,MAAM,mBAAmB,GAAG,KAAK,CAAC,mBAAmB,CAAC;QAEtD,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;QAE9B,IAAI,OAAO,cAAc,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC/C,OAAO,GAAG,IAAA,2DAA2B,EACnC,cAAmE,EACnE;gBACE,QAAQ,EAAE,CAAC,MAAM,gBAAgB,EAAE,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE;gBAC1D,WAAW,EACT,CAAC,MAAM,mBAAmB,EAAE,CAAC,cAAc,CAAC,CAAC;oBAC7C,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBACxD,YAAY;gBACZ,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,IAAI,IAAI;gBACpD,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,aAAa,EAAE,aAA+C;gBAC9D,WAAW;gBACX,SAAS,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE;gBACrC,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,WAAqB;aACjD,CACwB,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,IAAA,0DAA0B,EAAC,cAAc,CAAC,OAAsB,EAAE;gBAC1E,YAAY;gBACZ,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,IAAI,IAAI;aACrD,CAA2B,CAAC;QAC/B,CAAC;QACD,IAAI,cAAc,EAAE,CAAC;YACnB,IAAA,oBAAU,EACR,aAAa,EACb,cAAc,CAAC,SAAS,EACxB,cAAc,CAAC,YAAY,IAAI,QAAQ,EACvC,cAAc,CAAC,SAAS,IAAI,IAAI,CACjC,CAAC,CAAC,iBAAiB;QACtB,CAAC;QAED,OAAO;YACL,GAAG,cAAc;YACjB,YAAY,EAAE,cAAc,CAAC,YAAY,IAAI,EAAE;YAC/C,OAAO;YACP,YAAY;YACZ,WAAW;YACX,WAAW;SACZ,CAAC;IACJ,CAAC,CAAC;IAEF;;;;;;;;;;;;;;;OAeG;IACI,WAAW,GAAgB,KAAK,EACrC,aAAgB,EAChB,QAAmC,EAAE,EACrC,YAAqB,EACrB,MAAe,EACO,EAAE;QACxB,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,gBAAgB,GAA8B,MAAM,IAAA,yBAAa,EACrE,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,IAAI,aAAa,WAAW,EAChE,KAAK,CAAC,MAAM,IAAI,EAAE,EAClB,YAAY,EACZ,MAAM,CACP,CAAC;YAEF,OAAO;gBACL,GAAG,gBAAgB;gBACnB,aAAa;gBACb,WAAW,EAAG,KAAK,CAAC,MAAM,EAAE,WAAsB,IAAK,KAAK,CAAC,MAAM,EAAE,UAAqB;aAC3F,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;gBACL,UAAU,EAAE,iBAAiB;gBAC7B,aAAa;gBACb,WAAW,EAAG,KAAK,CAAC,MAAM,EAAE,WAAsB,IAAK,KAAK,CAAC,MAAM,EAAE,UAAqB;aAC3F,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;IAEF;;;;;;;;;;;;;;OAcG;IACI,mBAAmB,GAAwB,KAAK,EACrD,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAe,EACrE,QAA8B,EAAE,EAChC,cAA+B,EAC/B,EAAE;QACF,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAEjC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,IAAW,CAAC;QACrB,CAAC;QAED,IAAI,cAAc,IAAI,IAAA,qBAAW,EAAC,aAAa,EAAE,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3E,OAAO,IAAW,CAAC;QACrB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAW,EAC9B,GAAG,IAAI,CAAC,QAAQ,WAAW,kBAAkB,CAAC,UAAU,CAAC,EAAE,EAC3D,EAAE,EACF,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,6BAA6B,IAAI,KAAK,EAC5C,KAAK,CAAC,SAAS,CAChB,CAAC;QAEF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAW,CAAC;QACrB,CAAC;QAED,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,GACvE,MAAM,IAAA,6CAAoB,EACxB;YACE,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE;YAC1C,WAAW,EAAE,KAAK,CAAC,QAAQ,EAAE,WAAW,IAAI,SAAS;YACrD,GAAG,KAAK,CAAC,QAAQ;YACjB,MAAM;YACN,QAAQ;SACT,EACD;YACE,aAAa;YACb,QAAQ,EAAE,MAAM,CAAC,cAAc,CAAC,QAAQ;YACxC,UAAU,EAAE,MAAM,EAAE,UAAU;YAC9B,WAAW;YACX,WAAW,EAAE,MAAM,CAAC,cAAc,CAAC,WAAW,IAAI,SAAS;SAC5D,CACF,CAAC;QAEJ,IAAI,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC;QAE5C,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;QAE9B,IAAI,OAAO,MAAM,CAAC,cAAc,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACtD,OAAO,GAAG,IAAA,2DAA2B,EACnC,MAAM,CAAC,cAAmE,EAC1E;gBACE,QAAQ,EAAE,CAAC,MAAM,KAAK,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE;gBACvE,WAAW,EACT,CAAC,MAAM,KAAK,CAAC,mBAAmB,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;oBAC1D,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ;gBACnD,YAAY;gBACZ,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,IAAI,IAAI;gBACpD,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,aAAa,EAAE,aAA+C;gBAC9D,WAAW;gBACX,SAAS,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE;gBACrC,WAAW;aACZ,CAC2C,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,IAAA,0DAA0B,EAAC,MAAM,CAAC,cAAc,CAAC,OAAsB,EAAE;gBACjF,YAAY;gBACZ,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,IAAI,IAAI;aACrD,CAA8C,CAAC;QAClD,CAAC;QAED,IAAI,cAAc,EAAE,CAAC;YACnB,IAAA,oBAAU,EACR,aAAa,EACb,cAAc,CAAC,SAAS,EACxB,MAAM,CAAC,cAAc,CAAC,YAAY,IAAI,QAAQ,EAAE,gBAAgB;YAChE,MAAM,CAAC,cAAc,CAAC,SAAS,IAAI,IAAI,CACxC,CAAC;QACJ,CAAC;QAED,OAAO;YACL,GAAG,MAAM,CAAC,cAAc;YACxB,YAAY;YACZ,OAAO;YACP,YAAY;YACZ,WAAW;YACX,WAAW;SACZ,CAAC;IACJ,CAAC,CAAC;CACH;AAzSD,kBAySC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.setDismissCookie = exports.incrementViewCount = exports.parseCookies = exports.getViewCountCookieName = exports.getDismissCookieName = void 0;
|
|
4
|
-
const DISMISS_PREFIX = "sps-
|
|
4
|
+
const DISMISS_PREFIX = "sps-dismissed-";
|
|
5
5
|
const VIEW_COUNT_PREFIX = "sps-view-count-";
|
|
6
6
|
const getDismissCookieName = (type, elementId) => `${DISMISS_PREFIX}${type}-${elementId}`;
|
|
7
7
|
exports.getDismissCookieName = getDismissCookieName;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"placementCookies.js","sourceRoot":"","sources":["../../../src/utils/placementCookies.ts"],"names":[],"mappings":";;;AAAA,MAAM,cAAc,GAAG,
|
|
1
|
+
{"version":3,"file":"placementCookies.js","sourceRoot":"","sources":["../../../src/utils/placementCookies.ts"],"names":[],"mappings":";;;AAAA,MAAM,cAAc,GAAG,gBAAgB,CAAC;AACxC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;AAErC,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAE,SAAiB,EAAU,EAAE,CAC9E,GAAG,cAAc,GAAG,IAAI,IAAI,SAAS,EAAE,CAAC;AAD7B,QAAA,oBAAoB,wBACS;AAEnC,MAAM,sBAAsB,GAAG,CAAC,IAAY,EAAE,SAAiB,EAAU,EAAE,CAChF,GAAG,iBAAiB,GAAG,IAAI,IAAI,SAAS,EAAE,CAAC;AADhC,QAAA,sBAAsB,0BACU;AAEtC,MAAM,YAAY,GAAG,CAAC,YAAoB,EAA0B,EAAE;IAC3E,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,MAAM,CAAC,WAAW,CACvB,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACnC,MAAM,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,YAAY,gBAUvB;AAEK,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,SAAiB,EAAQ,EAAE;IAC1E,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;QACpC,OAAO;IACT,CAAC;IACD,MAAM,GAAG,GAAG,IAAA,8BAAsB,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,IAAA,oBAAY,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;IAC9C,QAAQ,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,wBAAwB,CAAC;AAC3D,CAAC,CAAC;AATW,QAAA,kBAAkB,sBAS7B;AAEK,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,YAAoB,EAAE,SAAiB,EAAQ,EAAE;IAC9F,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;QACpC,OAAO;IACT,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC/C,QAAQ,CAAC,MAAM,GAAG,GAAG,IAAA,4BAAoB,EAAC,IAAI,EAAE,SAAS,CAAC,eAAe,MAAM,wBAAwB,CAAC;IACxG,QAAQ,CAAC,MAAM,GAAG,GAAG,IAAA,8BAAsB,EAAC,IAAI,EAAE,SAAS,CAAC,0BAA0B,CAAC;AACzF,CAAC,CAAC;AAPW,QAAA,gBAAgB,oBAO3B"}
|
package/dist/esm/apiClient.d.ts
CHANGED
|
@@ -96,49 +96,3 @@ export declare const fetchPoster: <T extends PlacementType, U extends SpsParams>
|
|
|
96
96
|
* @returns The resolved decision parameters including the `contentKey`.
|
|
97
97
|
*/
|
|
98
98
|
export declare const fetchDecision: <T extends SpsParams = DefaultGetDecisionParams>(url: string, params: T, userJwtToken?: string, cookie?: string) => Promise<GetPosterByDecisionParams>;
|
|
99
|
-
/**
|
|
100
|
-
* Raw placement payload returned by the SPS placements-by-context endpoint.
|
|
101
|
-
*/
|
|
102
|
-
export type ApiPlacement = {
|
|
103
|
-
type: PlacementType;
|
|
104
|
-
content: string | null;
|
|
105
|
-
segmentNames: string[];
|
|
106
|
-
campaign: string | null;
|
|
107
|
-
contentName: string | null;
|
|
108
|
-
abTestGroup: string | null;
|
|
109
|
-
experiment: string | null;
|
|
110
|
-
hideDuration?: number;
|
|
111
|
-
viewLimit?: number;
|
|
112
|
-
};
|
|
113
|
-
/**
|
|
114
|
-
* Raw decision payload returned by the SPS placements-by-context/decision endpoint.
|
|
115
|
-
*/
|
|
116
|
-
export type ApiDecision = {
|
|
117
|
-
type: PlacementType;
|
|
118
|
-
contentKey: string | null;
|
|
119
|
-
segmentNames: string[];
|
|
120
|
-
};
|
|
121
|
-
/**
|
|
122
|
-
* Fetches priority-ordered placements (full content) for a given page context from the SPS API.
|
|
123
|
-
*
|
|
124
|
-
* @param publication - The SPS publication identifier.
|
|
125
|
-
* @param context - The page context: `"frontpage"` or `"article"`.
|
|
126
|
-
* @param endpoint - The SPS API base endpoint URL.
|
|
127
|
-
* @param cookies - Optional cookie string forwarded as the `Cookie` request header.
|
|
128
|
-
* @returns An object with a `placements` array, or `{ placements: [] }` on error.
|
|
129
|
-
*/
|
|
130
|
-
export declare const fetchPlacementsByContext: (publication: string, context: "frontpage" | "article", endpoint: string, cookies?: string) => Promise<{
|
|
131
|
-
placements: ApiPlacement[];
|
|
132
|
-
}>;
|
|
133
|
-
/**
|
|
134
|
-
* Fetches priority-ordered decisions (content keys only) for a given page context from the SPS API.
|
|
135
|
-
*
|
|
136
|
-
* @param publication - The SPS publication identifier.
|
|
137
|
-
* @param context - The page context: `"frontpage"` or `"article"`.
|
|
138
|
-
* @param endpoint - The SPS API base endpoint URL.
|
|
139
|
-
* @param cookies - Optional cookie string forwarded as the `Cookie` request header.
|
|
140
|
-
* @returns An object with a `placements` array, or `{ placements: [] }` on error.
|
|
141
|
-
*/
|
|
142
|
-
export declare const fetchDecisionsByContext: (publication: string, context: "frontpage" | "article", endpoint: string, cookies?: string) => Promise<{
|
|
143
|
-
placements: ApiDecision[];
|
|
144
|
-
}>;
|
package/dist/esm/apiClient.js
CHANGED
|
@@ -96,58 +96,4 @@ export const fetchDecision = async (url, params, userJwtToken, cookie) => {
|
|
|
96
96
|
}
|
|
97
97
|
return decisionResponse.json();
|
|
98
98
|
};
|
|
99
|
-
/**
|
|
100
|
-
* Fetches priority-ordered placements (full content) for a given page context from the SPS API.
|
|
101
|
-
*
|
|
102
|
-
* @param publication - The SPS publication identifier.
|
|
103
|
-
* @param context - The page context: `"frontpage"` or `"article"`.
|
|
104
|
-
* @param endpoint - The SPS API base endpoint URL.
|
|
105
|
-
* @param cookies - Optional cookie string forwarded as the `Cookie` request header.
|
|
106
|
-
* @returns An object with a `placements` array, or `{ placements: [] }` on error.
|
|
107
|
-
*/
|
|
108
|
-
export const fetchPlacementsByContext = async (publication, context, endpoint, cookies) => {
|
|
109
|
-
try {
|
|
110
|
-
const url = new URL(`${endpoint}/${publication}/placements/${context}`);
|
|
111
|
-
const response = await fetch(url.toString(), {
|
|
112
|
-
credentials: "include",
|
|
113
|
-
headers: { ...(cookies && { Cookie: cookies }) },
|
|
114
|
-
});
|
|
115
|
-
if (!response.ok) {
|
|
116
|
-
console.error(`[SPS sdk] Error fetching placements: ${response.status} ${response.statusText}`);
|
|
117
|
-
return { placements: [] };
|
|
118
|
-
}
|
|
119
|
-
return response.json();
|
|
120
|
-
}
|
|
121
|
-
catch (error) {
|
|
122
|
-
console.error("[SPS sdk] Error fetching placements:", error);
|
|
123
|
-
return { placements: [] };
|
|
124
|
-
}
|
|
125
|
-
};
|
|
126
|
-
/**
|
|
127
|
-
* Fetches priority-ordered decisions (content keys only) for a given page context from the SPS API.
|
|
128
|
-
*
|
|
129
|
-
* @param publication - The SPS publication identifier.
|
|
130
|
-
* @param context - The page context: `"frontpage"` or `"article"`.
|
|
131
|
-
* @param endpoint - The SPS API base endpoint URL.
|
|
132
|
-
* @param cookies - Optional cookie string forwarded as the `Cookie` request header.
|
|
133
|
-
* @returns An object with a `placements` array, or `{ placements: [] }` on error.
|
|
134
|
-
*/
|
|
135
|
-
export const fetchDecisionsByContext = async (publication, context, endpoint, cookies) => {
|
|
136
|
-
try {
|
|
137
|
-
const url = new URL(`${endpoint}/${publication}/placements/${context}/decision`);
|
|
138
|
-
const response = await fetch(url.toString(), {
|
|
139
|
-
credentials: "include",
|
|
140
|
-
headers: { ...(cookies && { Cookie: cookies }) },
|
|
141
|
-
});
|
|
142
|
-
if (!response.ok) {
|
|
143
|
-
console.error(`[SPS sdk] Error fetching decisions: ${response.status} ${response.statusText}`);
|
|
144
|
-
return { placements: [] };
|
|
145
|
-
}
|
|
146
|
-
return response.json();
|
|
147
|
-
}
|
|
148
|
-
catch (error) {
|
|
149
|
-
console.error("[SPS sdk] Error fetching decisions:", error);
|
|
150
|
-
return { placements: [] };
|
|
151
|
-
}
|
|
152
|
-
};
|
|
153
99
|
//# sourceMappingURL=apiClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiClient.js","sourceRoot":"","sources":["../../src/apiClient.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,GAGtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AA4E9C;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAC9B,GAAW,EACX,MAAS,EACT,cAAqC,EACrC,6BAA6B,GAAG,KAAK,EACrC,SAAkB,EACkC,EAAE;IACtD,IAAI,CAAC;QACH,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAC;QACnD,MAAM,WAAW,GAAG,0BAA0B,CAAC;YAC7C,GAAG,kBAAkB;YACrB,GAAG,MAAM;SACV,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEpF,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE;YACpE,WAAW,EAAE,SAAS;YACtB,MAAM;SACP,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;YACvB,IAAI,cAAc,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAClC,IAAI,cAAc,EAAE,CAAC;oBACnB,OAAO;wBACL,cAAc,EAAE,cAAc;wBAC9B,UAAU,EAAE,gEAAgE;qBAC7E,CAAC;gBACJ,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,IAAI,KAAK,CACb,mCAAmC,cAAc,CAAC,MAAM,IAAI,cAAc,CAAC,UAAU,EAAE,CACxF,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAAgD,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC;QAEhG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAC5B,IAAI,cAAc,IAAI,6BAA6B,EAAE,CAAC;gBACpD,OAAO;oBACL,cAAc,EAAE,cAAc;oBAC9B,UAAU,EAAE,8DAA8D;iBAC3E,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,cAAc,EAAE,cAAsC;SACvD,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAAsB,EAAE,IAAI,KAAK,cAAc,EAAE,CAAC;YACrD,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC;YAC5C,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACrB,OAAO;gBACL,cAAc,EAAE,cAAc;gBAC9B,UAAU,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aACnE,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAChC,GAAW,EACX,MAAS,EACT,YAAqB,EACrB,MAAe,EACqB,EAAE;IACtC,MAAM,WAAW,GAAG,0BAA0B,CAAC;QAC7C,GAAG,MAAM;KACV,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE;QACtE,OAAO,EAAE;YACP,YAAY,EAAE,YAAY,IAAI,EAAE;YAChC,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;SAClC;QACD,WAAW,EAAE,SAAS;KACvB,CAAC,CAAC;IAEH,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,qCAAqC,gBAAgB,CAAC,MAAM,IAAI,gBAAgB,CAAC,UAAU,EAAE,CAC9F,CAAC;IACJ,CAAC;IAED,OAAO,gBAAgB,CAAC,IAAI,EAAE,CAAC;AACjC,CAAC,CAAC
|
|
1
|
+
{"version":3,"file":"apiClient.js","sourceRoot":"","sources":["../../src/apiClient.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/sps.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type Environment, type SpsParams, type GetPosterByDecisionParams, type PulseOrigin, type PulseObject, type PlacementTypeWithOptionalProps } from "./index.js";
|
|
2
2
|
import { type ContentType, type TrackingData, type TrackingParamsProps } from "./tracking/create-tracking-params.js";
|
|
3
3
|
import { SpsPublication } from "./sps/publication.js";
|
|
4
|
-
import { type
|
|
4
|
+
import { type SPSPosterResponse } from "./apiClient.js";
|
|
5
5
|
import type { PlacementType, PlacementTypeWithOptionalFallback, PlacementTypeWithRequiredFallback } from "./sps/placement.js";
|
|
6
6
|
/**
|
|
7
7
|
* The full poster response enriched with segment names, tracking data, and Pulse event objects.
|
|
@@ -236,49 +236,5 @@ export declare class SPS {
|
|
|
236
236
|
* @returns The enriched poster response, or `null` when no content is available.
|
|
237
237
|
*/
|
|
238
238
|
getPosterByDecision: GetPosterByDecision;
|
|
239
|
-
/**
|
|
240
|
-
* Fetches priority-ordered placements (full content) for the frontpage context.
|
|
241
|
-
* Works in both browser and server environments.
|
|
242
|
-
*
|
|
243
|
-
* @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side.
|
|
244
|
-
* @returns Array of placements for the frontpage context, or `[]` on error.
|
|
245
|
-
*/
|
|
246
|
-
getFrontpagePlacements(options?: {
|
|
247
|
-
cookies?: string;
|
|
248
|
-
}): Promise<ApiPlacement[]>;
|
|
249
|
-
/**
|
|
250
|
-
* Fetches priority-ordered placements (full content) for the article page context.
|
|
251
|
-
* Works in both browser and server environments.
|
|
252
|
-
*
|
|
253
|
-
* @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side.
|
|
254
|
-
* @returns Array of placements for the article page context, or `[]` on error.
|
|
255
|
-
*/
|
|
256
|
-
getArticlePagePlacements(options?: {
|
|
257
|
-
cookies?: string;
|
|
258
|
-
}): Promise<ApiPlacement[]>;
|
|
259
|
-
/**
|
|
260
|
-
* Fetches priority-ordered decisions (content keys + segment names) for the frontpage context.
|
|
261
|
-
* Works in both browser and server environments.
|
|
262
|
-
*
|
|
263
|
-
* Returns values compatible with {@link SPS.getPosterByDecision}.
|
|
264
|
-
*
|
|
265
|
-
* @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side.
|
|
266
|
-
* @returns Array of decisions for the frontpage context, or `[]` on error.
|
|
267
|
-
*/
|
|
268
|
-
getFrontpageDecisions(options?: {
|
|
269
|
-
cookies?: string;
|
|
270
|
-
}): Promise<Decision<PlacementType>[]>;
|
|
271
|
-
/**
|
|
272
|
-
* Fetches decisions (content keys + segment names) for the article page context.
|
|
273
|
-
* Works in both browser and server environments.
|
|
274
|
-
*
|
|
275
|
-
* Returns values compatible with {@link SPS.getPosterByDecision}.
|
|
276
|
-
*
|
|
277
|
-
* @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side.
|
|
278
|
-
* @returns Array of decisions for the article page context, or `[]` on error.
|
|
279
|
-
*/
|
|
280
|
-
getArticlePageDecisions(options?: {
|
|
281
|
-
cookies?: string;
|
|
282
|
-
}): Promise<Decision<PlacementType>[]>;
|
|
283
239
|
}
|
|
284
240
|
export {};
|
package/dist/esm/sps.js
CHANGED
|
@@ -2,7 +2,7 @@ import { getEndpoint, } from "./index.js";
|
|
|
2
2
|
import { createTrackingParams, } from "./tracking/create-tracking-params.js";
|
|
3
3
|
import { rewritePlaceholderVariables, rewriteJsonPosterVariables, } from "./sps/rewrite-salesposter-variables.js";
|
|
4
4
|
import { SpsPublication } from "./sps/publication.js";
|
|
5
|
-
import { fetchDecision,
|
|
5
|
+
import { fetchDecision, fetchPoster } from "./apiClient.js";
|
|
6
6
|
import { addDismiss, isDismissed } from "./actions/dismiss.js";
|
|
7
7
|
/**
|
|
8
8
|
* Main entry point for the SPS SDK. Provides methods to fetch posters and decisions
|
|
@@ -223,61 +223,5 @@ export class SPS {
|
|
|
223
223
|
pulseObject,
|
|
224
224
|
};
|
|
225
225
|
};
|
|
226
|
-
/**
|
|
227
|
-
* Fetches priority-ordered placements (full content) for the frontpage context.
|
|
228
|
-
* Works in both browser and server environments.
|
|
229
|
-
*
|
|
230
|
-
* @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side.
|
|
231
|
-
* @returns Array of placements for the frontpage context, or `[]` on error.
|
|
232
|
-
*/
|
|
233
|
-
async getFrontpagePlacements(options = {}) {
|
|
234
|
-
const { placements } = await fetchPlacementsByContext(this.publication, "frontpage", this.endpoint, options.cookies);
|
|
235
|
-
return placements;
|
|
236
|
-
}
|
|
237
|
-
/**
|
|
238
|
-
* Fetches priority-ordered placements (full content) for the article page context.
|
|
239
|
-
* Works in both browser and server environments.
|
|
240
|
-
*
|
|
241
|
-
* @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side.
|
|
242
|
-
* @returns Array of placements for the article page context, or `[]` on error.
|
|
243
|
-
*/
|
|
244
|
-
async getArticlePagePlacements(options = {}) {
|
|
245
|
-
const { placements } = await fetchPlacementsByContext(this.publication, "article", this.endpoint, options.cookies);
|
|
246
|
-
return placements;
|
|
247
|
-
}
|
|
248
|
-
/**
|
|
249
|
-
* Fetches priority-ordered decisions (content keys + segment names) for the frontpage context.
|
|
250
|
-
* Works in both browser and server environments.
|
|
251
|
-
*
|
|
252
|
-
* Returns values compatible with {@link SPS.getPosterByDecision}.
|
|
253
|
-
*
|
|
254
|
-
* @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side.
|
|
255
|
-
* @returns Array of decisions for the frontpage context, or `[]` on error.
|
|
256
|
-
*/
|
|
257
|
-
async getFrontpageDecisions(options = {}) {
|
|
258
|
-
const { placements } = await fetchDecisionsByContext(this.publication, "frontpage", this.endpoint, options.cookies);
|
|
259
|
-
return placements.map((d) => ({
|
|
260
|
-
placementType: d.type,
|
|
261
|
-
contentKey: d.contentKey,
|
|
262
|
-
segmentNames: d.segmentNames,
|
|
263
|
-
}));
|
|
264
|
-
}
|
|
265
|
-
/**
|
|
266
|
-
* Fetches decisions (content keys + segment names) for the article page context.
|
|
267
|
-
* Works in both browser and server environments.
|
|
268
|
-
*
|
|
269
|
-
* Returns values compatible with {@link SPS.getPosterByDecision}.
|
|
270
|
-
*
|
|
271
|
-
* @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side.
|
|
272
|
-
* @returns Array of decisions for the article page context, or `[]` on error.
|
|
273
|
-
*/
|
|
274
|
-
async getArticlePageDecisions(options = {}) {
|
|
275
|
-
const { placements } = await fetchDecisionsByContext(this.publication, "article", this.endpoint, options.cookies);
|
|
276
|
-
return placements.map((d) => ({
|
|
277
|
-
placementType: d.type,
|
|
278
|
-
contentKey: d.contentKey,
|
|
279
|
-
segmentNames: d.segmentNames,
|
|
280
|
-
}));
|
|
281
|
-
}
|
|
282
226
|
}
|
|
283
227
|
//# sourceMappingURL=sps.js.map
|
package/dist/esm/sps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sps.js","sourceRoot":"","sources":["../../src/sps.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,GAOZ,MAAM,GAAG,CAAC;AACX,OAAO,EACL,oBAAoB,GAIrB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,
|
|
1
|
+
{"version":3,"file":"sps.js","sourceRoot":"","sources":["../../src/sps.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,GAOZ,MAAM,GAAG,CAAC;AACX,OAAO,EACL,oBAAoB,GAIrB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,WAAW,EAA0B,MAAM,aAAa,CAAC;AAOjF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AA4N5D;;;GAGG;AACH,MAAM,OAAO,GAAG;IACd,2DAA2D;IAC3D,WAAW,CAAS;IACpB,8CAA8C;IAC9C,QAAQ,CAAS;IACjB,oDAAoD;IACpD,WAAW,CAAc;IAEzB;;;OAGG;IACH,YAAY,EAAE,WAAW,EAAE,MAAM,GAAG,gBAAgB,EAAE,WAAW,GAAG,YAAY,EAAc;QAC5F,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;IAEO,KAAK,CAAC,yBAAyB;QACrC,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CACb,4FAA4F,CAC7F,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,yBAAyB;QACrC,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACI,SAAS,GAAc,KAAK,EACjC,aAAgB,EAChB,QAA0D,EAAE,EAC5D,cAA+B,EACX,EAAE;QACtB,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAEvC,IAAI,cAAc,IAAI,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3E,OAAO,IAAW,CAAC;QACrB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,IAAI,aAAa,EAAE,EACvD,KAAK,CAAC,MAAM,IAAI,EAAE,EAClB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,6BAA6B,IAAI,KAAK,EAC5C,KAAK,CAAC,SAAS,CAChB,CAAC;QAEF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAW,CAAC;QACrB,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,CAAC,cAAsC,CAAC;QAErE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,GACvE,MAAM,oBAAoB,CACxB;YACE,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE;YAC1C,WAAW,EAAE,KAAK,CAAC,QAAQ,EAAE,WAAW,IAAI,SAAS;YACrD,MAAM;YACN,QAAQ;YACR,GAAG,KAAK,CAAC,QAAQ;SAClB,EACD;YACE,aAAa;YACb,QAAQ,EAAE,cAAc,CAAC,QAAQ;YACjC,WAAW,EACR,KAAK,CAAC,MAAM,EAAE,UAAqB;gBACnC,KAAK,CAAC,MAAM,EAAE,WAAsB;gBACrC,SAAS;YACX,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,OAAiB;YACxC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,IAAgB;YACpC,UAAU,EAAE,MAAM,EAAE,UAAU;YAC9B,WAAW,EAAE,cAAc,CAAC,WAAW,IAAI,SAAS;SACrD,CACF,CAAC;QAEJ,IAAI,OAAO,CAAC;QAEZ,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;QAChD,MAAM,mBAAmB,GAAG,KAAK,CAAC,mBAAmB,CAAC;QAEtD,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;QAE9B,IAAI,OAAO,cAAc,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC/C,OAAO,GAAG,2BAA2B,CACnC,cAAmE,EACnE;gBACE,QAAQ,EAAE,CAAC,MAAM,gBAAgB,EAAE,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE;gBAC1D,WAAW,EACT,CAAC,MAAM,mBAAmB,EAAE,CAAC,cAAc,CAAC,CAAC;oBAC7C,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBACxD,YAAY;gBACZ,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,IAAI,IAAI;gBACpD,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,aAAa,EAAE,aAA+C;gBAC9D,WAAW;gBACX,SAAS,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE;gBACrC,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,WAAqB;aACjD,CACwB,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,0BAA0B,CAAC,cAAc,CAAC,OAAsB,EAAE;gBAC1E,YAAY;gBACZ,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,IAAI,IAAI;aACrD,CAA2B,CAAC;QAC/B,CAAC;QACD,IAAI,cAAc,EAAE,CAAC;YACnB,UAAU,CACR,aAAa,EACb,cAAc,CAAC,SAAS,EACxB,cAAc,CAAC,YAAY,IAAI,QAAQ,EACvC,cAAc,CAAC,SAAS,IAAI,IAAI,CACjC,CAAC,CAAC,iBAAiB;QACtB,CAAC;QAED,OAAO;YACL,GAAG,cAAc;YACjB,YAAY,EAAE,cAAc,CAAC,YAAY,IAAI,EAAE;YAC/C,OAAO;YACP,YAAY;YACZ,WAAW;YACX,WAAW;SACZ,CAAC;IACJ,CAAC,CAAC;IAEF;;;;;;;;;;;;;;;OAeG;IACI,WAAW,GAAgB,KAAK,EACrC,aAAgB,EAChB,QAAmC,EAAE,EACrC,YAAqB,EACrB,MAAe,EACO,EAAE;QACxB,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,gBAAgB,GAA8B,MAAM,aAAa,CACrE,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,IAAI,aAAa,WAAW,EAChE,KAAK,CAAC,MAAM,IAAI,EAAE,EAClB,YAAY,EACZ,MAAM,CACP,CAAC;YAEF,OAAO;gBACL,GAAG,gBAAgB;gBACnB,aAAa;gBACb,WAAW,EAAG,KAAK,CAAC,MAAM,EAAE,WAAsB,IAAK,KAAK,CAAC,MAAM,EAAE,UAAqB;aAC3F,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;gBACL,UAAU,EAAE,iBAAiB;gBAC7B,aAAa;gBACb,WAAW,EAAG,KAAK,CAAC,MAAM,EAAE,WAAsB,IAAK,KAAK,CAAC,MAAM,EAAE,UAAqB;aAC3F,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;IAEF;;;;;;;;;;;;;;OAcG;IACI,mBAAmB,GAAwB,KAAK,EACrD,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAe,EACrE,QAA8B,EAAE,EAChC,cAA+B,EAC/B,EAAE;QACF,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAEjC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,IAAW,CAAC;QACrB,CAAC;QAED,IAAI,cAAc,IAAI,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3E,OAAO,IAAW,CAAC;QACrB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,GAAG,IAAI,CAAC,QAAQ,WAAW,kBAAkB,CAAC,UAAU,CAAC,EAAE,EAC3D,EAAE,EACF,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,6BAA6B,IAAI,KAAK,EAC5C,KAAK,CAAC,SAAS,CAChB,CAAC;QAEF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAW,CAAC;QACrB,CAAC;QAED,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,GACvE,MAAM,oBAAoB,CACxB;YACE,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE;YAC1C,WAAW,EAAE,KAAK,CAAC,QAAQ,EAAE,WAAW,IAAI,SAAS;YACrD,GAAG,KAAK,CAAC,QAAQ;YACjB,MAAM;YACN,QAAQ;SACT,EACD;YACE,aAAa;YACb,QAAQ,EAAE,MAAM,CAAC,cAAc,CAAC,QAAQ;YACxC,UAAU,EAAE,MAAM,EAAE,UAAU;YAC9B,WAAW;YACX,WAAW,EAAE,MAAM,CAAC,cAAc,CAAC,WAAW,IAAI,SAAS;SAC5D,CACF,CAAC;QAEJ,IAAI,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC;QAE5C,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;QAE9B,IAAI,OAAO,MAAM,CAAC,cAAc,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACtD,OAAO,GAAG,2BAA2B,CACnC,MAAM,CAAC,cAAmE,EAC1E;gBACE,QAAQ,EAAE,CAAC,MAAM,KAAK,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE;gBACvE,WAAW,EACT,CAAC,MAAM,KAAK,CAAC,mBAAmB,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;oBAC1D,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ;gBACnD,YAAY;gBACZ,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,IAAI,IAAI;gBACpD,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,aAAa,EAAE,aAA+C;gBAC9D,WAAW;gBACX,SAAS,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE;gBACrC,WAAW;aACZ,CAC2C,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,0BAA0B,CAAC,MAAM,CAAC,cAAc,CAAC,OAAsB,EAAE;gBACjF,YAAY;gBACZ,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,IAAI,IAAI;aACrD,CAA8C,CAAC;QAClD,CAAC;QAED,IAAI,cAAc,EAAE,CAAC;YACnB,UAAU,CACR,aAAa,EACb,cAAc,CAAC,SAAS,EACxB,MAAM,CAAC,cAAc,CAAC,YAAY,IAAI,QAAQ,EAAE,gBAAgB;YAChE,MAAM,CAAC,cAAc,CAAC,SAAS,IAAI,IAAI,CACxC,CAAC;QACJ,CAAC;QAED,OAAO;YACL,GAAG,MAAM,CAAC,cAAc;YACxB,YAAY;YACZ,OAAO;YACP,YAAY;YACZ,WAAW;YACX,WAAW;SACZ,CAAC;IACJ,CAAC,CAAC;CACH"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const DISMISS_PREFIX = "sps-
|
|
1
|
+
const DISMISS_PREFIX = "sps-dismissed-";
|
|
2
2
|
const VIEW_COUNT_PREFIX = "sps-view-count-";
|
|
3
3
|
export const getDismissCookieName = (type, elementId) => `${DISMISS_PREFIX}${type}-${elementId}`;
|
|
4
4
|
export const getViewCountCookieName = (type, elementId) => `${VIEW_COUNT_PREFIX}${type}-${elementId}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"placementCookies.js","sourceRoot":"","sources":["../../../src/utils/placementCookies.ts"],"names":[],"mappings":"AAAA,MAAM,cAAc,GAAG,
|
|
1
|
+
{"version":3,"file":"placementCookies.js","sourceRoot":"","sources":["../../../src/utils/placementCookies.ts"],"names":[],"mappings":"AAAA,MAAM,cAAc,GAAG,gBAAgB,CAAC;AACxC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;AAE5C,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAE,SAAiB,EAAU,EAAE,CAC9E,GAAG,cAAc,GAAG,IAAI,IAAI,SAAS,EAAE,CAAC;AAE1C,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,IAAY,EAAE,SAAiB,EAAU,EAAE,CAChF,GAAG,iBAAiB,GAAG,IAAI,IAAI,SAAS,EAAE,CAAC;AAE7C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,YAAoB,EAA0B,EAAE;IAC3E,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,MAAM,CAAC,WAAW,CACvB,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACnC,MAAM,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,SAAiB,EAAQ,EAAE;IAC1E,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;QACpC,OAAO;IACT,CAAC;IACD,MAAM,GAAG,GAAG,sBAAsB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;IAC9C,QAAQ,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,wBAAwB,CAAC;AAC3D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,YAAoB,EAAE,SAAiB,EAAQ,EAAE;IAC9F,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;QACpC,OAAO;IACT,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC/C,QAAQ,CAAC,MAAM,GAAG,GAAG,oBAAoB,CAAC,IAAI,EAAE,SAAS,CAAC,eAAe,MAAM,wBAAwB,CAAC;IACxG,QAAQ,CAAC,MAAM,GAAG,GAAG,sBAAsB,CAAC,IAAI,EAAE,SAAS,CAAC,0BAA0B,CAAC;AACzF,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var SpsPulseHelpersBundle=(()=>{var
|
|
1
|
+
"use strict";var SpsPulseHelpersBundle=(()=>{var N=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&&N(e,n,{get:()=>t[n],enumerable:!(s=te(t,n))||s.enumerable});return e};var oe=e=>se(N({},"__esModule",{value:!0}),e);var de={};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,d=400,T="",h=0;function f(g){var b,k,x,A,V;try{let w=g.target,P=(b=w==null?void 0:w.closest)==null?void 0:b.call(w,"a");if(!P)return;let E=P.textContent||P.getAttribute("href")||`${p} button`,F=`a|${E}`,M=Date.now();if(F===T&&M-h<d)return;T=F,h=M;let C=B(P),ee=C==="Purchase"?H(P):[];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=P.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=(A=(x=P.getAttribute("href"))==null?void 0:x.split("?"))==null?void 0:A[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:d}=t;d.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:{}}}),d.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"}-${U(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 $={"sps-pulse-helpers":"2.2.0","pulse-tracker-proxy":"1.2.0"};var I=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,""),U=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=I(r)?U(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:$["sps-pulse-helpers"]});K(i,e,a,p);let o=f=>{z||(z=!0,Y(i,e,a,p,f))};if(I(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 d="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,d=k?"Above":"Below"),k&&(h.disconnect(),o(d))},{root:null,threshold:[0,1/3]});h.observe(l)}catch(t){console.warn("[SPS-Pulse-Helpers] boot failed",t)}}Z();return oe(de);})();
|