Skip to content

Commit e5c0dd7

Browse files
committed
update enhanced ff filter parameter handling with classic
1 parent b50daed commit e5c0dd7

2 files changed

Lines changed: 4 additions & 13 deletions

File tree

src/featureManagement/featureFlagConverter.ts

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ export function convert(featureFlag: AzAppConfigFeatureFlag): FeatureFlag {
2626
const clientFilter: FeatureFilter = { name: filter.name };
2727
if (filter.parameters != null) {
2828
clientFilter.parameters = Object.fromEntries(
29-
Object.entries(filter.parameters).map(([name, value]) => [name, parseParameterValue(value, featureFlag.name)]));
29+
Object.entries(filter.parameters).map(([name, value]) => [name, parseJsonValue(value, featureFlag.name)]));
3030
}
3131
return clientFilter;
3232
})
@@ -94,15 +94,6 @@ export function convert(featureFlag: AzAppConfigFeatureFlag): FeatureFlag {
9494
return result;
9595
}
9696

97-
function parseParameterValue(value: string, featureFlagName: string): unknown {
98-
const trimmedValue = value.trim();
99-
if (trimmedValue.length > 0 && (trimmedValue[0] === "{" || trimmedValue[0] === "[")) {
100-
return parseJsonValue(value, featureFlagName);
101-
}
102-
103-
return value;
104-
}
105-
10697
function parseJsonValue(value: string, featureFlagName: string): unknown {
10798
try {
10899
return JSON.parse(value) as unknown;

test/featureFlag.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -569,7 +569,7 @@ describe("enhanced feature flags", function () {
569569
parameters: {
570570
Audience: JSON.stringify(audience),
571571
JsonArray: " [\"one\",\"two\"] ",
572-
PlainText: "not-json",
572+
PlainText: JSON.stringify("not-json"),
573573
Percentage: "50"
574574
}
575575
}]
@@ -587,7 +587,7 @@ describe("enhanced feature flags", function () {
587587
expect(parameters.Audience).deep.equals(audience);
588588
expect(parameters.JsonArray).deep.equals(["one", "two"]);
589589
expect(parameters.PlainText).equals("not-json");
590-
expect(parameters.Percentage).equals("50");
590+
expect(parameters.Percentage).equals(50);
591591
});
592592

593593
it("should throw for invalid JSON in enhanced feature flag filter parameters", () => {
@@ -651,7 +651,7 @@ describe("enhanced feature flags", function () {
651651
const enhancedFeatureFlag = createMockedEnhancedFeatureFlag("Variant", {
652652
conditions: {
653653
requirementType: "All",
654-
filters: [{ name: "Microsoft.TimeWindow", parameters: { Start: "Mon, 01 Jan 2024 00:00:00 GMT" } }]
654+
filters: [{ name: "Microsoft.TimeWindow", parameters: { Start: JSON.stringify("Mon, 01 Jan 2024 00:00:00 GMT") } }]
655655
},
656656
variants: [
657657
{ name: "Off", value: false, statusOverride: "Disabled" },

0 commit comments

Comments
 (0)