From 71f59d6a3d2323e9e9079f03398f243a5824da7c Mon Sep 17 00:00:00 2001 From: Lasse Boisen Andersen Date: Wed, 18 Jun 2025 12:40:50 +0200 Subject: [PATCH 1/2] fix numeric comparison in flag evaluation --- packages/flag-evaluation/src/index.ts | 4 ++-- packages/flag-evaluation/test/index.test.ts | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/flag-evaluation/src/index.ts b/packages/flag-evaluation/src/index.ts index 49c7e9af..e87ae2c1 100644 --- a/packages/flag-evaluation/src/index.ts +++ b/packages/flag-evaluation/src/index.ts @@ -304,7 +304,7 @@ export function evaluate( ); return false; } - return fieldValue > value; + return Number(fieldValue) > Number(value); case "LT": if (isNaN(Number(fieldValue)) || isNaN(Number(value))) { console.error( @@ -312,7 +312,7 @@ export function evaluate( ); return false; } - return fieldValue < value; + return Number(fieldValue) < Number(value); case "AFTER": case "BEFORE": { // more/less than `value` days ago diff --git a/packages/flag-evaluation/test/index.test.ts b/packages/flag-evaluation/test/index.test.ts index cb87eca5..2cdbee0c 100644 --- a/packages/flag-evaluation/test/index.test.ts +++ b/packages/flag-evaluation/test/index.test.ts @@ -381,10 +381,12 @@ describe("operator evaluation", () => { ["value", "GT", "value", false], ["value", "GT", "0", false], ["1", "GT", "0", true], + ["2", "GT", "10", false], ["value", "LT", "value", false], ["value", "LT", "0", false], ["0", "LT", "1", true], + ["2", "LT", "10", true], ["start VALUE end", "CONTAINS", "value", true], ["alue", "CONTAINS", "value", false], From 9f57cfb36175874cac82bcfc6c63b89451025c3f Mon Sep 17 00:00:00 2001 From: Lasse Boisen Andersen Date: Wed, 18 Jun 2025 13:39:20 +0200 Subject: [PATCH 2/2] Update README.md