From 708cf016e4ab1e749b86151aa2a9cc548675d63c Mon Sep 17 00:00:00 2001 From: Sebastian Date: Mon, 22 May 2023 13:13:40 -0300 Subject: nominal typing for taskId, also fixing transactionId reference --- packages/taler-wallet-core/src/util/retries.ts | 88 +++++++++++++------------- 1 file changed, 44 insertions(+), 44 deletions(-) (limited to 'packages/taler-wallet-core/src/util') diff --git a/packages/taler-wallet-core/src/util/retries.ts b/packages/taler-wallet-core/src/util/retries.ts index 7607a6583..d4bd1c05f 100644 --- a/packages/taler-wallet-core/src/util/retries.ts +++ b/packages/taler-wallet-core/src/util/retries.ts @@ -44,7 +44,7 @@ import { } from "../db.js"; import { TalerError } from "@gnu-taler/taler-util"; import { InternalWalletState } from "../internal-wallet-state.js"; -import { PendingTaskType } from "../pending-types.js"; +import { PendingTaskType, TaskId } from "../pending-types.js"; import { GetReadWriteAccess } from "./query.js"; import { assertUnreachable } from "./assertUnreachable.js"; @@ -79,7 +79,7 @@ export namespace OperationAttemptResult { export function longpoll(): OperationAttemptResult { return { type: OperationAttemptResultType.Longpoll, - } + }; } } @@ -214,89 +214,89 @@ export function parseTaskIdentifier(x: string): ParsedTaskIdentifier { throw Error("not yet implemented"); } -export function constructTaskIdentifier(p: ParsedTaskIdentifier): string { +export function constructTaskIdentifier(p: ParsedTaskIdentifier): TaskId { switch (p.tag) { case PendingTaskType.Backup: - return `${p.tag}:${p.backupProviderBaseUrl}`; + return `${p.tag}:${p.backupProviderBaseUrl}` as TaskId; case PendingTaskType.Deposit: - return `${p.tag}:${p.depositGroupId}`; + return `${p.tag}:${p.depositGroupId}` as TaskId; case PendingTaskType.ExchangeCheckRefresh: - return `${p.tag}:${p.exchangeBaseUrl}`; + return `${p.tag}:${p.exchangeBaseUrl}` as TaskId; case PendingTaskType.ExchangeUpdate: - return `${p.tag}:${p.exchangeBaseUrl}`; + return `${p.tag}:${p.exchangeBaseUrl}` as TaskId; case PendingTaskType.PeerPullDebit: - return `${p.tag}:${p.peerPullPaymentIncomingId}`; + return `${p.tag}:${p.peerPullPaymentIncomingId}` as TaskId; case PendingTaskType.PeerPushCredit: - return `${p.tag}:${p.peerPushPaymentIncomingId}`; + return `${p.tag}:${p.peerPushPaymentIncomingId}` as TaskId; case PendingTaskType.PeerPullCredit: - return `${p.tag}:${p.pursePub}`; + return `${p.tag}:${p.pursePub}` as TaskId; case PendingTaskType.PeerPushDebit: - return `${p.tag}:${p.pursePub}`; + return `${p.tag}:${p.pursePub}` as TaskId; case PendingTaskType.Purchase: - return `${p.tag}:${p.proposalId}`; + return `${p.tag}:${p.proposalId}` as TaskId; case PendingTaskType.Recoup: - return `${p.tag}:${p.recoupGroupId}`; + return `${p.tag}:${p.recoupGroupId}` as TaskId; case PendingTaskType.Refresh: - return `${p.tag}:${p.refreshGroupId}`; + return `${p.tag}:${p.refreshGroupId}` as TaskId; case PendingTaskType.TipPickup: - return `${p.tag}:${p.walletTipId}`; + return `${p.tag}:${p.walletTipId}` as TaskId; case PendingTaskType.Withdraw: - return `${p.tag}:${p.withdrawalGroupId}`; + return `${p.tag}:${p.withdrawalGroupId}` as TaskId; default: assertUnreachable(p); } } export namespace TaskIdentifiers { - export function forWithdrawal(wg: WithdrawalGroupRecord): string { - return `${PendingTaskType.Withdraw}:${wg.withdrawalGroupId}`; + export function forWithdrawal(wg: WithdrawalGroupRecord): TaskId { + return `${PendingTaskType.Withdraw}:${wg.withdrawalGroupId}` as TaskId; } - export function forExchangeUpdate(exch: ExchangeRecord): string { - return `${PendingTaskType.ExchangeUpdate}:${exch.baseUrl}`; + export function forExchangeUpdate(exch: ExchangeRecord): TaskId { + return `${PendingTaskType.ExchangeUpdate}:${exch.baseUrl}` as TaskId; } - export function forExchangeUpdateFromUrl(exchBaseUrl: string): string { - return `${PendingTaskType.ExchangeUpdate}:${exchBaseUrl}`; + export function forExchangeUpdateFromUrl(exchBaseUrl: string): TaskId { + return `${PendingTaskType.ExchangeUpdate}:${exchBaseUrl}` as TaskId; } - export function forExchangeCheckRefresh(exch: ExchangeRecord): string { - return `${PendingTaskType.ExchangeCheckRefresh}:${exch.baseUrl}`; + export function forExchangeCheckRefresh(exch: ExchangeRecord): TaskId { + return `${PendingTaskType.ExchangeCheckRefresh}:${exch.baseUrl}` as TaskId; } - export function forTipPickup(tipRecord: TipRecord): string { - return `${PendingTaskType.TipPickup}:${tipRecord.walletTipId}`; + export function forTipPickup(tipRecord: TipRecord): TaskId { + return `${PendingTaskType.TipPickup}:${tipRecord.walletTipId}` as TaskId; } - export function forRefresh(refreshGroupRecord: RefreshGroupRecord): string { - return `${PendingTaskType.Refresh}:${refreshGroupRecord.refreshGroupId}`; + export function forRefresh(refreshGroupRecord: RefreshGroupRecord): TaskId { + return `${PendingTaskType.Refresh}:${refreshGroupRecord.refreshGroupId}` as TaskId; } - export function forPay(purchaseRecord: PurchaseRecord): string { - return `${PendingTaskType.Purchase}:${purchaseRecord.proposalId}`; + export function forPay(purchaseRecord: PurchaseRecord): TaskId { + return `${PendingTaskType.Purchase}:${purchaseRecord.proposalId}` as TaskId; } - export function forRecoup(recoupRecord: RecoupGroupRecord): string { - return `${PendingTaskType.Recoup}:${recoupRecord.recoupGroupId}`; + export function forRecoup(recoupRecord: RecoupGroupRecord): TaskId { + return `${PendingTaskType.Recoup}:${recoupRecord.recoupGroupId}` as TaskId; } - export function forDeposit(depositRecord: DepositGroupRecord): string { - return `${PendingTaskType.Deposit}:${depositRecord.depositGroupId}`; + export function forDeposit(depositRecord: DepositGroupRecord): TaskId { + return `${PendingTaskType.Deposit}:${depositRecord.depositGroupId}` as TaskId; } - export function forBackup(backupRecord: BackupProviderRecord): string { - return `${PendingTaskType.Backup}:${backupRecord.baseUrl}`; + export function forBackup(backupRecord: BackupProviderRecord): TaskId { + return `${PendingTaskType.Backup}:${backupRecord.baseUrl}` as TaskId; } export function forPeerPushPaymentInitiation( ppi: PeerPushPaymentInitiationRecord, - ): string { - return `${PendingTaskType.PeerPushDebit}:${ppi.pursePub}`; + ): TaskId { + return `${PendingTaskType.PeerPushDebit}:${ppi.pursePub}` as TaskId; } export function forPeerPullPaymentInitiation( ppi: PeerPullPaymentInitiationRecord, - ): string { - return `${PendingTaskType.PeerPullCredit}:${ppi.pursePub}`; + ): TaskId { + return `${PendingTaskType.PeerPullCredit}:${ppi.pursePub}` as TaskId; } export function forPeerPullPaymentDebit( ppi: PeerPullPaymentIncomingRecord, - ): string { - return `${PendingTaskType.PeerPullDebit}:${ppi.peerPullPaymentIncomingId}`; + ): TaskId { + return `${PendingTaskType.PeerPullDebit}:${ppi.peerPullPaymentIncomingId}` as TaskId; } export function forPeerPushCredit( ppi: PeerPushPaymentIncomingRecord, - ): string { - return `${PendingTaskType.PeerPushCredit}:${ppi.peerPushPaymentIncomingId}`; + ): TaskId { + return `${PendingTaskType.PeerPushCredit}:${ppi.peerPushPaymentIncomingId}` as TaskId; } } -- cgit v1.2.3