123ishaTest/ludiek

[Currency] Improve CurrencyPlugin to deal better with duplicate currencies

オープン

#61 opened on 2025/07/26

 (2 件のコメント) (1 件のリアクション) (0 人の担当者)TypeScript (4 件のフォーク)auto 404
good first issueplugin

Repository metrics

Stars
 (12 個のスター)
PR merge metrics
 (30d に merged PR はありません)

説明

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 }]

コントリビューターガイド