From 9841fa3c637edafd48d8dfd80f070f26a6cd158f Mon Sep 17 00:00:00 2001 From: jeffvli Date: Mon, 26 Dec 2022 05:15:19 -0800 Subject: [PATCH] Use URLSearchParams for parser --- src/renderer/utils/parse-search-params.ts | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/renderer/utils/parse-search-params.ts b/src/renderer/utils/parse-search-params.ts index 95967158..e335d308 100644 --- a/src/renderer/utils/parse-search-params.ts +++ b/src/renderer/utils/parse-search-params.ts @@ -1,3 +1,17 @@ +import isUndefined from 'lodash/isUndefined'; +import omitBy from 'lodash/omitBy'; + export const parseSearchParams = (searchParams: Record) => { - return JSON.parse(JSON.stringify(searchParams)); + const params = new URLSearchParams(); + const paramsWithoutUndefined = omitBy(searchParams, isUndefined); + + Object.entries(paramsWithoutUndefined).forEach(([key, value]) => { + if (!Array.isArray(value)) { + params.append(key, value.toString()); + } else { + value.forEach((value) => params.append(key, value.toString())); + } + }); + + return params.toString(); };