Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore: stricter TS check for transform style (facebook#38348)
Summary: This improves the strictness of TS typings for `transform` on `View`'s `style` prop. Consider the following example, with what TS reports in case of errors, using RN 0.72.3. The ❌ / ✅ symbols indicate whether TS is happy with the code ```tsx ❌ <View style={{ transform: [{ scale: undefined }] }} /> // TS2769: No overload matches this call. ❌ <View style={{ transform: [{ something: 1 }] }} /> // TS2769: No overload matches this call. ✅ <View style={{ transform: [{ scale: 1 }, { rotate: '90deg' }] }} /> ✅ <View style={{ transform: [{ scale: 1, translateX: 1 }] }} /> // this is WRONG, corrected in the next row ✅ <View style={{ transform: [{ scale: 1 }, { translateX: 1 }] }} /> ``` With this change, TS will report an error even for line 4 ```tsx ❌ <View style={{ transform: [{ scale: undefined }] }} /> // TS2769: No overload matches this call. ❌ <View style={{ transform: [{ something: 1 }] }} /> // TS2769: No overload matches this call. ✅ <View style={{ transform: [{ scale: 1 }, { rotate: '90deg' }] }} /> ❌ <View style={{ transform: [{ scale: 1, translateX: 1 }] }} /> // TS2769: No overload matches this call. ✅ <View style={{ transform: [{ scale: 1 }, { translateX: 1 }] }} /> ``` ## Changelog: <!-- Help reviewers and the release process by writing your own changelog entry. [GENERAL] [CHANGED] - stricter TS check for transform style For more details, see: https://reactnative.dev/contributing/changelogs-in-pull-requests Pull Request resolved: facebook#38348 Test Plan: tested locally with the example given above; also added a TS type test Reviewed By: rshest Differential Revision: D47526366 Pulled By: NickGerleman fbshipit-source-id: 5bd007ce29509ccdfce74c3864dee24290d9a175
- Loading branch information