taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

commit 22e87bb18f87ae1b34fdf1536f1f5761ff625c37
parent 2489001d8356f0f97cfff7c4c6bc434f5c3ad403
Author: Sebastian <sebasjm@gmail.com>
Date:   Fri, 23 Sep 2022 15:16:13 -0300

do not add a question mark if there is no params

Diffstat:
Mpackages/taler-util/src/payto.ts | 13+++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)

diff --git 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}`;