From f09ab0ca16f6909cc94912ee215b69f22f96c3f7 Mon Sep 17 00:00:00 2001 From: "thomas.kainrad" Date: Wed, 1 Oct 2025 10:28:42 +0200 Subject: [PATCH] fix: do not treat falsy values like 0 and false as undefined --- packages/experiment-core/src/evaluation/evaluation.ts | 2 +- packages/experiment-core/src/evaluation/select.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/experiment-core/src/evaluation/evaluation.ts b/packages/experiment-core/src/evaluation/evaluation.ts index 6fa22b48..7dc0518a 100644 --- a/packages/experiment-core/src/evaluation/evaluation.ts +++ b/packages/experiment-core/src/evaluation/evaluation.ts @@ -116,7 +116,7 @@ export class EvaluationEngine { // We need special matching for null properties and set type prop values // and operators. All other values are matched as strings, since the // filter values are always strings. - if (!propValue) { + if (propValue === undefined || propValue === null) { return this.matchNull(condition.op, condition.values); } else if (this.isSetOperator(condition.op)) { const propValueStringList = this.coerceStringArray(propValue); diff --git a/packages/experiment-core/src/evaluation/select.ts b/packages/experiment-core/src/evaluation/select.ts index fc3d0924..804e6c0b 100644 --- a/packages/experiment-core/src/evaluation/select.ts +++ b/packages/experiment-core/src/evaluation/select.ts @@ -11,7 +11,7 @@ export const select = ( } selectable = (selectable as Record)[selectorElement]; } - if (!selectable) { + if (selectable === undefined || selectable === null) { return undefined; } else { return selectable;