From ca09ad536798c67914d14fdfa4b86cfec921354d Mon Sep 17 00:00:00 2001 From: Ferdi Koomen Date: Wed, 26 Jan 2022 11:32:18 +0100 Subject: [PATCH] - Removed dependency if URLSearchParams --- CHANGELOG.md | 5 ++++ .../core/functions/getQueryString.hbs | 13 ++++++---- test/__snapshots__/index.spec.ts.snap | 26 ++++++++++++------- 3 files changed, 29 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8231fc65..a5a289b0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,12 @@ # Changelog All notable changes to this project will be documented in this file. +## [0.16.2] - 2021-01-26 +### Fixed +- Removed dependency on `URLSearchParams` to support browser and node without any additional imports + ## [0.16.1] - 2021-01-26 +### Fixed - Correct export inside `index.ts` when giving a custom name ## [0.16.0] - 2021-01-25 diff --git a/src/templates/core/functions/getQueryString.hbs b/src/templates/core/functions/getQueryString.hbs index 686d9bf5..eac37f5e 100644 --- a/src/templates/core/functions/getQueryString.hbs +++ b/src/templates/core/functions/getQueryString.hbs @@ -1,5 +1,9 @@ const getQueryString = (params: Record): string => { - const searchParams = new URLSearchParams(); + const qs: string[] = []; + + const append = (key: string, value: any) => { + qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`); + }; const process = (key: string, value: any) => { if (isDefined(value)) { @@ -12,7 +16,7 @@ const getQueryString = (params: Record): string => { process(`${key}[${k}]`, v); }); } else { - searchParams.append(key, value); + append(key, value); } } }; @@ -21,9 +25,8 @@ const getQueryString = (params: Record): string => { process(key, value); }); - const query = searchParams.toString(); - if (query.length) { - return `?${query}`; + if (qs.length > 0) { + return `?${qs.join('&')}`; } return ''; diff --git a/test/__snapshots__/index.spec.ts.snap b/test/__snapshots__/index.spec.ts.snap index f280a93b..062e39f2 100644 --- a/test/__snapshots__/index.spec.ts.snap +++ b/test/__snapshots__/index.spec.ts.snap @@ -271,7 +271,11 @@ const base64 = (str: string): string => { }; const getQueryString = (params: Record): string => { - const searchParams = new URLSearchParams(); + const qs: string[] = []; + + const append = (key: string, value: any) => { + qs.push(\`\${encodeURIComponent(key)}=\${encodeURIComponent(String(value))}\`); + }; const process = (key: string, value: any) => { if (isDefined(value)) { @@ -284,7 +288,7 @@ const getQueryString = (params: Record): string => { process(\`\${key}[\${k}]\`, v); }); } else { - searchParams.append(key, value); + append(key, value); } } }; @@ -293,9 +297,8 @@ const getQueryString = (params: Record): string => { process(key, value); }); - const query = searchParams.toString(); - if (query.length) { - return \`?\${query}\`; + if (qs.length > 0) { + return \`?\${qs.join('&')}\`; } return ''; @@ -3168,7 +3171,11 @@ const base64 = (str: string): string => { }; const getQueryString = (params: Record): string => { - const searchParams = new URLSearchParams(); + const qs: string[] = []; + + const append = (key: string, value: any) => { + qs.push(\`\${encodeURIComponent(key)}=\${encodeURIComponent(String(value))}\`); + }; const process = (key: string, value: any) => { if (isDefined(value)) { @@ -3181,7 +3188,7 @@ const getQueryString = (params: Record): string => { process(\`\${key}[\${k}]\`, v); }); } else { - searchParams.append(key, value); + append(key, value); } } }; @@ -3190,9 +3197,8 @@ const getQueryString = (params: Record): string => { process(key, value); }); - const query = searchParams.toString(); - if (query.length) { - return \`?\${query}\`; + if (qs.length > 0) { + return \`?\${qs.join('&')}\`; } return '';