Using the latest Dinero, in the codebase I'm recently in charge with there's an absence of standard how they write 'usd'. As a result, this happens:
Dinero({
currency: 'usd' as 'USD',
amount: 1
}).add(Dinero({
currency: 'USD',
amount: 1,
}))
Throws You must provide a Dinero instance with the same currency. For Dinero, 'usd' and 'USD' aren't the same currencies it seems.
Is there a way to either make Dinero throw when a wrong currency is supplied? usd in lowercase is presumably a wrong one because in DefinitelyTyped the currency type includes only USD.
If not throw, then at least automatically convert it to uppercase.