diff options
Diffstat (limited to 'packages/taler-util/src/taleruri.ts')
-rw-r--r-- | packages/taler-util/src/taleruri.ts | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/packages/taler-util/src/taleruri.ts b/packages/taler-util/src/taleruri.ts index 9717a7d71..4a8647d21 100644 --- a/packages/taler-util/src/taleruri.ts +++ b/packages/taler-util/src/taleruri.ts @@ -122,7 +122,7 @@ export interface BackupRestoreUri { export interface WithdrawExchangeUri { type: TalerUriAction.WithdrawExchange; exchangeBaseUrl: string; - exchangePub: string; + exchangePub?: string; amount?: AmountString; } @@ -401,11 +401,11 @@ export function parseWithdrawExchangeUri( } const c = pi?.rest.split("?"); const parts = c[0].split("/"); - if (parts.length < 2) { + if (parts.length < 1) { return undefined; } const host = parts[0].toLowerCase(); - const exchangePub = parts[parts.length - 1]; + const exchangePub = parts.length > 1 ? parts[parts.length - 1] : undefined; const pathSegments = parts.slice(1, parts.length - 1); const hostAndSegments = [host, ...pathSegments].join("/"); const exchangeBaseUrl = canonicalizeBaseUrl( @@ -417,7 +417,7 @@ export function parseWithdrawExchangeUri( return { type: TalerUriAction.WithdrawExchange, exchangeBaseUrl, - exchangePub, + exchangePub: exchangePub != "" ? exchangePub : undefined, amount, }; } @@ -545,7 +545,7 @@ export function stringifyWithdrawExchange({ const { proto, path, query } = getUrlInfo(exchangeBaseUrl, { a: amount, }); - return `${proto}://withdraw-exchange/${path}${exchangePub}${query}`; + return `${proto}://withdraw-exchange/${path}${exchangePub ?? ""}${query}`; } export function stringifyDevExperimentUri({ |