From 98017dc36f3e2fc3d2a5178fb7259205504e5582 Mon Sep 17 00:00:00 2001 From: Valya <68596159+valya@users.noreply.github.com> Date: Mon, 16 Jan 2023 14:15:19 +0000 Subject: [PATCH] fix: Extension deep compare not quite working for some primitives (#5172) fix: extension deep compare not quite working for some primitives --- packages/workflow/src/Extensions/ArrayExtensions.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/workflow/src/Extensions/ArrayExtensions.ts b/packages/workflow/src/Extensions/ArrayExtensions.ts index f66d412f5b..6ff73d516c 100644 --- a/packages/workflow/src/Extensions/ArrayExtensions.ts +++ b/packages/workflow/src/Extensions/ArrayExtensions.ts @@ -16,6 +16,11 @@ function deepCompare(left: unknown, right: unknown): boolean { return true; } + // Explicitly return false if certain primitives don't equal each other + if (['number', 'string', 'bigint', 'boolean', 'symbol'].includes(typeof left) && left !== right) { + return false; + } + // Quickly check how many properties each has to avoid checking obviously mismatching // objects if (Object.keys(left as object).length !== Object.keys(right as object).length) {