summaryrefslogtreecommitdiff
path: root/packages/taler-util/src/taleruri.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/taler-util/src/taleruri.ts')
-rw-r--r--packages/taler-util/src/taleruri.ts10
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({