diff options
author | Sebastian <sebasjm@gmail.com> | 2022-09-23 15:16:13 -0300 |
---|---|---|
committer | Sebastian <sebasjm@gmail.com> | 2022-09-23 15:18:48 -0300 |
commit | 22e87bb18f87ae1b34fdf1536f1f5761ff625c37 (patch) | |
tree | c482c09ff950ec190797657efa001a4f375f74b2 | |
parent | 2489001d8356f0f97cfff7c4c6bc434f5c3ad403 (diff) |
do not add a question mark if there is no params
-rw-r--r-- | packages/taler-util/src/payto.ts | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/packages/taler-util/src/payto.ts b/packages/taler-util/src/payto.ts index 49caa9d6b..c5a58022d 100644 --- a/packages/taler-util/src/payto.ts +++ b/packages/taler-util/src/payto.ts @@ -63,7 +63,11 @@ export function addPaytoQueryParams( ): string { const [acct, search] = s.slice(paytoPfx.length).split("?"); const searchParams = new URLSearchParams(search || ""); - for (const k of Object.keys(params)) { + const keys = Object.keys(params) + if (keys.length === 0) { + return paytoPfx + acct + } + for (const k of keys) { searchParams.set(k, params[k]); } return paytoPfx + acct + "?" + searchParams.toString(); @@ -76,9 +80,10 @@ export function addPaytoQueryParams( * @returns */ export function stringifyPaytoUri(p: PaytoUri): string { - const url = `${paytoPfx}${p.targetType}//${p.targetPath}`; - if (p.params) { - const search = Object.entries(p.params) + const url = `${paytoPfx}${p.targetType}/${p.targetPath}`; + const paramList = !p.params ? [] : Object.entries(p.params); + if (paramList.length > 0) { + const search = paramList .map(([key, value]) => `${key}=${value}`) .join("&"); return `${url}?${search}`; |