-
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
feat(NumberUtils.format): Only return object if returnAria: true #3262
Conversation
The function `format` only returns an object if the option `returnAria` was passed in as `true`, but TypeScript doesn’t know this. With this change, we’re making an overload for the function that only returns the object in the right situation. This way, the caller doesn’t need to check the returned value before being able to use it as a string (or number).
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
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. Latest deployment of this branch, based on commit 76fb120:
|
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.
Thank you! Very nice 👌
## [10.19.0](v10.18.0...v10.19.0) (2024-01-22) ### 🐛 Bug Fixes * **Autocomplete:** replace existing aria-live handling with the AriaLive component ([#3258](#3258)) ([0ec06ca](0ec06ca)) * **Breadcrumb:** fix rehydration disturbance ([#3254](#3254)) ([dcf3a8b](dcf3a8b)), closes [#2762](#2762) [#2671](#2671) * **DrawerList:** update original data when data prop changes ([#3247](#3247)) ([d1b03c2](d1b03c2)) * **Field:** show error state without error object if parent FieldBlock has error ([#3225](#3225)) ([35fe238](35fe238)), closes [#2958](#2958) * **Flex.Container:** ensure rowGap=false has effect ([#3242](#3242)) ([e18ddfd](e18ddfd)) * **forms:** rename `contents` to `content` ([#3257](#3257)) ([2c9a397](2c9a397)) * **Input:** should not clear input value with escape key ([#3235](#3235)) ([979b3e3](979b3e3)) * **PhoneNumber:** handle pattern, schema and validator with country code ([#3249](#3249)) ([ed115d5](ed115d5)) * **Table.Accordion:** prevent accordion from opening on label click ([#3228](#3228)) ([ee5014f](ee5014f)) * **Textarea:** correct outline to be inset ([#3237](#3237)) ([6433470](6433470)) ### ✨ Features * **AriaLive:** add new component ([#3217](#3217)) ([7c79a54](7c79a54)) * **Flex:** add `line-framed` to divider ([#3244](#3244)) ([1aa3338](1aa3338)), closes [#3242](#3242) [#3245](#3245) * **forms:** add labelDescription prop to fields (`labelSecondary` got removed) ([#3251](#3251)) ([00c278c](00c278c)), closes [#3209](#3209) [#3252](#3252) * **NumberUtils.format:** Only return object if returnAria: true ([#3262](#3262)) ([ca4315f](ca4315f)) * **Section:** add support for backgroundColor=transparent ([#3255](#3255)) ([07e1545](07e1545)) * **Textarea:** add characterCounter ([#3210](#3210)) ([5c9dde9](5c9dde9)), closes [#3217](#3217) * **TextCounter:** add new fragment used in Textarea ([#3250](#3250)) ([3093c28](3093c28)), closes [#3210](#3210)
🎉 This PR is included in version 10.19.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
The function
format
only returns an object if the optionreturnAria
was passed in astrue
, but TypeScript doesn’t know this.With this change, we’re making an overload for the function that only returns the object in the right situation. This way, the caller doesn’t need to check the returned value before being able to use it as a string (or number).
The
formatReturnType
type is now unused, but given it's been exported I opted to not remove it as that might be considered a breaking change.You can consider this more of a suggestion than a request though, I'm not sure what your policy or testing setup is like for type changes :)