@azure/app-configuration-importer 1.1.0-preview → 1.1.1-preview

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/index.js CHANGED
@@ -18292,41 +18292,83 @@
18292
18292
  }
18293
18293
  }
18294
18294
  function isFeatureFlagValueEqual(valueA, valueB) {
18295
+ var _a, _b;
18295
18296
  let featureFlagAValue;
18296
18297
  if (typeof valueA == "string") {
18297
- featureFlagAValue = toFeatureFlagValue(valueA);
18298
+ featureFlagAValue = toMsFeatureFlagValue(valueA);
18298
18299
  }
18299
18300
  else {
18300
18301
  featureFlagAValue = valueA;
18301
18302
  }
18302
- const featureFlagBValue = toFeatureFlagValue(valueB);
18303
+ const featureFlagBValue = toMsFeatureFlagValue(valueB);
18303
18304
  if (Object.keys(featureFlagAValue).length !== Object.keys(featureFlagBValue).length) {
18304
18305
  return false;
18305
18306
  }
18306
18307
  return featureFlagAValue.id == featureFlagBValue.id &&
18307
18308
  featureFlagAValue.enabled == featureFlagBValue.enabled &&
18308
18309
  featureFlagAValue.description == featureFlagBValue.description &&
18309
- areFeatureFlagFiltersEqual(featureFlagAValue.conditions.clientFilters, featureFlagBValue.conditions.clientFilters);
18310
+ areArrayEqual(featureFlagAValue.conditions.clientFilters, featureFlagBValue.conditions.clientFilters) &&
18311
+ lodash.exports.isEqual(featureFlagAValue.allocation, featureFlagBValue.allocation) &&
18312
+ areArrayEqual((_a = featureFlagAValue.variants) !== null && _a !== void 0 ? _a : [], (_b = featureFlagBValue.variants) !== null && _b !== void 0 ? _b : []) &&
18313
+ lodash.exports.isEqual(featureFlagAValue.telemetry, featureFlagBValue.telemetry);
18310
18314
  }
18311
- function areFeatureFlagFiltersEqual(filterA, filterB) {
18312
- if (filterA.length !== filterB.length) {
18315
+ function areArrayEqual(arrayA, arrayB) {
18316
+ if (arrayA.length !== arrayB.length) {
18313
18317
  return false;
18314
18318
  }
18315
- for (let i = 0; i < filterA.length; i++) {
18316
- if (!lodash.exports.isEqual(filterA[i], filterB[i])) {
18319
+ for (let i = 0; i < arrayA.length; i++) {
18320
+ if (!lodash.exports.isEqual(arrayA[i], arrayB[i])) {
18317
18321
  return false;
18318
18322
  }
18319
18323
  }
18320
18324
  return true;
18321
18325
  }
18322
- function toFeatureFlagValue(value) {
18326
+ function toMsFeatureFlagValue(value) {
18323
18327
  const parsedJson = JSON.parse(value);
18324
- return {
18328
+ const msFeatureFlagValue = {
18325
18329
  id: parsedJson.id,
18326
18330
  enabled: parsedJson.enabled,
18327
18331
  description: parsedJson.description,
18328
18332
  conditions: lodash.exports.isEmpty(parsedJson.conditions) ? { clientFilters: [] } : { clientFilters: parsedJson.conditions.client_filters }
18329
18333
  };
18334
+ if (parsedJson.allocation) {
18335
+ msFeatureFlagValue.allocation = parsedJson.allocation;
18336
+ }
18337
+ if (parsedJson.variants) {
18338
+ msFeatureFlagValue.variants = parsedJson.variants;
18339
+ }
18340
+ if (parsedJson.telemetry) {
18341
+ msFeatureFlagValue.telemetry = parsedJson.telemetry;
18342
+ }
18343
+ return msFeatureFlagValue;
18344
+ }
18345
+ function serializeFeatureFlagValue(featureFlagValue) {
18346
+ var _a;
18347
+ if (!featureFlagValue) {
18348
+ throw new TypeError("Invalid feature flag value");
18349
+ }
18350
+ const jsonFeatureFlagValue = {
18351
+ id: featureFlagValue.id,
18352
+ enabled: featureFlagValue.enabled,
18353
+ description: featureFlagValue.description,
18354
+ conditions: {
18355
+ client_filters: (_a = featureFlagValue.conditions) === null || _a === void 0 ? void 0 : _a.clientFilters
18356
+ },
18357
+ display_name: featureFlagValue.displayName
18358
+ };
18359
+ if (featureFlagValue.conditions && featureFlagValue.conditions.requirementType) {
18360
+ jsonFeatureFlagValue.conditions.requirement_type = featureFlagValue.conditions.requirementType;
18361
+ }
18362
+ if (featureFlagValue.allocation) {
18363
+ jsonFeatureFlagValue.allocation = featureFlagValue.allocation;
18364
+ }
18365
+ if (featureFlagValue.variants) {
18366
+ jsonFeatureFlagValue.variants = featureFlagValue.variants;
18367
+ }
18368
+ if (featureFlagValue.telemetry) {
18369
+ jsonFeatureFlagValue.telemetry = featureFlagValue.telemetry;
18370
+ }
18371
+ return JSON.stringify(jsonFeatureFlagValue);
18330
18372
  }
18331
18373
 
18332
18374
  /**
@@ -28429,7 +28471,7 @@
28429
28471
  const setting = {
28430
28472
  key: featureFlagPrefix + prefix + featureFlag.id,
28431
28473
  label: options.label,
28432
- value: featureFlag,
28474
+ value: serializeFeatureFlagValue(featureFlag),
28433
28475
  contentType: featureFlagContentType,
28434
28476
  tags: options.tags
28435
28477
  };