123ishaTest/ludiek

[Currency] Improve CurrencyPlugin to deal better with duplicate currencies

Offen

#61 geöffnet am 26.07.2025

 (2 Kommentare) (1 Reaktion) (0 zugewiesene Personen)TypeScript (4 Forks)auto 404
good first issueplugin

Repository-Metriken

Stars
 (12 Sterne)
PR-Merge-Metriken
 (PR-Metriken ausstehend)

Beschreibung

The CurrencyPlugin provides helper method that deal with lists of currencies. However this could lead to the following odd scenario

const currency = new CurrencyPlugin([{ id: 'money' }]);
currency.gainCurrency({ id: 'money', amount: 1 });

const isPaid = currency.payCurrencies([
  { id: 'money', amount: 1 },
  { id: 'money', amount: 1 },
]);

console.log(isPaid); // true
console.log(currency.getBalance('money')); // -1

We could merge these lists together with a new simplifyCurrencyList function before checking, so it becomes

[{ id: 'money', amount: 2 }]

Contributor Guide