From 99085c9863a0b8f8744def8588eaa5933c79e0fa Mon Sep 17 00:00:00 2001 From: legonzaur Date: Fri, 21 Apr 2023 10:09:23 +0200 Subject: [PATCH] remove list filtering for performance reasons --- src/client/client.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/client/client.ts b/src/client/client.ts index 43cd1f9..9c16298 100644 --- a/src/client/client.ts +++ b/src/client/client.ts @@ -14,13 +14,7 @@ function computeQueryParam( queryParam: string, comparison: string | number ): boolean { - const params = queryParam.split(',') - const blacklist = params.filter((e) => e.startsWith('!')).map(e => e.substring(1)) - const whitelist = params.filter((e) => !e.startsWith('!')) - - const blackPass = blacklist.reduce((acc, element) => element != comparison && acc, true) - const whitePass = whitelist.length == 0 ? true : whitelist.reduce((acc, element) => element == comparison || acc, false) - return blackPass && whitePass + return queryParam.startsWith('!') ? queryParam.substring(1) != comparison : queryParam == comparison } function filters(e: typeof allData[0], query: any) { @@ -92,6 +86,7 @@ router.get( default: return res.status(400).send() } + const timeStart = new Date() allData .filter((e) => filters(e, req.query)) .forEach((e) => { @@ -127,6 +122,11 @@ router.get( Number(e.max_distance) ) }) + console.log( + 'Data calculation finished. Took + ' + + Math.abs(new Date().getTime() - timeStart.getTime()) / 1000 + + ' seconds' + ) res.status(200).send(data) } )