-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(NumberFormat): should not throw exception when providing an invalid currency #4192
fix(NumberFormat): should not throw exception when providing an invalid currency #4192
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
bdce6b9
to
c870c79
Compare
This pull request is automatically built and testable in CodeSandbox. To see build info of the built libraries, click here or the icon next to each commit SHA. |
packages/dnb-eufemia/src/components/number-format/__tests__/NumberUtils.test.ts
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would check for typeof here, just because of the possibility of a falsy value.
packages/dnb-eufemia/src/components/number-format/NumberUtils.js
Outdated
Show resolved
Hide resolved
## [10.54.0](v10.53.0...v10.54.0) (2024-10-30) ### 📝 Documentation * add documentation about `emptyValue` ([#4174](#4174)) ([52457ba](52457ba)), closes [#4070](#4070) ### 🐛 Bug Fixes * **Field.Number:** `decimalLimit={0}` when `currency` should work ([#4167](#4167)) ([68123ea](68123ea)) * **Forms:** correct alignment of Wizard status message (error, warning, info) ([#4185](#4185)) ([a307cda](a307cda)) * **Forms:** ensure autocomplete="off" when autoComplete on Form.Handler is false ([#4184](#4184)) ([6795b9f](6795b9f)) * **Forms:** ensure correct sorting in Field.SelectCountry ([#4196](#4196)) ([8db7720](8db7720)), closes [#4195](#4195) * **Forms:** fix schema validation for required paths with matching name ([#4189](#4189)) ([04caf61](04caf61)), closes [#4179](#4179) * **Forms:** only run onBlurValidator when no other errors are present ([#4172](#4172)) ([d2797f1](d2797f1)), closes [#4074](#4074) * **Forms:** render multiple (combined) Ajv errors with translated messages ([#4176](#4176)) ([2b62ef7](2b62ef7)), closes [#4052](#4052) * **Forms:** updates country names in SelectCountry ([#4187](#4187)) ([bb1b67c](bb1b67c)) * **NumberFormat:** should not throw exception when providing an invalid currency ([#4192](#4192)) ([a0700cd](a0700cd)) * **Table:** fix visible hidden rows for additional expandable table rows ([#4188](#4188)) ([16b6101](16b6101)) ### ✨ Features * add CountryFlag component ([#4181](#4181)) ([76a0c47](76a0c47)) * **Dialog:** add `verticalAlignment` property with `top` alignment support ([#4190](#4190)) ([3ace8b0](3ace8b0)) * **Forms:** add `onDone`, `onCancel` and `onEdit` to Form.Section containers ([#4199](#4199)) ([2f27ad0](2f27ad0)) * **Forms:** add `transformData` to the onSubmit event of Form.Handler ([#4183](#4183)) ([748b604](748b604)) * **Forms:** deprecate `useErrorMessage` hook for when creating your own fields ([#4177](#4177)) ([2ae86f2](2ae86f2)), closes [#4162](#4162) * **Forms:** deprecate Ajv `validationRule` in FormError and deprecate `errorMessages` keys like `pattern` in favor of Eufemia translation keys like `Field.errorPattern` ([#4162](#4162)) ([b50387a](b50387a)) * **Keyboard navigation:** add support for `key` property (useful for fire events like {ArrowDown} during tests) ([#4182](#4182)) ([cc1ffa8](cc1ffa8)) * **Upload:** `text` and `title` is possible to remove ([#4163](#4163)) ([b6db4a4](b6db4a4)) * **Upload:** removes subtitle displaying file extension ([#4156](#4156)) ([9bf9b9e](9bf9b9e)) * **Upload:** updates drag and drop texts in Norwegian ([#4170](#4170)) ([ad5bbec](ad5bbec))
🎉 This PR is included in version 10.54.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
In this PR, not providing a valid currency when providing value
null
will result in"null"
.And when not providing a valid currency when providing value
undefined
will result in"undefined"
.I don't think it's optimal, but I think it's good enough, as I believe this is an edge-case.
Initially, I would want it to result in the same as using default currency(when not providing a valid one).
Which is
NOK 0.00
.But to figure out that you have not provided a valid currency, one would have to check up against all valid currencies(https://en.wikipedia.org/wiki/ISO_4217), which is too much job 😅
I guess we could just return
0
if value isnull
orundefined
, and then don't care about the other options/properties? 🤔