diff options
author | Sebastian <sebasjm@gmail.com> | 2022-10-17 13:50:17 -0300 |
---|---|---|
committer | Sebastian <sebasjm@gmail.com> | 2022-10-17 13:50:17 -0300 |
commit | 57892db20af42afa702ed41347c6da4b0cd5cb93 (patch) | |
tree | 0159aee26bee9a7b7627baf692ccf4c5a082bd3d /packages/taler-wallet-core/src/operations/common.ts | |
parent | 995b6b4e96e2bd750d2d42f7ff806f4e2efb2d19 (diff) | |
download | wallet-core-57892db20af42afa702ed41347c6da4b0cd5cb93.tar.xz |
extends parseId to include tmb
Diffstat (limited to 'packages/taler-wallet-core/src/operations/common.ts')
-rw-r--r-- | packages/taler-wallet-core/src/operations/common.ts | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/packages/taler-wallet-core/src/operations/common.ts b/packages/taler-wallet-core/src/operations/common.ts index 2bed195a1..59d2b8ec3 100644 --- a/packages/taler-wallet-core/src/operations/common.ts +++ b/packages/taler-wallet-core/src/operations/common.ts @@ -306,23 +306,26 @@ export function makeTransactionId( return `txn:${type}:${args.map((x) => encodeURIComponent(x)).join(":")}`; } -export function parseTransactionId(txId: string): { +export function parseId( + idType: "txn" | "tmb" | "any", + txId: string, +): { type: TransactionType; args: string[]; } { const txnParts = txId.split(":"); if (txnParts.length < 3) { - throw Error("transactionId should have al least 3 parts separated by ':'"); + throw Error("id should have al least 3 parts separated by ':'"); } - const [txn, typeStr, ...args] = txnParts; + const [prefix, typeStr, ...args] = txnParts; const type = typeStr as TransactionType; - if (txn !== "txn") { - throw Error("transactionId should start with txn"); + if (idType != "any" && prefix !== idType) { + throw Error(`id should start with ${idType}`); } if (args.length === 0) { - throw Error("transactionId should have one or more arguments"); + throw Error("id should have one or more arguments"); } return { type, args }; |