From 80e43db2cac84e588c2ef3889e8d90b76bd53714 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Mon, 28 Mar 2022 23:21:49 +0200 Subject: wallet: timeout handling refactoring WIP --- packages/taler-util/src/amounts.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'packages/taler-util/src') diff --git a/packages/taler-util/src/amounts.ts b/packages/taler-util/src/amounts.ts index 505a68f46..98cd4ad62 100644 --- a/packages/taler-util/src/amounts.ts +++ b/packages/taler-util/src/amounts.ts @@ -129,6 +129,17 @@ export class Amounts { return Amounts.add(jsonAmounts[0], ...jsonAmounts.slice(1)); } + static sumOrZero(currency: string, amounts: AmountLike[]): Result { + if (amounts.length <= 0) { + return { + amount: Amounts.getZero(currency), + saturated: false, + }; + } + const jsonAmounts = amounts.map((x) => Amounts.jsonifyAmount(x)); + return Amounts.add(jsonAmounts[0], ...jsonAmounts.slice(1)); + } + /** * Add two amounts. Return the result and whether * the addition overflowed. The overflow is always handled -- cgit v1.2.3