A framework for building native applications using React
CSSCompoundDataType (#49186)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/49186 Next up for transforms, and for some future cases, it is convenient to be able to export a single marker type like `CSSTransform`, that can expand to a variant of multiple possible types of different shape (e.g. `CSSMatrix3D` vs `CSSScale`). It is also best (for code size) to only have a single representation of compound types (e.g. `<CSSLength, CSSPercentage>` generates a separate copy of code compared to `<CSSPercentage, CSSLength>`). This diff introduces `CSSCompoundDataTypes` which allows composing types, which are then flattened out to discrete types during parsing. For simplicity, `CSSCompoundDataType` cannot currently be nested inside of other `CSSCompoundDataType`, though this could be added in the future. ``` /** * Marker for the <length-percentage> data type * https://drafts.csswg.org/css-values/#mixed-percentages */ using CSSLengthPercentage = CSSCompoundDataType<CSSLength, CSSPercentage>; ``` Changelog: [Internal] Reviewed By: lenaic Differential Revision: D69089416 fbshipit-source-id: 8645009f06eb14b1ac4437a4fc4dd6b9ad3f88a2
N
Nick Gerleman committed
75097b25996228d314b0ad366672ab32f5066729
Parent: b345cec
Committed by Facebook GitHub Bot <[email protected]>
on 2/5/2025, 5:51:21 AM