@schibsted/sps-sdk 4.11.1 → 4.12.0-CBT-20193.1
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 +4 -2
- package/dist/cjs/apiClient.js +14 -2
- package/dist/cjs/apiClient.js.map +1 -1
- package/dist/cjs/sps/publication.d.ts +22 -9
- package/dist/cjs/sps/publication.js +21 -8
- package/dist/cjs/sps/publication.js.map +1 -1
- package/dist/cjs/sps.d.ts +16 -10
- package/dist/cjs/sps.js +16 -8
- package/dist/cjs/sps.js.map +1 -1
- package/dist/esm/apiClient.d.ts +4 -2
- package/dist/esm/apiClient.js +14 -2
- package/dist/esm/apiClient.js.map +1 -1
- package/dist/esm/sps/publication.d.ts +22 -9
- package/dist/esm/sps/publication.js +21 -8
- package/dist/esm/sps/publication.js.map +1 -1
- package/dist/esm/sps.d.ts +16 -10
- package/dist/esm/sps.js +16 -8
- package/dist/esm/sps.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
|
@@ -113,11 +113,12 @@ export type ApiDecision = {
|
|
|
113
113
|
* @param publication - The SPS publication identifier.
|
|
114
114
|
* @param context - The page context: `"frontpage"` or `"article"`.
|
|
115
115
|
* @param endpoint - The SPS API base endpoint URL.
|
|
116
|
+
* @param params - Optional query params forwarded to the SPS API for the whole request.
|
|
116
117
|
* @param cookies - Optional cookie string forwarded as the `Cookie` request header.
|
|
117
118
|
* @param excludedPlacementTypes - Optional placement types to exclude from the result.
|
|
118
119
|
* @returns An object with a `placements` array, or `null` on error.
|
|
119
120
|
*/
|
|
120
|
-
export declare const fetchPlacementsByContext: (publication: string, context: "frontpage" | "article", endpoint: string, cookies?: string, excludedPlacementTypes?: PlacementType[], timeoutMs?: number) => Promise<{
|
|
121
|
+
export declare const fetchPlacementsByContext: (publication: string, context: "frontpage" | "article", endpoint: string, params?: SpsParams, cookies?: string, excludedPlacementTypes?: PlacementType[], timeoutMs?: number) => Promise<{
|
|
121
122
|
placements: SPSPosterResponseWithPlacementType[];
|
|
122
123
|
} | null>;
|
|
123
124
|
/**
|
|
@@ -126,10 +127,11 @@ export declare const fetchPlacementsByContext: (publication: string, context: "f
|
|
|
126
127
|
* @param publication - The SPS publication identifier.
|
|
127
128
|
* @param context - The page context: `"frontpage"` or `"article"`.
|
|
128
129
|
* @param endpoint - The SPS API base endpoint URL.
|
|
130
|
+
* @param params - Optional query params forwarded to the SPS API for the whole request.
|
|
129
131
|
* @param cookies - Optional cookie string forwarded as the `Cookie` request header.
|
|
130
132
|
* @param excludedPlacementTypes - Optional placement types to exclude from the result.
|
|
131
133
|
* @returns An object with a `placements` array, or `{ placements: [] }` on error.
|
|
132
134
|
*/
|
|
133
|
-
export declare const fetchDecisionsByContext: (publication: string, context: "frontpage" | "article", endpoint: string, cookies?: string, excludedPlacementTypes?: PlacementType[]) => Promise<{
|
|
135
|
+
export declare const fetchDecisionsByContext: (publication: string, context: "frontpage" | "article", endpoint: string, params?: SpsParams, cookies?: string, excludedPlacementTypes?: PlacementType[]) => Promise<{
|
|
134
136
|
placements: ApiDecision[];
|
|
135
137
|
}>;
|
package/dist/cjs/apiClient.js
CHANGED
|
@@ -107,16 +107,22 @@ exports.fetchDecision = fetchDecision;
|
|
|
107
107
|
* @param publication - The SPS publication identifier.
|
|
108
108
|
* @param context - The page context: `"frontpage"` or `"article"`.
|
|
109
109
|
* @param endpoint - The SPS API base endpoint URL.
|
|
110
|
+
* @param params - Optional query params forwarded to the SPS API for the whole request.
|
|
110
111
|
* @param cookies - Optional cookie string forwarded as the `Cookie` request header.
|
|
111
112
|
* @param excludedPlacementTypes - Optional placement types to exclude from the result.
|
|
112
113
|
* @returns An object with a `placements` array, or `null` on error.
|
|
113
114
|
*/
|
|
114
|
-
const fetchPlacementsByContext = async (publication, context, endpoint, cookies, excludedPlacementTypes, timeoutMs) => {
|
|
115
|
+
const fetchPlacementsByContext = async (publication, context, endpoint, params, cookies, excludedPlacementTypes, timeoutMs) => {
|
|
115
116
|
try {
|
|
116
117
|
const url = new URL(`${endpoint}/${publication}/placements/${context}`);
|
|
117
118
|
excludedPlacementTypes?.forEach((placementType) => {
|
|
118
119
|
url.searchParams.append("excludedPlacementTypes[]", placementType);
|
|
119
120
|
});
|
|
121
|
+
if (params) {
|
|
122
|
+
(0, queryBuilder_1.convertParamsToQueryParams)(params).forEach((value, key) => {
|
|
123
|
+
url.searchParams.append(key, value);
|
|
124
|
+
});
|
|
125
|
+
}
|
|
120
126
|
const signal = timeoutMs !== undefined ? AbortSignal.timeout(timeoutMs) : undefined;
|
|
121
127
|
const response = await fetch(url.toString(), {
|
|
122
128
|
credentials: "include",
|
|
@@ -141,16 +147,22 @@ exports.fetchPlacementsByContext = fetchPlacementsByContext;
|
|
|
141
147
|
* @param publication - The SPS publication identifier.
|
|
142
148
|
* @param context - The page context: `"frontpage"` or `"article"`.
|
|
143
149
|
* @param endpoint - The SPS API base endpoint URL.
|
|
150
|
+
* @param params - Optional query params forwarded to the SPS API for the whole request.
|
|
144
151
|
* @param cookies - Optional cookie string forwarded as the `Cookie` request header.
|
|
145
152
|
* @param excludedPlacementTypes - Optional placement types to exclude from the result.
|
|
146
153
|
* @returns An object with a `placements` array, or `{ placements: [] }` on error.
|
|
147
154
|
*/
|
|
148
|
-
const fetchDecisionsByContext = async (publication, context, endpoint, cookies, excludedPlacementTypes) => {
|
|
155
|
+
const fetchDecisionsByContext = async (publication, context, endpoint, params, cookies, excludedPlacementTypes) => {
|
|
149
156
|
try {
|
|
150
157
|
const url = new URL(`${endpoint}/${publication}/placements/${context}/decision`);
|
|
151
158
|
excludedPlacementTypes?.forEach((placementType) => {
|
|
152
159
|
url.searchParams.append("excludedPlacementTypes[]", placementType);
|
|
153
160
|
});
|
|
161
|
+
if (params) {
|
|
162
|
+
(0, queryBuilder_1.convertParamsToQueryParams)(params).forEach((value, key) => {
|
|
163
|
+
url.searchParams.append(key, value);
|
|
164
|
+
});
|
|
165
|
+
}
|
|
154
166
|
const response = await fetch(url.toString(), {
|
|
155
167
|
credentials: "include",
|
|
156
168
|
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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"}
|
|
@@ -4,20 +4,33 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export declare enum SpsPublication {
|
|
6
6
|
AB = "ab",
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
AB_APP = "abapp",
|
|
8
|
+
AB_TV = "abtv",
|
|
9
|
+
AP = "aftenposten",
|
|
10
|
+
AP_APP = "aftenpostenapp",
|
|
11
11
|
BT = "bt",
|
|
12
|
-
|
|
12
|
+
BT_APP = "btapp",
|
|
13
13
|
DP = "dp",
|
|
14
14
|
E24 = "e24",
|
|
15
|
-
|
|
15
|
+
E24_APP = "e24app",
|
|
16
|
+
MINMOTE = "minmote",
|
|
17
|
+
OMNI = "omni",
|
|
16
18
|
SA = "sa",
|
|
17
|
-
|
|
19
|
+
SA_APP = "saapp",
|
|
18
20
|
SVD = "svd",
|
|
21
|
+
SVD_APP = "svdapp",
|
|
19
22
|
VEKTKLUBB = "vektklubb",
|
|
20
23
|
VG = "vg",
|
|
21
|
-
|
|
22
|
-
|
|
24
|
+
VG_APP = "vgapp",
|
|
25
|
+
VG_TV = "vgtv",
|
|
26
|
+
WELLOBE = "wellobe",
|
|
27
|
+
DYNAMIC_AFTONBLADET = "dynamicaftonbladet",
|
|
28
|
+
DYNAMIC_SVD = "dynamicsvd",
|
|
29
|
+
DYNAMIC_VG = "dynamicvg",
|
|
30
|
+
DYNAMIC_VG_APP = "dynamicvgapp",
|
|
31
|
+
BEDRIFT = "bedrift",
|
|
32
|
+
FULLTILGANG = "fulltilgang",
|
|
33
|
+
NO_CONSENT_OR_PAY = "no-consent-or-pay",
|
|
34
|
+
SE_CONSENT_OR_PAY = "se-consent-or-pay",
|
|
35
|
+
SUPERPAKETET = "superpaketet"
|
|
23
36
|
}
|
|
@@ -8,21 +8,34 @@ exports.SpsPublication = void 0;
|
|
|
8
8
|
var SpsPublication;
|
|
9
9
|
(function (SpsPublication) {
|
|
10
10
|
SpsPublication["AB"] = "ab";
|
|
11
|
-
SpsPublication["
|
|
12
|
-
SpsPublication["
|
|
13
|
-
SpsPublication["
|
|
14
|
-
SpsPublication["
|
|
11
|
+
SpsPublication["AB_APP"] = "abapp";
|
|
12
|
+
SpsPublication["AB_TV"] = "abtv";
|
|
13
|
+
SpsPublication["AP"] = "aftenposten";
|
|
14
|
+
SpsPublication["AP_APP"] = "aftenpostenapp";
|
|
15
15
|
SpsPublication["BT"] = "bt";
|
|
16
|
-
SpsPublication["
|
|
16
|
+
SpsPublication["BT_APP"] = "btapp";
|
|
17
17
|
SpsPublication["DP"] = "dp";
|
|
18
18
|
SpsPublication["E24"] = "e24";
|
|
19
|
-
SpsPublication["
|
|
19
|
+
SpsPublication["E24_APP"] = "e24app";
|
|
20
|
+
SpsPublication["MINMOTE"] = "minmote";
|
|
21
|
+
SpsPublication["OMNI"] = "omni";
|
|
20
22
|
SpsPublication["SA"] = "sa";
|
|
21
|
-
SpsPublication["
|
|
23
|
+
SpsPublication["SA_APP"] = "saapp";
|
|
22
24
|
SpsPublication["SVD"] = "svd";
|
|
25
|
+
SpsPublication["SVD_APP"] = "svdapp";
|
|
23
26
|
SpsPublication["VEKTKLUBB"] = "vektklubb";
|
|
24
27
|
SpsPublication["VG"] = "vg";
|
|
25
|
-
SpsPublication["
|
|
28
|
+
SpsPublication["VG_APP"] = "vgapp";
|
|
29
|
+
SpsPublication["VG_TV"] = "vgtv";
|
|
26
30
|
SpsPublication["WELLOBE"] = "wellobe";
|
|
31
|
+
SpsPublication["DYNAMIC_AFTONBLADET"] = "dynamicaftonbladet";
|
|
32
|
+
SpsPublication["DYNAMIC_SVD"] = "dynamicsvd";
|
|
33
|
+
SpsPublication["DYNAMIC_VG"] = "dynamicvg";
|
|
34
|
+
SpsPublication["DYNAMIC_VG_APP"] = "dynamicvgapp";
|
|
35
|
+
SpsPublication["BEDRIFT"] = "bedrift";
|
|
36
|
+
SpsPublication["FULLTILGANG"] = "fulltilgang";
|
|
37
|
+
SpsPublication["NO_CONSENT_OR_PAY"] = "no-consent-or-pay";
|
|
38
|
+
SpsPublication["SE_CONSENT_OR_PAY"] = "se-consent-or-pay";
|
|
39
|
+
SpsPublication["SUPERPAKETET"] = "superpaketet";
|
|
27
40
|
})(SpsPublication || (exports.SpsPublication = SpsPublication = {}));
|
|
28
41
|
//# sourceMappingURL=publication.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publication.js","sourceRoot":"","sources":["../../../src/sps/publication.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,IAAY,
|
|
1
|
+
{"version":3,"file":"publication.js","sourceRoot":"","sources":["../../../src/sps/publication.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,IAAY,cAiCX;AAjCD,WAAY,cAAc;IACxB,2BAAS,CAAA;IACT,kCAAgB,CAAA;IAChB,gCAAc,CAAA;IACd,oCAAkB,CAAA;IAClB,2CAAyB,CAAA;IACzB,2BAAS,CAAA;IACT,kCAAgB,CAAA;IAChB,2BAAS,CAAA;IACT,6BAAW,CAAA;IACX,oCAAkB,CAAA;IAClB,qCAAmB,CAAA;IACnB,+BAAa,CAAA;IACb,2BAAS,CAAA;IACT,kCAAgB,CAAA;IAChB,6BAAW,CAAA;IACX,oCAAkB,CAAA;IAClB,yCAAuB,CAAA;IACvB,2BAAS,CAAA;IACT,kCAAgB,CAAA;IAChB,gCAAc,CAAA;IACd,qCAAmB,CAAA;IAEnB,4DAA0C,CAAA;IAC1C,4CAA0B,CAAA;IAC1B,0CAAwB,CAAA;IACxB,iDAA+B,CAAA;IAE/B,qCAAmB,CAAA;IACnB,6CAA2B,CAAA;IAC3B,yDAAuC,CAAA;IACvC,yDAAuC,CAAA;IACvC,+CAA6B,CAAA;AAC/B,CAAC,EAjCW,cAAc,8BAAd,cAAc,QAiCzB"}
|
package/dist/cjs/sps.d.ts
CHANGED
|
@@ -91,8 +91,11 @@ export type SpsRequestOptions<T extends PlacementType> = {
|
|
|
91
91
|
/**
|
|
92
92
|
* Options for {@link SPS.getFrontpagePlacements} and {@link SPS.getArticlePagePlacements}.
|
|
93
93
|
* @typeParam T - The placement type
|
|
94
|
+
* @typeParam P - The params shape sent to SPS for this request
|
|
94
95
|
*/
|
|
95
|
-
export type SpsContextPlacementsOptions<T extends PlacementType> = Omit<SpsRequestOptions<T>, "fallbackPoster" | "showFallbackPosterOnNoContent"> & {
|
|
96
|
+
export type SpsContextPlacementsOptions<T extends PlacementType, P extends SpsParams = SpsParams> = Omit<SpsRequestOptions<T>, "fallbackPoster" | "showFallbackPosterOnNoContent"> & {
|
|
97
|
+
/** Query params forwarded to the SPS API for the whole request. */
|
|
98
|
+
params?: P;
|
|
96
99
|
/** Placement types to exclude from the priority-ordered result. */
|
|
97
100
|
excludedPlacementTypes?: PlacementType[];
|
|
98
101
|
/**
|
|
@@ -111,8 +114,11 @@ export type FallbackPostersMap = {
|
|
|
111
114
|
};
|
|
112
115
|
/**
|
|
113
116
|
* Options for {@link SPS.getFrontpageDecisions} and {@link SPS.getArticlePageDecisions}.
|
|
117
|
+
* @typeParam P - The params shape sent to SPS for this request
|
|
114
118
|
*/
|
|
115
|
-
export type SpsContextDecisionsOptions = {
|
|
119
|
+
export type SpsContextDecisionsOptions<P extends SpsParams = SpsParams> = {
|
|
120
|
+
/** Query params forwarded to the SPS API for the whole request. */
|
|
121
|
+
params?: P;
|
|
116
122
|
/** Pass `req.headers.cookie` when calling server-side. */
|
|
117
123
|
cookies?: string;
|
|
118
124
|
/** Placement types to exclude from the priority-ordered result. */
|
|
@@ -275,10 +281,10 @@ export declare class SPS {
|
|
|
275
281
|
* Applies the same post-processing as {@link SPS.getPoster}: rewrites login/redirect
|
|
276
282
|
* placeholder variables and appends tracking search params to links.
|
|
277
283
|
*
|
|
278
|
-
* @param options - Optional request options including tracking context, URL rewrite callbacks, and `excludedPlacementTypes`.
|
|
284
|
+
* @param options - Optional request options including tracking context, URL rewrite callbacks, `params`, and `excludedPlacementTypes`.
|
|
279
285
|
* @returns Array of enriched placements for the frontpage context, fallback posters (if configured) on API failure, or `[]` otherwise.
|
|
280
286
|
*/
|
|
281
|
-
getFrontpagePlacements(options?: SpsContextPlacementsOptions<PlacementType>): Promise<(Poster<PlacementType> & {
|
|
287
|
+
getFrontpagePlacements<P extends SpsParams = SpsParams>(options?: SpsContextPlacementsOptions<PlacementType, P>): Promise<(Poster<PlacementType> & {
|
|
282
288
|
type: PlacementType;
|
|
283
289
|
})[]>;
|
|
284
290
|
/**
|
|
@@ -288,10 +294,10 @@ export declare class SPS {
|
|
|
288
294
|
* Applies the same post-processing as {@link SPS.getPoster}: rewrites login/redirect
|
|
289
295
|
* placeholder variables and appends tracking search params to links.
|
|
290
296
|
*
|
|
291
|
-
* @param options - Optional request options including tracking context, URL rewrite callbacks, and `excludedPlacementTypes`.
|
|
297
|
+
* @param options - Optional request options including tracking context, URL rewrite callbacks, `params`, and `excludedPlacementTypes`.
|
|
292
298
|
* @returns Array of enriched placements for the article page context, fallback posters (if configured) on API failure, or `[]` otherwise.
|
|
293
299
|
*/
|
|
294
|
-
getArticlePagePlacements(options?: SpsContextPlacementsOptions<PlacementType>): Promise<(Poster<PlacementType> & {
|
|
300
|
+
getArticlePagePlacements<P extends SpsParams = SpsParams>(options?: SpsContextPlacementsOptions<PlacementType, P>): Promise<(Poster<PlacementType> & {
|
|
295
301
|
type: PlacementType;
|
|
296
302
|
})[]>;
|
|
297
303
|
private enrichContextPlacements;
|
|
@@ -302,19 +308,19 @@ export declare class SPS {
|
|
|
302
308
|
*
|
|
303
309
|
* Returns values compatible with {@link SPS.getPosterByDecision}.
|
|
304
310
|
*
|
|
305
|
-
* @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side, and/or `excludedPlacementTypes`.
|
|
311
|
+
* @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side, and/or `params`/`excludedPlacementTypes`.
|
|
306
312
|
* @returns Array of decisions for the frontpage context, or `[]` on error.
|
|
307
313
|
*/
|
|
308
|
-
getFrontpageDecisions(options?: SpsContextDecisionsOptions): Promise<Decision<PlacementType>[]>;
|
|
314
|
+
getFrontpageDecisions<P extends SpsParams = SpsParams>(options?: SpsContextDecisionsOptions<P>): Promise<Decision<PlacementType>[]>;
|
|
309
315
|
/**
|
|
310
316
|
* Fetches decisions (content keys + segment names) for the article page context.
|
|
311
317
|
* Works in both browser and server environments.
|
|
312
318
|
*
|
|
313
319
|
* Returns values compatible with {@link SPS.getPosterByDecision}.
|
|
314
320
|
*
|
|
315
|
-
* @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side, and/or `excludedPlacementTypes`.
|
|
321
|
+
* @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side, and/or `params`/`excludedPlacementTypes`.
|
|
316
322
|
* @returns Array of decisions for the article page context, or `[]` on error.
|
|
317
323
|
*/
|
|
318
|
-
getArticlePageDecisions(options?: SpsContextDecisionsOptions): Promise<Decision<PlacementType>[]>;
|
|
324
|
+
getArticlePageDecisions<P extends SpsParams = SpsParams>(options?: SpsContextDecisionsOptions<P>): Promise<Decision<PlacementType>[]>;
|
|
319
325
|
}
|
|
320
326
|
export {};
|
package/dist/cjs/sps.js
CHANGED
|
@@ -203,12 +203,12 @@ class SPS {
|
|
|
203
203
|
* Applies the same post-processing as {@link SPS.getPoster}: rewrites login/redirect
|
|
204
204
|
* placeholder variables and appends tracking search params to links.
|
|
205
205
|
*
|
|
206
|
-
* @param options - Optional request options including tracking context, URL rewrite callbacks, and `excludedPlacementTypes`.
|
|
206
|
+
* @param options - Optional request options including tracking context, URL rewrite callbacks, `params`, and `excludedPlacementTypes`.
|
|
207
207
|
* @returns Array of enriched placements for the frontpage context, fallback posters (if configured) on API failure, or `[]` otherwise.
|
|
208
208
|
*/
|
|
209
209
|
async getFrontpagePlacements(options = {}) {
|
|
210
210
|
await this.validateClientEnvironment();
|
|
211
|
-
const result = await (0, apiClient_1.fetchPlacementsByContext)(this.publication, "frontpage", this.endpoint, undefined, options.excludedPlacementTypes, options.timeoutMs);
|
|
211
|
+
const result = await (0, apiClient_1.fetchPlacementsByContext)(this.publication, "frontpage", this.endpoint, options.params, undefined, options.excludedPlacementTypes, options.timeoutMs);
|
|
212
212
|
if (!result) {
|
|
213
213
|
return options.fallbackPosters ? this.enrichFallbackPosters(options) : [];
|
|
214
214
|
}
|
|
@@ -221,12 +221,12 @@ class SPS {
|
|
|
221
221
|
* Applies the same post-processing as {@link SPS.getPoster}: rewrites login/redirect
|
|
222
222
|
* placeholder variables and appends tracking search params to links.
|
|
223
223
|
*
|
|
224
|
-
* @param options - Optional request options including tracking context, URL rewrite callbacks, and `excludedPlacementTypes`.
|
|
224
|
+
* @param options - Optional request options including tracking context, URL rewrite callbacks, `params`, and `excludedPlacementTypes`.
|
|
225
225
|
* @returns Array of enriched placements for the article page context, fallback posters (if configured) on API failure, or `[]` otherwise.
|
|
226
226
|
*/
|
|
227
227
|
async getArticlePagePlacements(options = {}) {
|
|
228
228
|
await this.validateClientEnvironment();
|
|
229
|
-
const result = await (0, apiClient_1.fetchPlacementsByContext)(this.publication, "article", this.endpoint, undefined, options.excludedPlacementTypes, options.timeoutMs);
|
|
229
|
+
const result = await (0, apiClient_1.fetchPlacementsByContext)(this.publication, "article", this.endpoint, options.params, undefined, options.excludedPlacementTypes, options.timeoutMs);
|
|
230
230
|
if (!result) {
|
|
231
231
|
return options.fallbackPosters ? this.enrichFallbackPosters(options) : [];
|
|
232
232
|
}
|
|
@@ -235,6 +235,10 @@ class SPS {
|
|
|
235
235
|
async enrichContextPlacements(placements, options) {
|
|
236
236
|
return Promise.all(placements.map(async (placement) => {
|
|
237
237
|
const enriched = await this.enrichPosterResponse(placement, placement.placementType, options, undefined, {
|
|
238
|
+
articleType: options.params?.articleType,
|
|
239
|
+
posterType: options.params?.posterType,
|
|
240
|
+
section: options.params?.section,
|
|
241
|
+
tags: options.params?.tags,
|
|
238
242
|
segmentNames: placement.segmentNames,
|
|
239
243
|
});
|
|
240
244
|
return { ...enriched, type: placement.placementType };
|
|
@@ -246,6 +250,10 @@ class SPS {
|
|
|
246
250
|
.filter(([, poster]) => poster !== undefined)
|
|
247
251
|
.map(async ([placementType, poster]) => {
|
|
248
252
|
const enriched = await this.enrichPosterResponse(poster, placementType, options, undefined, {
|
|
253
|
+
articleType: options.params?.articleType,
|
|
254
|
+
posterType: options.params?.posterType,
|
|
255
|
+
section: options.params?.section,
|
|
256
|
+
tags: options.params?.tags,
|
|
249
257
|
failReason: "fallbackPoster - context API call failed",
|
|
250
258
|
segmentNames: poster.segmentNames ?? [],
|
|
251
259
|
});
|
|
@@ -258,11 +266,11 @@ class SPS {
|
|
|
258
266
|
*
|
|
259
267
|
* Returns values compatible with {@link SPS.getPosterByDecision}.
|
|
260
268
|
*
|
|
261
|
-
* @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side, and/or `excludedPlacementTypes`.
|
|
269
|
+
* @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side, and/or `params`/`excludedPlacementTypes`.
|
|
262
270
|
* @returns Array of decisions for the frontpage context, or `[]` on error.
|
|
263
271
|
*/
|
|
264
272
|
async getFrontpageDecisions(options = {}) {
|
|
265
|
-
const { placements } = await (0, apiClient_1.fetchDecisionsByContext)(this.publication, "frontpage", this.endpoint, options.cookies, options.excludedPlacementTypes);
|
|
273
|
+
const { placements } = await (0, apiClient_1.fetchDecisionsByContext)(this.publication, "frontpage", this.endpoint, options.params, options.cookies, options.excludedPlacementTypes);
|
|
266
274
|
return placements.map((d) => ({
|
|
267
275
|
placementType: d.placementType,
|
|
268
276
|
contentKey: d.contentKey,
|
|
@@ -275,11 +283,11 @@ class SPS {
|
|
|
275
283
|
*
|
|
276
284
|
* Returns values compatible with {@link SPS.getPosterByDecision}.
|
|
277
285
|
*
|
|
278
|
-
* @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side, and/or `excludedPlacementTypes`.
|
|
286
|
+
* @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side, and/or `params`/`excludedPlacementTypes`.
|
|
279
287
|
* @returns Array of decisions for the article page context, or `[]` on error.
|
|
280
288
|
*/
|
|
281
289
|
async getArticlePageDecisions(options = {}) {
|
|
282
|
-
const { placements } = await (0, apiClient_1.fetchDecisionsByContext)(this.publication, "article", this.endpoint, options.cookies, options.excludedPlacementTypes);
|
|
290
|
+
const { placements } = await (0, apiClient_1.fetchDecisionsByContext)(this.publication, "article", this.endpoint, options.params, options.cookies, options.excludedPlacementTypes);
|
|
283
291
|
return placements.map((d) => ({
|
|
284
292
|
placementType: d.placementType,
|
|
285
293
|
contentKey: d.contentKey,
|
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,2CAQqB;AAOrB,+CAAgF;AAChF,+CAAyD;
|
|
1
|
+
{"version":3,"file":"sps.js","sourceRoot":"","sources":["../../src/sps.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/apiClient.d.ts
CHANGED
|
@@ -113,11 +113,12 @@ export type ApiDecision = {
|
|
|
113
113
|
* @param publication - The SPS publication identifier.
|
|
114
114
|
* @param context - The page context: `"frontpage"` or `"article"`.
|
|
115
115
|
* @param endpoint - The SPS API base endpoint URL.
|
|
116
|
+
* @param params - Optional query params forwarded to the SPS API for the whole request.
|
|
116
117
|
* @param cookies - Optional cookie string forwarded as the `Cookie` request header.
|
|
117
118
|
* @param excludedPlacementTypes - Optional placement types to exclude from the result.
|
|
118
119
|
* @returns An object with a `placements` array, or `null` on error.
|
|
119
120
|
*/
|
|
120
|
-
export declare const fetchPlacementsByContext: (publication: string, context: "frontpage" | "article", endpoint: string, cookies?: string, excludedPlacementTypes?: PlacementType[], timeoutMs?: number) => Promise<{
|
|
121
|
+
export declare const fetchPlacementsByContext: (publication: string, context: "frontpage" | "article", endpoint: string, params?: SpsParams, cookies?: string, excludedPlacementTypes?: PlacementType[], timeoutMs?: number) => Promise<{
|
|
121
122
|
placements: SPSPosterResponseWithPlacementType[];
|
|
122
123
|
} | null>;
|
|
123
124
|
/**
|
|
@@ -126,10 +127,11 @@ export declare const fetchPlacementsByContext: (publication: string, context: "f
|
|
|
126
127
|
* @param publication - The SPS publication identifier.
|
|
127
128
|
* @param context - The page context: `"frontpage"` or `"article"`.
|
|
128
129
|
* @param endpoint - The SPS API base endpoint URL.
|
|
130
|
+
* @param params - Optional query params forwarded to the SPS API for the whole request.
|
|
129
131
|
* @param cookies - Optional cookie string forwarded as the `Cookie` request header.
|
|
130
132
|
* @param excludedPlacementTypes - Optional placement types to exclude from the result.
|
|
131
133
|
* @returns An object with a `placements` array, or `{ placements: [] }` on error.
|
|
132
134
|
*/
|
|
133
|
-
export declare const fetchDecisionsByContext: (publication: string, context: "frontpage" | "article", endpoint: string, cookies?: string, excludedPlacementTypes?: PlacementType[]) => Promise<{
|
|
135
|
+
export declare const fetchDecisionsByContext: (publication: string, context: "frontpage" | "article", endpoint: string, params?: SpsParams, cookies?: string, excludedPlacementTypes?: PlacementType[]) => Promise<{
|
|
134
136
|
placements: ApiDecision[];
|
|
135
137
|
}>;
|
package/dist/esm/apiClient.js
CHANGED
|
@@ -102,16 +102,22 @@ export const fetchDecision = async (url, params, userJwtToken, cookie) => {
|
|
|
102
102
|
* @param publication - The SPS publication identifier.
|
|
103
103
|
* @param context - The page context: `"frontpage"` or `"article"`.
|
|
104
104
|
* @param endpoint - The SPS API base endpoint URL.
|
|
105
|
+
* @param params - Optional query params forwarded to the SPS API for the whole request.
|
|
105
106
|
* @param cookies - Optional cookie string forwarded as the `Cookie` request header.
|
|
106
107
|
* @param excludedPlacementTypes - Optional placement types to exclude from the result.
|
|
107
108
|
* @returns An object with a `placements` array, or `null` on error.
|
|
108
109
|
*/
|
|
109
|
-
export const fetchPlacementsByContext = async (publication, context, endpoint, cookies, excludedPlacementTypes, timeoutMs) => {
|
|
110
|
+
export const fetchPlacementsByContext = async (publication, context, endpoint, params, cookies, excludedPlacementTypes, timeoutMs) => {
|
|
110
111
|
try {
|
|
111
112
|
const url = new URL(`${endpoint}/${publication}/placements/${context}`);
|
|
112
113
|
excludedPlacementTypes?.forEach((placementType) => {
|
|
113
114
|
url.searchParams.append("excludedPlacementTypes[]", placementType);
|
|
114
115
|
});
|
|
116
|
+
if (params) {
|
|
117
|
+
convertParamsToQueryParams(params).forEach((value, key) => {
|
|
118
|
+
url.searchParams.append(key, value);
|
|
119
|
+
});
|
|
120
|
+
}
|
|
115
121
|
const signal = timeoutMs !== undefined ? AbortSignal.timeout(timeoutMs) : undefined;
|
|
116
122
|
const response = await fetch(url.toString(), {
|
|
117
123
|
credentials: "include",
|
|
@@ -135,16 +141,22 @@ export const fetchPlacementsByContext = async (publication, context, endpoint, c
|
|
|
135
141
|
* @param publication - The SPS publication identifier.
|
|
136
142
|
* @param context - The page context: `"frontpage"` or `"article"`.
|
|
137
143
|
* @param endpoint - The SPS API base endpoint URL.
|
|
144
|
+
* @param params - Optional query params forwarded to the SPS API for the whole request.
|
|
138
145
|
* @param cookies - Optional cookie string forwarded as the `Cookie` request header.
|
|
139
146
|
* @param excludedPlacementTypes - Optional placement types to exclude from the result.
|
|
140
147
|
* @returns An object with a `placements` array, or `{ placements: [] }` on error.
|
|
141
148
|
*/
|
|
142
|
-
export const fetchDecisionsByContext = async (publication, context, endpoint, cookies, excludedPlacementTypes) => {
|
|
149
|
+
export const fetchDecisionsByContext = async (publication, context, endpoint, params, cookies, excludedPlacementTypes) => {
|
|
143
150
|
try {
|
|
144
151
|
const url = new URL(`${endpoint}/${publication}/placements/${context}/decision`);
|
|
145
152
|
excludedPlacementTypes?.forEach((placementType) => {
|
|
146
153
|
url.searchParams.append("excludedPlacementTypes[]", placementType);
|
|
147
154
|
});
|
|
155
|
+
if (params) {
|
|
156
|
+
convertParamsToQueryParams(params).forEach((value, key) => {
|
|
157
|
+
url.searchParams.append(key, value);
|
|
158
|
+
});
|
|
159
|
+
}
|
|
148
160
|
const response = await fetch(url.toString(), {
|
|
149
161
|
credentials: "include",
|
|
150
162
|
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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"}
|
|
@@ -4,20 +4,33 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export declare enum SpsPublication {
|
|
6
6
|
AB = "ab",
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
AB_APP = "abapp",
|
|
8
|
+
AB_TV = "abtv",
|
|
9
|
+
AP = "aftenposten",
|
|
10
|
+
AP_APP = "aftenpostenapp",
|
|
11
11
|
BT = "bt",
|
|
12
|
-
|
|
12
|
+
BT_APP = "btapp",
|
|
13
13
|
DP = "dp",
|
|
14
14
|
E24 = "e24",
|
|
15
|
-
|
|
15
|
+
E24_APP = "e24app",
|
|
16
|
+
MINMOTE = "minmote",
|
|
17
|
+
OMNI = "omni",
|
|
16
18
|
SA = "sa",
|
|
17
|
-
|
|
19
|
+
SA_APP = "saapp",
|
|
18
20
|
SVD = "svd",
|
|
21
|
+
SVD_APP = "svdapp",
|
|
19
22
|
VEKTKLUBB = "vektklubb",
|
|
20
23
|
VG = "vg",
|
|
21
|
-
|
|
22
|
-
|
|
24
|
+
VG_APP = "vgapp",
|
|
25
|
+
VG_TV = "vgtv",
|
|
26
|
+
WELLOBE = "wellobe",
|
|
27
|
+
DYNAMIC_AFTONBLADET = "dynamicaftonbladet",
|
|
28
|
+
DYNAMIC_SVD = "dynamicsvd",
|
|
29
|
+
DYNAMIC_VG = "dynamicvg",
|
|
30
|
+
DYNAMIC_VG_APP = "dynamicvgapp",
|
|
31
|
+
BEDRIFT = "bedrift",
|
|
32
|
+
FULLTILGANG = "fulltilgang",
|
|
33
|
+
NO_CONSENT_OR_PAY = "no-consent-or-pay",
|
|
34
|
+
SE_CONSENT_OR_PAY = "se-consent-or-pay",
|
|
35
|
+
SUPERPAKETET = "superpaketet"
|
|
23
36
|
}
|
|
@@ -5,21 +5,34 @@
|
|
|
5
5
|
export var SpsPublication;
|
|
6
6
|
(function (SpsPublication) {
|
|
7
7
|
SpsPublication["AB"] = "ab";
|
|
8
|
-
SpsPublication["
|
|
9
|
-
SpsPublication["
|
|
10
|
-
SpsPublication["
|
|
11
|
-
SpsPublication["
|
|
8
|
+
SpsPublication["AB_APP"] = "abapp";
|
|
9
|
+
SpsPublication["AB_TV"] = "abtv";
|
|
10
|
+
SpsPublication["AP"] = "aftenposten";
|
|
11
|
+
SpsPublication["AP_APP"] = "aftenpostenapp";
|
|
12
12
|
SpsPublication["BT"] = "bt";
|
|
13
|
-
SpsPublication["
|
|
13
|
+
SpsPublication["BT_APP"] = "btapp";
|
|
14
14
|
SpsPublication["DP"] = "dp";
|
|
15
15
|
SpsPublication["E24"] = "e24";
|
|
16
|
-
SpsPublication["
|
|
16
|
+
SpsPublication["E24_APP"] = "e24app";
|
|
17
|
+
SpsPublication["MINMOTE"] = "minmote";
|
|
18
|
+
SpsPublication["OMNI"] = "omni";
|
|
17
19
|
SpsPublication["SA"] = "sa";
|
|
18
|
-
SpsPublication["
|
|
20
|
+
SpsPublication["SA_APP"] = "saapp";
|
|
19
21
|
SpsPublication["SVD"] = "svd";
|
|
22
|
+
SpsPublication["SVD_APP"] = "svdapp";
|
|
20
23
|
SpsPublication["VEKTKLUBB"] = "vektklubb";
|
|
21
24
|
SpsPublication["VG"] = "vg";
|
|
22
|
-
SpsPublication["
|
|
25
|
+
SpsPublication["VG_APP"] = "vgapp";
|
|
26
|
+
SpsPublication["VG_TV"] = "vgtv";
|
|
23
27
|
SpsPublication["WELLOBE"] = "wellobe";
|
|
28
|
+
SpsPublication["DYNAMIC_AFTONBLADET"] = "dynamicaftonbladet";
|
|
29
|
+
SpsPublication["DYNAMIC_SVD"] = "dynamicsvd";
|
|
30
|
+
SpsPublication["DYNAMIC_VG"] = "dynamicvg";
|
|
31
|
+
SpsPublication["DYNAMIC_VG_APP"] = "dynamicvgapp";
|
|
32
|
+
SpsPublication["BEDRIFT"] = "bedrift";
|
|
33
|
+
SpsPublication["FULLTILGANG"] = "fulltilgang";
|
|
34
|
+
SpsPublication["NO_CONSENT_OR_PAY"] = "no-consent-or-pay";
|
|
35
|
+
SpsPublication["SE_CONSENT_OR_PAY"] = "se-consent-or-pay";
|
|
36
|
+
SpsPublication["SUPERPAKETET"] = "superpaketet";
|
|
24
37
|
})(SpsPublication || (SpsPublication = {}));
|
|
25
38
|
//# sourceMappingURL=publication.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publication.js","sourceRoot":"","sources":["../../../src/sps/publication.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"publication.js","sourceRoot":"","sources":["../../../src/sps/publication.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAN,IAAY,cAiCX;AAjCD,WAAY,cAAc;IACxB,2BAAS,CAAA;IACT,kCAAgB,CAAA;IAChB,gCAAc,CAAA;IACd,oCAAkB,CAAA;IAClB,2CAAyB,CAAA;IACzB,2BAAS,CAAA;IACT,kCAAgB,CAAA;IAChB,2BAAS,CAAA;IACT,6BAAW,CAAA;IACX,oCAAkB,CAAA;IAClB,qCAAmB,CAAA;IACnB,+BAAa,CAAA;IACb,2BAAS,CAAA;IACT,kCAAgB,CAAA;IAChB,6BAAW,CAAA;IACX,oCAAkB,CAAA;IAClB,yCAAuB,CAAA;IACvB,2BAAS,CAAA;IACT,kCAAgB,CAAA;IAChB,gCAAc,CAAA;IACd,qCAAmB,CAAA;IAEnB,4DAA0C,CAAA;IAC1C,4CAA0B,CAAA;IAC1B,0CAAwB,CAAA;IACxB,iDAA+B,CAAA;IAE/B,qCAAmB,CAAA;IACnB,6CAA2B,CAAA;IAC3B,yDAAuC,CAAA;IACvC,yDAAuC,CAAA;IACvC,+CAA6B,CAAA;AAC/B,CAAC,EAjCW,cAAc,KAAd,cAAc,QAiCzB"}
|
package/dist/esm/sps.d.ts
CHANGED
|
@@ -91,8 +91,11 @@ export type SpsRequestOptions<T extends PlacementType> = {
|
|
|
91
91
|
/**
|
|
92
92
|
* Options for {@link SPS.getFrontpagePlacements} and {@link SPS.getArticlePagePlacements}.
|
|
93
93
|
* @typeParam T - The placement type
|
|
94
|
+
* @typeParam P - The params shape sent to SPS for this request
|
|
94
95
|
*/
|
|
95
|
-
export type SpsContextPlacementsOptions<T extends PlacementType> = Omit<SpsRequestOptions<T>, "fallbackPoster" | "showFallbackPosterOnNoContent"> & {
|
|
96
|
+
export type SpsContextPlacementsOptions<T extends PlacementType, P extends SpsParams = SpsParams> = Omit<SpsRequestOptions<T>, "fallbackPoster" | "showFallbackPosterOnNoContent"> & {
|
|
97
|
+
/** Query params forwarded to the SPS API for the whole request. */
|
|
98
|
+
params?: P;
|
|
96
99
|
/** Placement types to exclude from the priority-ordered result. */
|
|
97
100
|
excludedPlacementTypes?: PlacementType[];
|
|
98
101
|
/**
|
|
@@ -111,8 +114,11 @@ export type FallbackPostersMap = {
|
|
|
111
114
|
};
|
|
112
115
|
/**
|
|
113
116
|
* Options for {@link SPS.getFrontpageDecisions} and {@link SPS.getArticlePageDecisions}.
|
|
117
|
+
* @typeParam P - The params shape sent to SPS for this request
|
|
114
118
|
*/
|
|
115
|
-
export type SpsContextDecisionsOptions = {
|
|
119
|
+
export type SpsContextDecisionsOptions<P extends SpsParams = SpsParams> = {
|
|
120
|
+
/** Query params forwarded to the SPS API for the whole request. */
|
|
121
|
+
params?: P;
|
|
116
122
|
/** Pass `req.headers.cookie` when calling server-side. */
|
|
117
123
|
cookies?: string;
|
|
118
124
|
/** Placement types to exclude from the priority-ordered result. */
|
|
@@ -275,10 +281,10 @@ export declare class SPS {
|
|
|
275
281
|
* Applies the same post-processing as {@link SPS.getPoster}: rewrites login/redirect
|
|
276
282
|
* placeholder variables and appends tracking search params to links.
|
|
277
283
|
*
|
|
278
|
-
* @param options - Optional request options including tracking context, URL rewrite callbacks, and `excludedPlacementTypes`.
|
|
284
|
+
* @param options - Optional request options including tracking context, URL rewrite callbacks, `params`, and `excludedPlacementTypes`.
|
|
279
285
|
* @returns Array of enriched placements for the frontpage context, fallback posters (if configured) on API failure, or `[]` otherwise.
|
|
280
286
|
*/
|
|
281
|
-
getFrontpagePlacements(options?: SpsContextPlacementsOptions<PlacementType>): Promise<(Poster<PlacementType> & {
|
|
287
|
+
getFrontpagePlacements<P extends SpsParams = SpsParams>(options?: SpsContextPlacementsOptions<PlacementType, P>): Promise<(Poster<PlacementType> & {
|
|
282
288
|
type: PlacementType;
|
|
283
289
|
})[]>;
|
|
284
290
|
/**
|
|
@@ -288,10 +294,10 @@ export declare class SPS {
|
|
|
288
294
|
* Applies the same post-processing as {@link SPS.getPoster}: rewrites login/redirect
|
|
289
295
|
* placeholder variables and appends tracking search params to links.
|
|
290
296
|
*
|
|
291
|
-
* @param options - Optional request options including tracking context, URL rewrite callbacks, and `excludedPlacementTypes`.
|
|
297
|
+
* @param options - Optional request options including tracking context, URL rewrite callbacks, `params`, and `excludedPlacementTypes`.
|
|
292
298
|
* @returns Array of enriched placements for the article page context, fallback posters (if configured) on API failure, or `[]` otherwise.
|
|
293
299
|
*/
|
|
294
|
-
getArticlePagePlacements(options?: SpsContextPlacementsOptions<PlacementType>): Promise<(Poster<PlacementType> & {
|
|
300
|
+
getArticlePagePlacements<P extends SpsParams = SpsParams>(options?: SpsContextPlacementsOptions<PlacementType, P>): Promise<(Poster<PlacementType> & {
|
|
295
301
|
type: PlacementType;
|
|
296
302
|
})[]>;
|
|
297
303
|
private enrichContextPlacements;
|
|
@@ -302,19 +308,19 @@ export declare class SPS {
|
|
|
302
308
|
*
|
|
303
309
|
* Returns values compatible with {@link SPS.getPosterByDecision}.
|
|
304
310
|
*
|
|
305
|
-
* @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side, and/or `excludedPlacementTypes`.
|
|
311
|
+
* @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side, and/or `params`/`excludedPlacementTypes`.
|
|
306
312
|
* @returns Array of decisions for the frontpage context, or `[]` on error.
|
|
307
313
|
*/
|
|
308
|
-
getFrontpageDecisions(options?: SpsContextDecisionsOptions): Promise<Decision<PlacementType>[]>;
|
|
314
|
+
getFrontpageDecisions<P extends SpsParams = SpsParams>(options?: SpsContextDecisionsOptions<P>): Promise<Decision<PlacementType>[]>;
|
|
309
315
|
/**
|
|
310
316
|
* Fetches decisions (content keys + segment names) for the article page context.
|
|
311
317
|
* Works in both browser and server environments.
|
|
312
318
|
*
|
|
313
319
|
* Returns values compatible with {@link SPS.getPosterByDecision}.
|
|
314
320
|
*
|
|
315
|
-
* @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side, and/or `excludedPlacementTypes`.
|
|
321
|
+
* @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side, and/or `params`/`excludedPlacementTypes`.
|
|
316
322
|
* @returns Array of decisions for the article page context, or `[]` on error.
|
|
317
323
|
*/
|
|
318
|
-
getArticlePageDecisions(options?: SpsContextDecisionsOptions): Promise<Decision<PlacementType>[]>;
|
|
324
|
+
getArticlePageDecisions<P extends SpsParams = SpsParams>(options?: SpsContextDecisionsOptions<P>): Promise<Decision<PlacementType>[]>;
|
|
319
325
|
}
|
|
320
326
|
export {};
|
package/dist/esm/sps.js
CHANGED
|
@@ -201,12 +201,12 @@ export class SPS {
|
|
|
201
201
|
* Applies the same post-processing as {@link SPS.getPoster}: rewrites login/redirect
|
|
202
202
|
* placeholder variables and appends tracking search params to links.
|
|
203
203
|
*
|
|
204
|
-
* @param options - Optional request options including tracking context, URL rewrite callbacks, and `excludedPlacementTypes`.
|
|
204
|
+
* @param options - Optional request options including tracking context, URL rewrite callbacks, `params`, and `excludedPlacementTypes`.
|
|
205
205
|
* @returns Array of enriched placements for the frontpage context, fallback posters (if configured) on API failure, or `[]` otherwise.
|
|
206
206
|
*/
|
|
207
207
|
async getFrontpagePlacements(options = {}) {
|
|
208
208
|
await this.validateClientEnvironment();
|
|
209
|
-
const result = await fetchPlacementsByContext(this.publication, "frontpage", this.endpoint, undefined, options.excludedPlacementTypes, options.timeoutMs);
|
|
209
|
+
const result = await fetchPlacementsByContext(this.publication, "frontpage", this.endpoint, options.params, undefined, options.excludedPlacementTypes, options.timeoutMs);
|
|
210
210
|
if (!result) {
|
|
211
211
|
return options.fallbackPosters ? this.enrichFallbackPosters(options) : [];
|
|
212
212
|
}
|
|
@@ -219,12 +219,12 @@ export class SPS {
|
|
|
219
219
|
* Applies the same post-processing as {@link SPS.getPoster}: rewrites login/redirect
|
|
220
220
|
* placeholder variables and appends tracking search params to links.
|
|
221
221
|
*
|
|
222
|
-
* @param options - Optional request options including tracking context, URL rewrite callbacks, and `excludedPlacementTypes`.
|
|
222
|
+
* @param options - Optional request options including tracking context, URL rewrite callbacks, `params`, and `excludedPlacementTypes`.
|
|
223
223
|
* @returns Array of enriched placements for the article page context, fallback posters (if configured) on API failure, or `[]` otherwise.
|
|
224
224
|
*/
|
|
225
225
|
async getArticlePagePlacements(options = {}) {
|
|
226
226
|
await this.validateClientEnvironment();
|
|
227
|
-
const result = await fetchPlacementsByContext(this.publication, "article", this.endpoint, undefined, options.excludedPlacementTypes, options.timeoutMs);
|
|
227
|
+
const result = await fetchPlacementsByContext(this.publication, "article", this.endpoint, options.params, undefined, options.excludedPlacementTypes, options.timeoutMs);
|
|
228
228
|
if (!result) {
|
|
229
229
|
return options.fallbackPosters ? this.enrichFallbackPosters(options) : [];
|
|
230
230
|
}
|
|
@@ -233,6 +233,10 @@ export class SPS {
|
|
|
233
233
|
async enrichContextPlacements(placements, options) {
|
|
234
234
|
return Promise.all(placements.map(async (placement) => {
|
|
235
235
|
const enriched = await this.enrichPosterResponse(placement, placement.placementType, options, undefined, {
|
|
236
|
+
articleType: options.params?.articleType,
|
|
237
|
+
posterType: options.params?.posterType,
|
|
238
|
+
section: options.params?.section,
|
|
239
|
+
tags: options.params?.tags,
|
|
236
240
|
segmentNames: placement.segmentNames,
|
|
237
241
|
});
|
|
238
242
|
return { ...enriched, type: placement.placementType };
|
|
@@ -244,6 +248,10 @@ export class SPS {
|
|
|
244
248
|
.filter(([, poster]) => poster !== undefined)
|
|
245
249
|
.map(async ([placementType, poster]) => {
|
|
246
250
|
const enriched = await this.enrichPosterResponse(poster, placementType, options, undefined, {
|
|
251
|
+
articleType: options.params?.articleType,
|
|
252
|
+
posterType: options.params?.posterType,
|
|
253
|
+
section: options.params?.section,
|
|
254
|
+
tags: options.params?.tags,
|
|
247
255
|
failReason: "fallbackPoster - context API call failed",
|
|
248
256
|
segmentNames: poster.segmentNames ?? [],
|
|
249
257
|
});
|
|
@@ -256,11 +264,11 @@ export class SPS {
|
|
|
256
264
|
*
|
|
257
265
|
* Returns values compatible with {@link SPS.getPosterByDecision}.
|
|
258
266
|
*
|
|
259
|
-
* @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side, and/or `excludedPlacementTypes`.
|
|
267
|
+
* @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side, and/or `params`/`excludedPlacementTypes`.
|
|
260
268
|
* @returns Array of decisions for the frontpage context, or `[]` on error.
|
|
261
269
|
*/
|
|
262
270
|
async getFrontpageDecisions(options = {}) {
|
|
263
|
-
const { placements } = await fetchDecisionsByContext(this.publication, "frontpage", this.endpoint, options.cookies, options.excludedPlacementTypes);
|
|
271
|
+
const { placements } = await fetchDecisionsByContext(this.publication, "frontpage", this.endpoint, options.params, options.cookies, options.excludedPlacementTypes);
|
|
264
272
|
return placements.map((d) => ({
|
|
265
273
|
placementType: d.placementType,
|
|
266
274
|
contentKey: d.contentKey,
|
|
@@ -273,11 +281,11 @@ export class SPS {
|
|
|
273
281
|
*
|
|
274
282
|
* Returns values compatible with {@link SPS.getPosterByDecision}.
|
|
275
283
|
*
|
|
276
|
-
* @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side, and/or `excludedPlacementTypes`.
|
|
284
|
+
* @param options - Optional. Pass `cookies: req.headers.cookie` when calling server-side, and/or `params`/`excludedPlacementTypes`.
|
|
277
285
|
* @returns Array of decisions for the article page context, or `[]` on error.
|
|
278
286
|
*/
|
|
279
287
|
async getArticlePageDecisions(options = {}) {
|
|
280
|
-
const { placements } = await fetchDecisionsByContext(this.publication, "article", this.endpoint, options.cookies, options.excludedPlacementTypes);
|
|
288
|
+
const { placements } = await fetchDecisionsByContext(this.publication, "article", this.endpoint, options.params, options.cookies, options.excludedPlacementTypes);
|
|
281
289
|
return placements.map((d) => ({
|
|
282
290
|
placementType: d.placementType,
|
|
283
291
|
contentKey: d.contentKey,
|
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,EACL,aAAa,EACb,uBAAuB,EACvB,wBAAwB,EACxB,WAAW,GAIZ,MAAM,aAAa,CAAC;AAOrB,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;
|
|
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
|
|
1
|
+
"use strict";var SpsPulseHelpersBundle=(()=>{var F=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&&F(e,n,{get:()=>t[n],enumerable:!(s=te(t,n))||s.enumerable});return e};var ae=e=>se(F({},"__esModule",{value:!0}),e);var ye={};var y="pulse-tracker-proxy",oe=`${y}:request`,he=`${y}:ack`,j=`${y}:invoke`,W=`${y}:return`,v=`${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 C(e){return e!==null&&typeof e=="object"&&"type"in e&&typeof e.type=="string"&&e.type.startsWith(y)}function _(e,{target:t,timeout:r,debug:s=()=>{}}){return new Promise((n,c)=>{let o=new MessageChannel,p=r?setTimeout(()=>{o.port1.close(),c(new Error(`Message of type ${e.type} timed out`))},r):void 0,i=a=>{if(s("[Pulse Tracker Proxy] Received the response on the MessageChannel",a),!C(a.data)){s("[Pulse Tracker Proxy] Response was not a valid Proxy Message",a.data);return}a.data.type===v&&(s("[Pulse Tracker Proxy] Received an return error response",a.data.error),clearTimeout(p),o.port1.close(),c(new Error(a.data.error))),s("[Pulse Tracker Proxy] Received a valid response",a.data),clearTimeout(p),o.port1.close(),n(a.data)};o.port1.onmessage=i,s("[Pulse Tracker Proxy] Sending message to target window",e),t.postMessage(e,"*",[o.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 L(e,t,r){let s="provider"in e&&typeof e.provider=="object"?e.provider:{};return{...e,provider:{...s,component:t,componentVersion:r}}}var R=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),o=L(c,this.component,this.componentVersion),p=[r,o,...n];return this.invoke({method:"track",args:p})}async invoke(t){this.debug("[Pulse Tracker Proxy] Invoking remote function",t);let r=await _({type:j,payload:t},{target:this.target});if(!C(r))throw this.debug("[Pulse Tracker Proxy] Invalid response from proxy",r),new Error("Invalid response from proxy");if(r.type===v)throw this.debug("[Pulse Tracker Proxy] Error response from proxy",r.error),new Error(r.error);if(r.type===W)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),o=[L(n,this.component,this.componentVersion),...s];return this.invoke({method:e,args:o})}]));function ce(){return class extends R{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",H=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 B=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 w=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:o,placementType:p,experiment:i,legacy:a,contentName:l,pulseEvents:m}=t,d=400,T="",h=0;function f(g){var E,k,x,$,M;try{let S=g.target,P=(E=S==null?void 0:S.closest)==null?void 0:E.call(S,"a");if(!P)return;let b=P.textContent||P.getAttribute("href")||`${p} button`,V=`a|${b}`,N=Date.now();if(V===T&&N-h<d)return;T=V,h=N;let O=H(P),ee=O==="Purchase"?B(P):[];m.tpaas&&e.trackEngagementOffer({placement:{containerName:"page",offerPlacement:p},object:{objectId:s,objectSdrn:r,campaign:n,name:l,offerCodes:ee,offerType:w(c)},...i?{experiments:[{experimentSdrn:`${r}:experiment:${u(i)}`,name:i,platform:"SPS",variant:o||""}]}:{},engagement:{action:"Click",elementName:b},page:{},provider:{stage:"Test"},target:{info:{url:(k=P.getAttribute("href"))!=null?k:""}}}),m.legacy&&e.trackLegacyClickUIElement({object:{id:u(b),elementType:"Button",name:b,containerName:"Page",custom:{...a==null?void 0:a.offerData}},...a?{origin:a.pulseOrigin}:{},target:{url:(M=($=(x=P.getAttribute("href"))==null?void 0:x.split("?"))==null?void 0:$[0])!=null?M:""},...O?{intent:O}:{},...i?{experiments:[{id:`experiment:${u(i)}`,name:i,platform:"SPS",variant:o}]}:{}})}catch{}}return document.addEventListener("click",f,!0),()=>document.removeEventListener("click",f,!0)}function Y(e,t,r,s,n){let{campaign:c,articleType:o,abTestGroup:p,placementType:i,experiment:a,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:w(o)},...a?{experiments:[{experimentSdrn:`${r}:experiment:${u(a)}`,name:a,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}},...a?{experiments:[{id:`${r}:experiment:${u(a)}`,name:a,platform:"SPS",variant:p}]}:{},...l?{origin:l.pulseOrigin}:{}})}async function z(e,t,r){let{placementType:s,legacy:n,pulseEvents:c}=t,o=window.location.pathname,i=`landingpage-${s==="campaignpage"?"CAMPAIGN":"STATIC"}-${A(o)}`.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 I={"sps-pulse-helpers":"2.2.0","pulse-tracker-proxy":"1.2.0"};var U=e=>e==="campaignpage"||e==="staticpage";var J=!1,Q=!1,X="script[data-sps-pulse-config='true']",u=e=>e.toLowerCase().replace(/ /g,"-").replace(/[^-a-z:0-9]/g,""),A=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"),J)return;J=!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=U(r)?A(window.location.pathname):u(n),o=`sdrn:${s}:element:offer:${r}:${c}`,p=crypto==null?void 0:crypto.randomUUID(),i=await t({component:"SPS-SDK",componentVersion:I["sps-pulse-helpers"]});K(i,e,o,p);let a=f=>{Q||(Q=!0,Y(i,e,o,p,f))};if(U(r)){await z(i,e,o),a("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],E=(x=g==null?void 0:g.intersectionRatio)!=null?x:0,k=(g==null?void 0:g.isIntersecting)&&E>=1/3;T&&(T=!1,d=k?"Above":"Below"),k&&(h.disconnect(),a(d))},{root:null,threshold:[0,1/3]});h.observe(l)}catch(t){console.warn("[SPS-Pulse-Helpers] boot failed",t)}}Z();return ae(ye);})();
|