From 01c673b9ddd1b8ac0d226d08464c883ba521eed2 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Sat, 14 Sep 2024 14:12:35 +0200 Subject: [PATCH] catalog-backend: refactor filter parsing Signed-off-by: Patrik Oldsberg --- .../src/service/request/parseEntityFilterParams.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/plugins/catalog-backend/src/service/request/parseEntityFilterParams.ts b/plugins/catalog-backend/src/service/request/parseEntityFilterParams.ts index cfd9aa0aa5..8666712f80 100644 --- a/plugins/catalog-backend/src/service/request/parseEntityFilterParams.ts +++ b/plugins/catalog-backend/src/service/request/parseEntityFilterParams.ts @@ -60,7 +60,7 @@ export function parseEntityFilterString( return undefined; } - const filtersByKey: Record = {}; + const filtersByKey = new Map(); for (const statement of statements) { const equalsIndex = statement.indexOf('='); @@ -79,8 +79,11 @@ export function parseEntityFilterString( ); } - const f = - key in filtersByKey ? filtersByKey[key] : (filtersByKey[key] = { key }); + let f = filtersByKey.get(key); + if (!f) { + f = { key }; + filtersByKey.set(key, f); + } if (value !== undefined) { f.values = f.values || []; @@ -88,5 +91,5 @@ export function parseEntityFilterString( } } - return Object.values(filtersByKey); + return Array.from(filtersByKey.values()); }