@syntrologie/runtime-sdk 2.8.0-canary.72 → 2.8.0-canary.73

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.
@@ -3456,14 +3456,20 @@ function getAntiFlickerSnippet(config = {}) {
3456
3456
  }
3457
3457
 
3458
3458
  // src/version.ts
3459
- var SDK_VERSION = "2.8.0-canary.72";
3459
+ var SDK_VERSION = "2.8.0-canary.73";
3460
3460
 
3461
3461
  // src/types.ts
3462
3462
  var SDK_SCHEMA_VERSION = "2.0";
3463
3463
 
3464
3464
  // src/fetchers/mergeConfigs.ts
3465
- function resolveVariantConfigs(client, keys, _strategy = "first-match") {
3466
- var _a2, _b, _c, _d;
3465
+ function resolveVariantConfigs(client, keys, strategy = "merge") {
3466
+ if (strategy === "first-match") {
3467
+ return resolveFirstMatch(client, keys);
3468
+ }
3469
+ return resolveMerge(client, keys);
3470
+ }
3471
+ function resolveFirstMatch(client, keys) {
3472
+ var _a2;
3467
3473
  for (const key of keys) {
3468
3474
  const value = (_a2 = client.getFeatureValue) == null ? void 0 : _a2.call(client, key, null);
3469
3475
  if (!value || typeof value !== "object") continue;
@@ -3471,21 +3477,60 @@ function resolveVariantConfigs(client, keys, _strategy = "first-match") {
3471
3477
  const hasTiles = variant.tiles && variant.tiles.length > 0;
3472
3478
  const hasActions = variant.actions && variant.actions.length > 0;
3473
3479
  if (hasTiles || hasActions) {
3474
- return {
3475
- tiles: (_b = variant.tiles) != null ? _b : [],
3476
- actions: (_c = variant.actions) != null ? _c : [],
3477
- fetchedAt: (_d = variant.fetchedAt) != null ? _d : (/* @__PURE__ */ new Date()).toISOString(),
3478
- ...variant.schemaVersion && { schemaVersion: variant.schemaVersion },
3479
- ...variant.configVersion && { configVersion: variant.configVersion },
3480
- ...variant.canvasTitle && { canvasTitle: variant.canvasTitle },
3481
- ...variant.theme && { theme: variant.theme },
3482
- ...variant.launcher && { launcher: variant.launcher },
3483
- ...variant.meta && { meta: variant.meta }
3484
- };
3480
+ return buildConfig([variant]);
3485
3481
  }
3486
3482
  }
3487
3483
  return null;
3488
3484
  }
3485
+ function resolveMerge(client, keys) {
3486
+ var _a2;
3487
+ const variants = [];
3488
+ for (const key of keys) {
3489
+ const value = (_a2 = client.getFeatureValue) == null ? void 0 : _a2.call(client, key, null);
3490
+ if (!value || typeof value !== "object") continue;
3491
+ const variant = value;
3492
+ const hasTiles = variant.tiles && variant.tiles.length > 0;
3493
+ const hasActions = variant.actions && variant.actions.length > 0;
3494
+ if (hasTiles || hasActions) {
3495
+ variants.push(variant);
3496
+ }
3497
+ }
3498
+ if (variants.length === 0) return null;
3499
+ return buildConfig(variants);
3500
+ }
3501
+ function buildConfig(variants) {
3502
+ const allTiles = [];
3503
+ const allActions = [];
3504
+ let fetchedAt;
3505
+ let schemaVersion;
3506
+ let configVersion;
3507
+ let canvasTitle;
3508
+ let theme;
3509
+ let launcher;
3510
+ let meta;
3511
+ for (const variant of variants) {
3512
+ if (variant.tiles) allTiles.push(...variant.tiles);
3513
+ if (variant.actions) allActions.push(...variant.actions);
3514
+ fetchedAt != null ? fetchedAt : fetchedAt = variant.fetchedAt;
3515
+ schemaVersion != null ? schemaVersion : schemaVersion = variant.schemaVersion;
3516
+ configVersion != null ? configVersion : configVersion = variant.configVersion;
3517
+ canvasTitle != null ? canvasTitle : canvasTitle = variant.canvasTitle;
3518
+ theme != null ? theme : theme = variant.theme;
3519
+ launcher != null ? launcher : launcher = variant.launcher;
3520
+ meta != null ? meta : meta = variant.meta;
3521
+ }
3522
+ return {
3523
+ tiles: allTiles,
3524
+ actions: allActions,
3525
+ fetchedAt: fetchedAt != null ? fetchedAt : (/* @__PURE__ */ new Date()).toISOString(),
3526
+ ...schemaVersion && { schemaVersion },
3527
+ ...configVersion && { configVersion },
3528
+ ...canvasTitle && { canvasTitle },
3529
+ ...theme && { theme },
3530
+ ...launcher && { launcher },
3531
+ ...meta && { meta }
3532
+ };
3533
+ }
3489
3534
 
3490
3535
  // src/logger.ts
3491
3536
  var debugEnabled = false;
@@ -12417,4 +12462,4 @@ export {
12417
12462
  encodeToken,
12418
12463
  Syntro
12419
12464
  };
12420
- //# sourceMappingURL=chunk-GE5WQIUI.js.map
12465
+ //# sourceMappingURL=chunk-P3GRWZXE.js.map