From 8ae7f0730b2aa093043bcfffa8ad5bed4ee4e7c1 Mon Sep 17 00:00:00 2001 From: Jesse Yang Date: Tue, 26 Jan 2021 01:19:50 -0800 Subject: [PATCH] Address PR comments --- .../src/query/extractQueryFields.ts | 3 +-- .../src/utils/removeDuplicates.ts | 18 +++++++++--------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/packages/superset-ui-core/src/query/extractQueryFields.ts b/packages/superset-ui-core/src/query/extractQueryFields.ts index 607b8c36f8..3337b3813b 100644 --- a/packages/superset-ui-core/src/query/extractQueryFields.ts +++ b/packages/superset-ui-core/src/query/extractQueryFields.ts @@ -74,8 +74,7 @@ export default function extractQueryFields( } if (normalizedKey === 'metrics') { finalQueryFields[normalizedKey] = finalQueryFields[normalizedKey].concat(value); - } - if (normalizedKey === 'columns') { + } else if (normalizedKey === 'columns') { // currently the columns field only accept pre-defined columns (string shortcut) finalQueryFields[normalizedKey] = finalQueryFields[normalizedKey] .concat(value) diff --git a/packages/superset-ui-core/src/utils/removeDuplicates.ts b/packages/superset-ui-core/src/utils/removeDuplicates.ts index f98f2dc0dc..70e7f84fee 100644 --- a/packages/superset-ui-core/src/utils/removeDuplicates.ts +++ b/packages/superset-ui-core/src/utils/removeDuplicates.ts @@ -20,16 +20,16 @@ * Remove duplicate items from a list. */ export function removeDuplicates(items: T[], hash?: (item: T) => unknown): T[] { - const seen = new Set(); - const result: T[] = []; - items.forEach(x => { - const itemHash = hash ? hash(x) : x; - if (!seen.has(itemHash)) { + if (hash) { + const seen = new Set(); + return items.filter(x => { + const itemHash = hash(x); + if (seen.has(itemHash)) return false; seen.add(itemHash); - result.push(x); - } - }); - return result; + return true; + }); + } + return [...new Set(items)]; } export default removeDuplicates;