@surfside/ads-core-mock 0.1.4 → 0.1.6

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/lib/cjs/index.js CHANGED
@@ -13,26 +13,32 @@ const Recommender_1 = require("./mock/Recommender");
13
13
  const runtime_1 = __importDefault(require("handlebars/runtime"));
14
14
  const mock_1 = require("./mock");
15
15
  const Dynamic_1 = require("./mock/Dynamic");
16
- const InitSurfAdsCoreMock = async (accountId, siteId, channelId, locationId, userId, logger) => {
16
+ const InitSurfAdsCoreMock = async (accountId, siteId, channelId, locationId, userId, logger, mockSponsoredProducts, mockRecommendedProducts, simulateNoResponse, simulateNetworkLatency) => {
17
17
  const windowInfo = (0, ads_core_client_1.GetValueOrThrow)((0, ads_core_client_1.GetWindowInfo)());
18
18
  const config = (0, ads_core_client_1.GetValueOrThrow)(await (0, Configuration_1.MockGetConfiguration)(logger));
19
- const buildBannerResponse = ads_core_client_1.BuildBannerResponse.bind(undefined, logger, windowInfo, config), buildVideoResponse = ads_core_client_1.BuildVideoResponse.bind(undefined, logger, windowInfo, config), buildAllSponsoredProductCardResponses = ads_core_client_1.BuildAllSponsoredProductCardResponses.bind(undefined, logger, Product_1.MockGetAllSponsoredProducts, windowInfo, config);
19
+ // Use fallback-aware product arrays
20
+ const sponsoredProducts = (0, Product_1.withFallbackProducts)(mockSponsoredProducts, Product_1.FallbackSponsoredProducts, 'sponsored', logger);
21
+ const recommendedProducts = (0, Product_1.withFallbackProducts)(mockRecommendedProducts, Product_1.FallbackRecommendedProducts, 'recommended', logger);
22
+ const getAllSponsoredProducts = (0, Product_1.MockGetAllSponsoredProductsFactory)(sponsoredProducts);
23
+ const buildBannerResponse = ads_core_client_1.BuildBannerResponse.bind(undefined, logger, windowInfo, config), buildVideoResponse = ads_core_client_1.BuildVideoResponse.bind(undefined, logger, windowInfo, config), buildAllSponsoredProductCardResponses = ads_core_client_1.BuildAllSponsoredProductCardResponses.bind(undefined, logger, getAllSponsoredProducts, windowInfo, config);
20
24
  const evaluateClickthroughTemplate = ads_core_client_1.EvaluateHandlebarsClickthroughTemplate.bind(undefined, logger, windowInfo, config);
21
25
  const evaluateProductCardTemplate = ads_core_client_1.EvaluateHandlebarsProductCardTemplate.bind(undefined, logger, windowInfo, config);
26
+ const getSponsoredProduct = Product_1.MockGetSponsoredProduct.bind(undefined, logger, accountId, sponsoredProducts);
27
+ const getRecommendedProduct = (0, Product_1.MockGetRecommendedProductFactory)(recommendedProducts);
22
28
  return (0, ads_core_client_1.InitSurfAdsCoreClientInternal)({
23
29
  logger,
24
- requestBids: mock_1.MockRequestBids.bind(undefined, logger, windowInfo),
30
+ requestBids: mock_1.MockRequestBids.bind(undefined, logger, windowInfo, simulateNetworkLatency ?? 0, simulateNoResponse ?? 0),
25
31
  getConfiguration: Configuration_1.MockGetConfiguration.bind(undefined, logger),
26
32
  getGeo: Geo_1.MockGetGeo,
27
33
  getDevice: Device_1.MockGetDevice,
28
- getSponsoredProduct: Product_1.MockGetSposoredProduct.bind(undefined, logger, accountId),
29
- getAllSponsoredProducts: Product_1.MockGetAllSponsoredProducts,
30
- getRecommendedProduct: Product_1.MockGetRecommendedProduct,
31
- generateTopProducts: Recommender_1.MockGenerateTopProducts.bind(undefined, Product_1.MockGetRecommendedProduct),
32
- generateForYou: Recommender_1.MockGenerateForYou.bind(undefined, Product_1.MockGetRecommendedProduct),
33
- generatePreviousPurchases: Recommender_1.MockGeneratePastPurchases.bind(undefined, Product_1.MockGetRecommendedProduct),
34
+ getSponsoredProduct,
35
+ getAllSponsoredProducts,
36
+ getRecommendedProduct: getRecommendedProduct,
37
+ generateTopProducts: Recommender_1.MockGenerateTopProducts.bind(undefined, getRecommendedProduct),
38
+ generateForYou: Recommender_1.MockGenerateForYou.bind(undefined, getRecommendedProduct),
39
+ generatePreviousPurchases: Recommender_1.MockGeneratePastPurchases.bind(undefined, getRecommendedProduct),
34
40
  buildAllProductCardResponses: buildAllSponsoredProductCardResponses,
35
- generateProductCardResponse: Product_1.MockGenerateSponsoredProductCard.bind(undefined, logger, windowInfo, config, accountId),
41
+ generateProductCardResponse: Product_1.MockGenerateSponsoredProductCard.bind(undefined, logger, windowInfo, config, accountId, getSponsoredProduct()),
36
42
  buildBannerResponse,
37
43
  buildVideoResponse,
38
44
  buildAllResponses: ads_core_client_1.BuildAllResponses.bind(undefined, logger, buildBannerResponse, buildVideoResponse, buildAllSponsoredProductCardResponses),
@@ -51,7 +57,7 @@ const InitSurfAdsCoreMock = async (accountId, siteId, channelId, locationId, use
51
57
  screenInfo: window.screen,
52
58
  evaluateProductCardTemplate,
53
59
  evaluateClickthroughTemplate,
54
- getDynamicZone: Dynamic_1.MockGetDynamicZone
60
+ getDynamicZone: Dynamic_1.MockGetDynamicZone,
55
61
  });
56
62
  };
57
63
  exports.InitSurfAdsCoreMock = InitSurfAdsCoreMock;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"src/","sources":["index.ts"],"names":[],"mappings":";;;;;;AAAA,+DAcmC;AACnC,wDAA4D;AAC5D,oCAAwC;AACxC,0CAA8C;AAC9C,4CAKwB;AACxB,oDAA4G;AAE5G,iEAA4C;AAC5C,iCAAyC;AACzC,4CAAoD;AAE7C,MAAM,mBAAmB,GAAG,KAAK,EACpC,SAAiB,EACjB,MAAc,EACd,SAAiB,EACjB,UAAkB,EAClB,MAA0B,EAC1B,MAAgB,EACe,EAAE;IACjC,MAAM,UAAU,GAAG,IAAA,iCAAe,EAAC,IAAA,+BAAa,GAAE,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,IAAA,iCAAe,EAAC,MAAM,IAAA,oCAAoB,EAAC,MAAM,CAAC,CAAC,CAAC;IACnE,MACI,mBAAmB,GAAG,qCAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,EACrF,kBAAkB,GAAG,oCAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,EACnF,qCAAqC,GAAG,uDAAqC,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAChG,qCAA2B,EAC3B,UAAU,EACV,MAAM,CACT,CAAC;IAEN,MAAM,4BAA4B,GAAG,wDAAsC,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAC9F,UAAU,EACV,MAAM,CACT,CAAC;IAEF,MAAM,2BAA2B,GAAG,uDAAqC,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAC5F,UAAU,EACV,MAAM,CACT,CAAC;IAEF,OAAO,IAAA,+CAA6B,EAAC;QACjC,MAAM;QACN,WAAW,EAAE,sBAAe,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;QAChE,gBAAgB,EAAE,oCAAoB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC;QAC9D,MAAM,EAAE,gBAAU;QAClB,SAAS,EAAE,sBAAa;QACxB,mBAAmB,EAAE,gCAAsB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC;QAC9E,uBAAuB,EAAE,qCAA2B;QACpD,qBAAqB,EAAE,mCAAyB;QAChD,mBAAmB,EAAE,qCAAuB,CAAC,IAAI,CAAC,SAAS,EAAE,mCAAyB,CAAC;QACvF,cAAc,EAAE,gCAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,mCAAyB,CAAC;QAC7E,yBAAyB,EAAE,uCAAyB,CAAC,IAAI,CAAC,SAAS,EAAE,mCAAyB,CAAC;QAC/F,4BAA4B,EAAE,qCAAqC;QACnE,2BAA2B,EAAE,0CAAgC,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAChF,UAAU,EACV,MAAM,EACN,SAAS,CACZ;QACD,mBAAmB;QACnB,kBAAkB;QAClB,iBAAiB,EAAE,mCAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EACvD,mBAAmB,EACnB,kBAAkB,EAClB,qCAAqC,CACxC;QACD,oBAAoB,EAAE,sCAAoB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAC7D,mBAAmB,EACnB,kBAAkB,EAClB,qCAAqC,CACxC;QACD,UAAU,EAAE,iBAAU,CAAC,MAAM,EAAE;QAC/B,UAAU;QACV,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,MAAM,EAAE,KAAK;QACb,EAAE,EAAE,WAAW;QACf,gBAAgB,EAAE,SAAS;QAC3B,SAAS;QACT,MAAM;QACN,SAAS;QACT,UAAU;QACV,MAAM;QACN,UAAU,EAAE,MAAM,CAAC,MAAM;QACzB,2BAA2B;QAC3B,4BAA4B;QAC5B,cAAc,EAAE,4BAAkB;KACrC,CAAC,CAAC;AACP,CAAC,CAAC;AA3EW,QAAA,mBAAmB,uBA2E9B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"src/","sources":["index.ts"],"names":[],"mappings":";;;;;;AAAA,+DAcmC;AACnC,wDAA4D;AAC5D,oCAAwC;AACxC,0CAA8C;AAC9C,4CASwB;AACxB,oDAA4G;AAE5G,iEAA4C;AAC5C,iCAAyC;AACzC,4CAAoD;AAI7C,MAAM,mBAAmB,GAAG,KAAK,EACpC,SAAiB,EACjB,MAAc,EACd,SAAiB,EACjB,UAAkB,EAClB,MAA0B,EAC1B,MAAgB,EAChB,qBAA8C,EAC9C,uBAAgD,EAChD,kBAA2B,EAC3B,sBAA+B,EACA,EAAE;IACjC,MAAM,UAAU,GAAG,IAAA,iCAAe,EAAC,IAAA,+BAAa,GAAE,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,IAAA,iCAAe,EAAC,MAAM,IAAA,oCAAoB,EAAC,MAAM,CAAC,CAAC,CAAC;IAEnE,oCAAoC;IACpC,MAAM,iBAAiB,GAAG,IAAA,8BAAoB,EAC1C,qBAAqB,EACrB,mCAAyB,EACzB,WAAW,EACX,MAAM,CACT,CAAC;IAEF,MAAM,mBAAmB,GAAG,IAAA,8BAAoB,EAC5C,uBAAuB,EACvB,qCAA2B,EAC3B,aAAa,EACb,MAAM,CACT,CAAC;IAEF,MAAM,uBAAuB,GACzB,IAAA,4CAAkC,EAAC,iBAAiB,CAAC,CAAC;IAE1D,MAAM,mBAAmB,GAAG,qCAAmB,CAAC,IAAI,CAC5C,SAAS,EACT,MAAM,EACN,UAAU,EACV,MAAM,CACT,EACD,kBAAkB,GAAG,oCAAkB,CAAC,IAAI,CACxC,SAAS,EACT,MAAM,EACN,UAAU,EACV,MAAM,CACT,EACD,qCAAqC,GACrC,uDAAqC,CAAC,IAAI,CACtC,SAAS,EACT,MAAM,EACN,uBAAuB,EACvB,UAAU,EACV,MAAM,CACT,CAAC;IAEN,MAAM,4BAA4B,GAC9B,wDAAsC,CAAC,IAAI,CACvC,SAAS,EACT,MAAM,EACN,UAAU,EACV,MAAM,CACT,CAAC;IAEN,MAAM,2BAA2B,GAC7B,uDAAqC,CAAC,IAAI,CACtC,SAAS,EACT,MAAM,EACN,UAAU,EACV,MAAM,CACT,CAAC;IAEN,MAAM,mBAAmB,GAAG,iCAAuB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;IAE1G,MAAM,qBAAqB,GACvB,IAAA,0CAAgC,EAAC,mBAAmB,CAAC,CAAC;IAE1D,OAAO,IAAA,+CAA6B,EAAC;QACjC,MAAM;QACN,WAAW,EAAE,sBAAe,CAAC,IAAI,CAC7B,SAAS,EACT,MAAM,EACN,UAAU,EACV,sBAAsB,IAAI,CAAC,EAC3B,kBAAkB,IAAI,CAAC,CAC1B;QACD,gBAAgB,EAAE,oCAAoB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC;QAC9D,MAAM,EAAE,gBAAU;QAClB,SAAS,EAAE,sBAAa;QACxB,mBAAmB;QACnB,uBAAuB;QACvB,qBAAqB,EAAE,qBAAqB;QAC5C,mBAAmB,EAAE,qCAAuB,CAAC,IAAI,CAC7C,SAAS,EACT,qBAAqB,CACxB;QACD,cAAc,EAAE,gCAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,qBAAqB,CAAC;QACzE,yBAAyB,EAAE,uCAAyB,CAAC,IAAI,CACrD,SAAS,EACT,qBAAqB,CACxB;QACD,4BAA4B,EAAE,qCAAqC;QACnE,2BAA2B,EAAE,0CAAgC,CAAC,IAAI,CAC9D,SAAS,EACT,MAAM,EACN,UAAU,EACV,MAAM,EACN,SAAS,EACT,mBAAmB,EAAE,CACxB;QACD,mBAAmB;QACnB,kBAAkB;QAClB,iBAAiB,EAAE,mCAAiB,CAAC,IAAI,CACrC,SAAS,EACT,MAAM,EACN,mBAAmB,EACnB,kBAAkB,EAClB,qCAAqC,CACxC;QACD,oBAAoB,EAAE,sCAAoB,CAAC,IAAI,CAC3C,SAAS,EACT,MAAM,EACN,mBAAmB,EACnB,kBAAkB,EAClB,qCAAqC,CACxC;QACD,UAAU,EAAE,iBAAU,CAAC,MAAM,EAAE;QAC/B,UAAU;QACV,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,MAAM,EAAE,KAAK;QACb,EAAE,EAAE,WAAW;QACf,gBAAgB,EAAE,SAAS;QAC3B,SAAS;QACT,MAAM;QACN,SAAS;QACT,UAAU;QACV,MAAM;QACN,UAAU,EAAE,MAAM,CAAC,MAAM;QACzB,2BAA2B;QAC3B,4BAA4B;QAC5B,cAAc,EAAE,4BAAkB;KACrC,CAAC,CAAC;AACP,CAAC,CAAC;AA5IW,QAAA,mBAAmB,uBA4I9B"}
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeImage = exports.MockRequestBids = void 0;
3
+ exports.CanvasFailedError = exports.makeImage = exports.makeBannerImage = exports.MockRequestBids = void 0;
4
4
  const ads_core_1 = require("@surfside/ads-core");
5
+ const Wait_1 = require("../util/Wait");
5
6
  const NativeSize = 350;
6
7
  const HardcodedVideoWidth = 320;
7
8
  const HardcodedVideoHeight = 240;
@@ -86,25 +87,22 @@ const getSearchParam = (search, key) => search.replace('?', '')
86
87
  .split('&')
87
88
  .map(s => s.split('='))
88
89
  .find(([k]) => k == key)?.[1];
89
- const MockRequestBids = async (logger, windowInfo, bidRequest) => {
90
+ const MockRequestBids = async (logger, windowInfo, simulateNetworkLatency, simulateNoResponse, bidRequest) => {
90
91
  const log = (0, ads_core_1.Ctx)(logger)?.with('MockRequestBids');
91
92
  log?.info('Requesting mock bids');
92
93
  log?.debug(bidRequest);
94
+ log?.debug('Debug options: ', simulateNetworkLatency, simulateNoResponse);
95
+ if (simulateNetworkLatency > 0) {
96
+ await (0, Wait_1.Wait)(simulateNetworkLatency);
97
+ }
98
+ if (simulateNoResponse > 0) {
99
+ const dice = Math.random();
100
+ if (dice < simulateNoResponse) {
101
+ return (0, ads_core_1.Err)(new ads_core_1.NoBidsError(bidRequest));
102
+ }
103
+ }
93
104
  const responses = [];
94
105
  const returned = bidRequest.imp.length;
95
- // const returned = (() => {
96
- // switch (bidRequest.ext?.accountId) {
97
- // case CHEAT_CODES.returnSome: {
98
- // return Math.round((bidRequest.imp.length / 2) + (Math.random() * bidRequest.imp.length / 2));
99
- // }
100
- // case CHEAT_CODES.returnNone: {
101
- // return 0;
102
- // }
103
- // default: {
104
- // return bidRequest.imp.length;
105
- // }
106
- // }
107
- // })();
108
106
  const videoUrl = getSearchParam(windowInfo.search, 'surf_mock_video_url') ?? 'https://creative.surfside.io/mock/test_30s_320x240.mp4';
109
107
  const mockWidth = Number(getSearchParam(windowInfo.search, 'surf_mock_video_width'));
110
108
  const mockHeight = Number(getSearchParam(windowInfo.search, 'surf_mock_video_height'));
@@ -216,19 +214,62 @@ const makeBanner = (requestId, impid, banner) => ({
216
214
  id: requestId,
217
215
  seatbid: [
218
216
  {
219
- bid: [{
217
+ bid: [
218
+ {
220
219
  id: impid,
221
220
  impid,
222
221
  w: banner.w,
223
222
  h: banner.h,
224
- price: 3.50,
223
+ price: 3.5,
225
224
  nurl: 'https://google.com/',
226
- adm: (0, ads_core_1.GetValueOrThrow)((0, exports.makeImage)(makeRealBannerSize(banner.w), makeRealBannerSize(banner.h))).outerHTML
227
- }]
228
- }
229
- ]
225
+ adm: (0, ads_core_1.GetValueOrThrow)((0, exports.makeBannerImage)(makeRealBannerSize(banner.w), makeRealBannerSize(banner.h))).outerHTML,
226
+ },
227
+ ],
228
+ },
229
+ ],
230
230
  });
231
231
  const makeRealBannerSize = (s) => s <= 16 ? s * 100 : s;
232
+ const makeBannerImage = (w, h, message) => {
233
+ const aspectRatio = w / h;
234
+ // Use high canvas resolution internally (purely for image quality, not layout)
235
+ const canvas = document.createElement('canvas');
236
+ canvas.width = 1600;
237
+ canvas.height = 1600 / aspectRatio;
238
+ const ctx = canvas.getContext('2d');
239
+ if (ctx === null) {
240
+ return (0, ads_core_1.Err)(new CanvasFailedError());
241
+ }
242
+ // Solid background (no gradient)
243
+ const bgColor = SurfColors[Math.floor(Math.random() * SurfColors.length)];
244
+ ctx.fillStyle = bgColor;
245
+ ctx.fillRect(0, 0, canvas.width, canvas.height);
246
+ // Draw center text
247
+ const text = message ?? `${w}x${h}`;
248
+ ctx.font = 'bold 100px Arial';
249
+ ctx.textAlign = 'center';
250
+ ctx.textBaseline = 'middle';
251
+ ctx.fillStyle = 'white';
252
+ ctx.strokeStyle = 'black';
253
+ ctx.lineWidth = 8;
254
+ ctx.strokeText(text, canvas.width / 2, canvas.height / 2);
255
+ ctx.fillText(text, canvas.width / 2, canvas.height / 2);
256
+ // Create image element
257
+ const img = document.createElement('img');
258
+ img.src = canvas.toDataURL();
259
+ img.style.width = '100%';
260
+ img.style.height = 'auto';
261
+ img.style.display = 'block';
262
+ img.style.objectFit = 'cover';
263
+ img.style.aspectRatio = `${w} / ${h}`;
264
+ // Wrap in anchor
265
+ const anchor = document.createElement('a');
266
+ anchor.href = 'https://www.surfside.io';
267
+ anchor.style.display = 'block';
268
+ anchor.style.width = '100%';
269
+ anchor.appendChild(img);
270
+ return (0, ads_core_1.Ok)(anchor);
271
+ };
272
+ exports.makeBannerImage = makeBannerImage;
232
273
  const makeImage = (width, height, message) => {
233
274
  const canv = document.createElement('canvas');
234
275
  const originalWidth = width;
@@ -241,7 +282,7 @@ const makeImage = (width, height, message) => {
241
282
  canv.height = height;
242
283
  const ctx = canv.getContext('2d');
243
284
  if (ctx === null) {
244
- return (0, ads_core_1.Err)(new Error('Failed to create 2D Canvas'));
285
+ return (0, ads_core_1.Err)(new CanvasFailedError);
245
286
  }
246
287
  const gradient = ctx.createLinearGradient(0, 0, canv.width, canv.height);
247
288
  const randomColor1 = SurfColors[Math.floor(Math.random() * SurfColors.length)];
@@ -306,6 +347,12 @@ const makeImage = (width, height, message) => {
306
347
  return (0, ads_core_1.Ok)(anchor);
307
348
  };
308
349
  exports.makeImage = makeImage;
350
+ class CanvasFailedError extends Error {
351
+ constructor() {
352
+ super('Failed to create 2D context');
353
+ }
354
+ }
355
+ exports.CanvasFailedError = CanvasFailedError;
309
356
  const makeNative = (requestId, impid) => ({
310
357
  id: requestId,
311
358
  seatbid: [
@@ -1 +1 @@
1
- {"version":3,"file":"Bidder.js","sourceRoot":"src/","sources":["mock/Bidder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Bidder.js","sourceRoot":"src/","sources":["mock/Bidder.ts"],"names":[],"mappings":"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"}
@@ -1,66 +1,161 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MockGetDynamicZone = void 0;
3
+ exports.carouselZoneCreator = exports.videoZoneCreator = exports.parseZoneIds = exports.MockGetDynamicZone = void 0;
4
4
  const ads_core_client_1 = require("@surfside/ads-core-client");
5
- const MockGetDynamicZone = async () => {
6
- return (0, ads_core_client_1.Ok)({
7
- value: [
8
- {
9
- 'size': 'mobile',
10
- 'values': [
11
- {
12
- 'type': 'Video',
13
- 'zoneId': 'my-video',
14
- width: 320,
15
- height: 240,
16
- maxDuration: 30
17
- },
18
- {
19
- 'type': 'Carousel',
20
- 'zoneId': 'my-zone',
21
- 'cardMinWidth': 320,
22
- 'nextType': 'page',
23
- 'catalog': true,
24
- 'strategy': 'hybrid',
25
- 'recommend': 'top-products'
26
- },
27
- {
28
- 'type': 'Banner',
29
- 'zoneId': 'my-zone',
30
- 'width': 4,
31
- 'height': 1
32
- }
33
- ]
34
- },
35
- {
36
- 'size': 'default',
37
- 'values': [
38
- {
39
- 'type': 'Banner',
40
- 'zoneId': 'my-zone',
41
- 'width': 8,
42
- 'height': 1
43
- },
44
- {
45
- 'type': 'Video',
46
- 'zoneId': 'my-video',
47
- width: 320,
48
- height: 240,
49
- maxDuration: 30
50
- },
51
- {
52
- 'type': 'Carousel',
53
- 'zoneId': 'my-zone',
54
- 'cardMinWidth': 320,
55
- 'nextType': 'page',
56
- 'catalog': true,
57
- 'strategy': 'hybrid',
58
- 'recommend': 'top-products'
59
- },
60
- ]
61
- }
62
- ]
63
- });
5
+ const defaultZone = { value: [] };
6
+ const shuffleArray = (arr) => {
7
+ for (let i = arr.length - 1; i > 0; i--) {
8
+ const j = Math.floor(Math.random() * (i + 1));
9
+ [arr[i], arr[j]] = [arr[j], arr[i]];
10
+ }
11
+ return arr;
12
+ };
13
+ const shuffleDynamicZone = (value) => {
14
+ value.value.forEach((v) => shuffleArray(v.values));
15
+ return value;
16
+ };
17
+ // Mock service using the parser
18
+ const MockGetDynamicZone = async (zoneIdString) => {
19
+ const parsed = (0, exports.parseZoneIds)(zoneIdString);
20
+ const shuffled = shuffleDynamicZone(parsed);
21
+ return (0, ads_core_client_1.Ok)(shuffled);
64
22
  };
65
23
  exports.MockGetDynamicZone = MockGetDynamicZone;
24
+ // Parses a comma-separated list of zoneIds into one consolidated dynamic zone
25
+ const parseZoneIds = (zoneIds) => {
26
+ const ids = zoneIds
27
+ .split(',')
28
+ .map((z) => z.trim().toLowerCase())
29
+ .filter((z) => z.length > 0);
30
+ // Generate individual zone configs
31
+ const zones = ids.map((id) => {
32
+ let platform = 'both';
33
+ let cleanedId = id;
34
+ if (id.startsWith('m-')) {
35
+ platform = 'mobile';
36
+ cleanedId = id.slice(2);
37
+ }
38
+ else if (id.startsWith('d-')) {
39
+ platform = 'desktop';
40
+ cleanedId = id.slice(2);
41
+ }
42
+ let zone;
43
+ if (cleanedId.includes('banner')) {
44
+ zone = bannerZoneCreator(cleanedId);
45
+ }
46
+ else if (cleanedId.includes('video')) {
47
+ zone = (0, exports.videoZoneCreator)(cleanedId);
48
+ }
49
+ else if (cleanedId.includes('carousel')) {
50
+ zone = (0, exports.carouselZoneCreator)(cleanedId);
51
+ }
52
+ else {
53
+ return defaultZone;
54
+ }
55
+ // Filter zone values by platform
56
+ if (platform === 'both' || zone === undefined) {
57
+ return zone;
58
+ }
59
+ return {
60
+ value: zone.value.filter((v) => v.size === platform),
61
+ };
62
+ });
63
+ // Combine by size, merging all values for each size
64
+ const sizes = Array.from(new Set(zones.flatMap((z) => z?.value.map((v) => v.size))));
65
+ const combined = sizes.map((size) => ({
66
+ size,
67
+ values: zones.flatMap((z) => z !== undefined && z.value !== undefined
68
+ ? z.value.find((v) => v.size === size)?.values ?? []
69
+ : []),
70
+ }));
71
+ return { value: combined };
72
+ };
73
+ exports.parseZoneIds = parseZoneIds;
74
+ // Banner zone creator (provided starter)
75
+ const bannerRegex = /banner(?<width>\d+)x(?<height>\d+)/;
76
+ const bannerZoneCreator = (zoneId) => {
77
+ const match = zoneId.match(bannerRegex);
78
+ if (match === null ||
79
+ match?.groups === undefined ||
80
+ match?.groups?.height === undefined ||
81
+ match?.groups?.width === undefined) {
82
+ return undefined;
83
+ }
84
+ const width = parseInt(match.groups.width, 10);
85
+ const height = parseInt(match.groups.height, 10);
86
+ if (width > 16 || width < 0 || height > 16 || height < 0) {
87
+ return undefined;
88
+ }
89
+ const zoneValue = [
90
+ {
91
+ size: 'mobile',
92
+ values: [{ type: 'Banner', zoneId, width, height }],
93
+ },
94
+ {
95
+ size: 'desktop',
96
+ values: [{ type: 'Banner', zoneId, width, height }],
97
+ },
98
+ ];
99
+ return { value: zoneValue };
100
+ };
101
+ // Video zone creator
102
+ const videoRegex = /video(?<width>\d+)x(?<height>\d+)/;
103
+ const videoZoneCreator = (zoneId) => {
104
+ const match = zoneId.match(videoRegex);
105
+ if (match === null ||
106
+ match?.groups === undefined ||
107
+ match?.groups?.height === undefined ||
108
+ match?.groups?.width === undefined) {
109
+ return undefined;
110
+ }
111
+ const width = parseInt(match.groups.width, 10);
112
+ const height = parseInt(match.groups.height, 10);
113
+ if (width <= 0 || height <= 0) {
114
+ return undefined;
115
+ }
116
+ const zoneValue = [
117
+ {
118
+ size: 'mobile',
119
+ values: [{ type: 'Video', zoneId, width, height, maxDuration: 60 }],
120
+ },
121
+ {
122
+ size: 'desktop',
123
+ values: [{ type: 'Video', zoneId, width, height, maxDuration: 60 }],
124
+ },
125
+ ];
126
+ return { value: zoneValue };
127
+ };
128
+ exports.videoZoneCreator = videoZoneCreator;
129
+ // Carousel zone creator (sponsored, hybrid, recommended)
130
+ const carouselRegex = /carousel-(?<mode>sponsored|hybrid|recommended)/;
131
+ const carouselZoneCreator = (zoneId) => {
132
+ const match = zoneId.match(carouselRegex);
133
+ const tryMode = match?.groups?.mode;
134
+ if (tryMode === undefined ||
135
+ (tryMode !== 'sponsored' && tryMode !== 'hybrid' && tryMode !== 'recommended')) {
136
+ return undefined;
137
+ }
138
+ const mode = tryMode;
139
+ // Basic carousel config; adjust properties as needed
140
+ const carouselItem = {
141
+ type: 'Carousel',
142
+ zoneId,
143
+ strategy: mode, // 'sponsored' | 'hybrid' | 'recommended'
144
+ catalog: true,
145
+ cardMinWidth: 320,
146
+ nextType: 'page',
147
+ };
148
+ const zoneValue = [
149
+ {
150
+ size: 'mobile',
151
+ values: [carouselItem],
152
+ },
153
+ {
154
+ size: 'desktop',
155
+ values: [carouselItem],
156
+ },
157
+ ];
158
+ return { value: zoneValue };
159
+ };
160
+ exports.carouselZoneCreator = carouselZoneCreator;
66
161
  //# sourceMappingURL=Dynamic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Dynamic.js","sourceRoot":"src/","sources":["mock/Dynamic.ts"],"names":[],"mappings":";;;AAAA,+DAAoF;AAE7E,MAAM,kBAAkB,GAAG,KAAK,IAA+B,EAAE;IACpE,OAAO,IAAA,oBAAE,EAAC;QACN,KAAK,EAAE;YACH;gBACI,MAAM,EAAE,QAAQ;gBAChB,QAAQ,EAAE;oBACN;wBACI,MAAM,EAAE,OAAO;wBACf,QAAQ,EAAE,UAAU;wBACpB,KAAK,EAAE,GAAG;wBACV,MAAM,EAAE,GAAG;wBACX,WAAW,EAAE,EAAE;qBAClB;oBACD;wBACI,MAAM,EAAE,UAAU;wBAClB,QAAQ,EAAE,SAAS;wBACnB,cAAc,EAAE,GAAG;wBACnB,UAAU,EAAE,MAAM;wBAClB,SAAS,EAAE,IAAI;wBACf,UAAU,EAAE,QAAQ;wBACpB,WAAW,EAAE,cAAc;qBAC9B;oBACD;wBACI,MAAM,EAAE,QAAQ;wBAChB,QAAQ,EAAE,SAAS;wBACnB,OAAO,EAAE,CAAC;wBACV,QAAQ,EAAE,CAAC;qBACd;iBACJ;aACJ;YACD;gBACI,MAAM,EAAE,SAAS;gBACjB,QAAQ,EAAE;oBACN;wBACI,MAAM,EAAE,QAAQ;wBAChB,QAAQ,EAAE,SAAS;wBACnB,OAAO,EAAE,CAAC;wBACV,QAAQ,EAAE,CAAC;qBACd;oBACD;wBACI,MAAM,EAAE,OAAO;wBACf,QAAQ,EAAE,UAAU;wBACpB,KAAK,EAAE,GAAG;wBACV,MAAM,EAAE,GAAG;wBACX,WAAW,EAAE,EAAE;qBAClB;oBACD;wBACI,MAAM,EAAE,UAAU;wBAClB,QAAQ,EAAE,SAAS;wBACnB,cAAc,EAAE,GAAG;wBACnB,UAAU,EAAE,MAAM;wBAClB,SAAS,EAAE,IAAI;wBACf,UAAU,EAAE,QAAQ;wBACpB,WAAW,EAAE,cAAc;qBAC9B;iBAEJ;aACJ;SACJ;KACJ,CAAC,CAAC;AACP,CAAC,CAAC;AA5DW,QAAA,kBAAkB,sBA4D7B"}
1
+ {"version":3,"file":"Dynamic.js","sourceRoot":"src/","sources":["mock/Dynamic.ts"],"names":[],"mappings":";;;AAAA,+DAAoF;AACpF,MAAM,WAAW,GAAiB,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AAEhD,MAAM,YAAY,GAAG,CAAC,GAAU,EAAS,EAAE;IACvC,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,KAAmB,EAAgB,EAAE;IAC7D,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACnD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF,gCAAgC;AACzB,MAAM,kBAAkB,GAAG,KAAK,EACnC,YAAoB,EACK,EAAE;IAC3B,MAAM,MAAM,GAAG,IAAA,oBAAY,EAAC,YAAY,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC5C,OAAO,IAAA,oBAAE,EAAC,QAAQ,CAAC,CAAC;AACxB,CAAC,CAAC;AANW,QAAA,kBAAkB,sBAM7B;AAEF,8EAA8E;AACvE,MAAM,YAAY,GAAG,CAAC,OAAe,EAAgB,EAAE;IAC1D,MAAM,GAAG,GAAG,OAAO;SACd,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;SAClC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEjC,mCAAmC;IACnC,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACzB,IAAI,QAAQ,GAAkC,MAAM,CAAC;QACrD,IAAI,SAAS,GAAG,EAAE,CAAC;QAEnB,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,QAAQ,GAAG,QAAQ,CAAC;YACpB,SAAS,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;aAAM,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,QAAQ,GAAG,SAAS,CAAC;YACrB,SAAS,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;QAED,IAAI,IAA8B,CAAC;QACnC,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,IAAI,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACxC,CAAC;aAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,IAAI,GAAG,IAAA,wBAAgB,EAAC,SAAS,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACxC,IAAI,GAAG,IAAA,2BAAmB,EAAC,SAAS,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACJ,OAAO,WAAW,CAAC;QACvB,CAAC;QAED,iCAAiC;QACjC,IAAI,QAAQ,KAAK,MAAM,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO;YACH,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;SACvD,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,oDAAoD;IACpD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CACpB,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC9B,CAAC;IAEjC,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAClC,IAAI;QACJ,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACxB,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS;YACpC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,MAAM,IAAI,EAAE;YACpD,CAAC,CAAC,EAAE,CACX;KACJ,CAAC,CAAC,CAAC;IAEJ,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAC/B,CAAC,CAAC;AAtDW,QAAA,YAAY,gBAsDvB;AAEF,yCAAyC;AACzC,MAAM,WAAW,GAAG,oCAAoC,CAAC;AACzD,MAAM,iBAAiB,GAAG,CAAC,MAAc,EAA4B,EAAE;IACnE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACxC,IAAI,KAAK,KAAK,IAAI;QACd,KAAK,EAAE,MAAM,KAAK,SAAS;QAC3B,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,SAAS;QACnC,KAAK,EAAE,MAAM,EAAE,KAAK,KAAK,SAAS,EACpC,CAAC;QACC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjD,IAAI,KAAK,GAAG,EAAE,IAAI,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,EAAE,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACvD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,SAAS,GAAG;QACd;YACI,IAAI,EAAE,QAAiB;YACvB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,QAAiB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;SAC/D;QACD;YACI,IAAI,EAAE,SAAkB;YACxB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,QAAiB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;SAC/D;KACJ,CAAC;IAEF,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAChC,CAAC,CAAC;AAEF,qBAAqB;AACrB,MAAM,UAAU,GAAG,mCAAmC,CAAC;AAChD,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAA4B,EAAE;IACzE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACvC,IACI,KAAK,KAAK,IAAI;QACd,KAAK,EAAE,MAAM,KAAK,SAAS;QAC3B,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,SAAS;QACnC,KAAK,EAAE,MAAM,EAAE,KAAK,KAAK,SAAS,EACpC,CAAC;QACC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjD,IAAI,KAAK,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,SAAS,GAAG;QACd;YACI,IAAI,EAAE,QAAiB;YACvB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;SAC/E;QACD;YACI,IAAI,EAAE,SAAkB;YACxB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;SAC/E;KACJ,CAAC;IAEF,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAChC,CAAC,CAAC;AA7BW,QAAA,gBAAgB,oBA6B3B;AAEF,yDAAyD;AACzD,MAAM,aAAa,GAAG,gDAAgD,CAAC;AAChE,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAA4B,EAAE;IAC5E,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC;IACpC,IAAI,OAAO,KAAK,SAAS;QACrB,CAAC,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,aAAa,CAAC,EAChF,CAAC;QACC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,IAAI,GAAG,OAAiD,CAAC;IAE/D,qDAAqD;IACrD,MAAM,YAAY,GAAG;QACjB,IAAI,EAAE,UAAmB;QACzB,MAAM;QACN,QAAQ,EAAE,IAAI,EAAQ,yCAAyC;QAC/D,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,GAAG;QACjB,QAAQ,EAAE,MAAe;KAC5B,CAAC;IAEF,MAAM,SAAS,GAAG;QACd;YACI,IAAI,EAAE,QAAiB;YACvB,MAAM,EAAE,CAAC,YAAY,CAAC;SACzB;QACD;YACI,IAAI,EAAE,SAAkB;YACxB,MAAM,EAAE,CAAC,YAAY,CAAC;SACzB;KACJ,CAAC;IAEF,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAChC,CAAC,CAAC;AAjCW,QAAA,mBAAmB,uBAiC9B"}