@react-native-ohos/react-native-reanimated 4.0.1 → 4.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/compatibility.json +161 -161
  2. package/harmony/reanimated/BuildProfile.ets +1 -1
  3. package/harmony/reanimated/build-profile.json5 +18 -18
  4. package/harmony/reanimated/hvigorfile.ts +4 -4
  5. package/harmony/reanimated/index.ets +4 -4
  6. package/harmony/reanimated/oh-package-lock.json5 +39 -0
  7. package/harmony/reanimated/oh-package.json5 +12 -12
  8. package/harmony/reanimated/src/main/cpp/CMakeLists.txt +62 -62
  9. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/AnimatedSensor/AnimatedSensorModule.cpp +81 -81
  10. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/AnimatedSensor/AnimatedSensorModule.h +46 -46
  11. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/InterpolatorRegistry.cpp +390 -390
  12. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/InterpolatorRegistry.h +16 -16
  13. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/definitions.h +30 -30
  14. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/filters/FilterOp.cpp +46 -46
  15. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/filters/FilterOp.h +23 -23
  16. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/Quaternion.cpp +53 -53
  17. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/Quaternion.h +21 -21
  18. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix.cpp +166 -166
  19. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix.h +71 -71
  20. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix2D.cpp +368 -368
  21. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix2D.h +53 -53
  22. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix3D.cpp +594 -594
  23. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix3D.h +67 -67
  24. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformOp.cpp +52 -52
  25. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformOp.h +26 -26
  26. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/vectors.cpp +156 -156
  27. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/vectors.h +76 -76
  28. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSAngle.cpp +94 -94
  29. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSAngle.h +33 -33
  30. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSBoolean.cpp +48 -48
  31. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSBoolean.h +31 -31
  32. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSColor.cpp +135 -135
  33. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSColor.h +61 -61
  34. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSDiscreteArray.cpp +100 -100
  35. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSDiscreteArray.h +45 -45
  36. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSKeyword.cpp +81 -81
  37. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSKeyword.h +53 -53
  38. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSLength.cpp +122 -122
  39. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSLength.h +38 -38
  40. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSNumber.cpp +82 -82
  41. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSNumber.h +63 -63
  42. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValue.h +118 -118
  43. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValueVariant.cpp +174 -174
  44. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValueVariant.h +111 -111
  45. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSBoxShadow.cpp +196 -196
  46. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSBoxShadow.h +66 -66
  47. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSDropShadow.cpp +134 -134
  48. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSDropShadow.h +44 -44
  49. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSAnimationConfig.cpp +174 -174
  50. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSAnimationConfig.h +49 -49
  51. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSKeyframesConfig.cpp +45 -45
  52. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSKeyframesConfig.h +26 -26
  53. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSTransitionConfig.cpp +90 -90
  54. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSTransitionConfig.h +43 -43
  55. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/common.cpp +17 -17
  56. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/common.h +13 -13
  57. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSAnimation.cpp +127 -127
  58. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSAnimation.h +51 -51
  59. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSTransition.cpp +145 -145
  60. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSTransition.h +47 -47
  61. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/EasingFunctions.cpp +69 -69
  62. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/EasingFunctions.h +22 -22
  63. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/cubicBezier.cpp +66 -66
  64. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/cubicBezier.h +15 -15
  65. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/linear.cpp +28 -28
  66. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/linear.h +15 -15
  67. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/steps.cpp +13 -13
  68. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/steps.h +12 -12
  69. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/InterpolatorFactory.cpp +157 -157
  70. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/InterpolatorFactory.h +189 -189
  71. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/PropertyInterpolator.cpp +76 -76
  72. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/PropertyInterpolator.h +66 -66
  73. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/configs.h +20 -20
  74. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperation.cpp +136 -136
  75. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperation.h +40 -40
  76. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperationInterpolator.cpp +38 -38
  77. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperationInterpolator.h +24 -24
  78. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterStyleInterpolator.cpp +58 -58
  79. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterStyleInterpolator.h +24 -24
  80. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/blur.h +14 -14
  81. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/brightness.h +14 -14
  82. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/contrast.h +14 -14
  83. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/dropShadow.h +17 -17
  84. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/grayscale.h +14 -14
  85. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/hueRotate.h +14 -14
  86. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/invert.h +14 -14
  87. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/opacity.h +14 -14
  88. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/saturate.h +14 -14
  89. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/sepia.h +14 -14
  90. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/ArrayPropertiesInterpolator.cpp +95 -95
  91. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/ArrayPropertiesInterpolator.h +36 -36
  92. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/GroupPropertiesInterpolator.cpp +41 -41
  93. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/GroupPropertiesInterpolator.h +32 -32
  94. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/RecordPropertiesInterpolator.cpp +99 -99
  95. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/RecordPropertiesInterpolator.h +37 -37
  96. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/OperationsStyleInterpolator.cpp +308 -308
  97. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/OperationsStyleInterpolator.h +100 -100
  98. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperation.cpp +19 -19
  99. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperation.h +94 -94
  100. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperationInterpolator.cpp +18 -18
  101. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperationInterpolator.h +43 -43
  102. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/AnimationStyleInterpolator.h +26 -26
  103. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/TransitionStyleInterpolator.cpp +103 -103
  104. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/TransitionStyleInterpolator.h +42 -42
  105. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperation.cpp +224 -224
  106. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperation.h +52 -52
  107. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperationInterpolator.cpp +218 -218
  108. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperationInterpolator.h +89 -89
  109. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformsStyleInterpolator.cpp +149 -149
  110. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformsStyleInterpolator.h +33 -33
  111. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/matrix.cpp +208 -208
  112. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/matrix.h +56 -56
  113. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/perspective.cpp +42 -42
  114. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/perspective.h +20 -20
  115. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/rotate.cpp +41 -41
  116. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/rotate.h +39 -39
  117. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/scale.cpp +28 -28
  118. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/scale.h +25 -25
  119. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/skew.cpp +14 -14
  120. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/skew.h +20 -20
  121. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/translate.cpp +39 -39
  122. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/translate.h +25 -25
  123. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ResolvableValueInterpolator.cpp +47 -47
  124. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ResolvableValueInterpolator.h +43 -43
  125. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/SimpleValueInterpolator.cpp +70 -70
  126. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/SimpleValueInterpolator.h +40 -40
  127. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ValueInterpolator.cpp +146 -146
  128. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ValueInterpolator.h +71 -71
  129. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/misc/ViewStylesRepository.cpp +155 -155
  130. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/misc/ViewStylesRepository.h +53 -53
  131. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/AnimationProgressProvider.cpp +170 -170
  132. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/AnimationProgressProvider.h +67 -67
  133. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/KeyframeProgressProvider.h +12 -12
  134. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/RawProgressProvider.cpp +41 -41
  135. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/RawProgressProvider.h +31 -31
  136. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/TransitionProgressProvider.cpp +193 -193
  137. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/TransitionProgressProvider.h +77 -77
  138. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSAnimationsRegistry.cpp +340 -340
  139. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSAnimationsRegistry.h +80 -80
  140. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSKeyframesRegistry.cpp +45 -45
  141. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSKeyframesRegistry.h +29 -29
  142. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSTransitionsRegistry.cpp +167 -167
  143. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSTransitionsRegistry.h +51 -51
  144. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/StaticPropsRegistry.cpp +61 -61
  145. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/StaticPropsRegistry.h +33 -33
  146. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGBrush.cpp +80 -80
  147. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGBrush.h +39 -39
  148. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGLength.cpp +93 -93
  149. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGLength.h +36 -36
  150. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGStrokeDashArray.cpp +111 -111
  151. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGStrokeDashArray.h +33 -33
  152. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/DelayedItemsManager.cpp +75 -75
  153. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/DelayedItemsManager.h +45 -45
  154. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/algorithms.cpp +12 -12
  155. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/algorithms.h +10 -10
  156. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/interpolators.cpp +36 -36
  157. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/interpolators.h +23 -23
  158. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/props.cpp +149 -149
  159. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/props.h +32 -32
  160. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitHook.cpp +113 -113
  161. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitHook.h +49 -49
  162. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitShadowNode.h +46 -46
  163. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedMountHook.cpp +56 -56
  164. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedMountHook.h +37 -37
  165. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ShadowTreeCloner.cpp +104 -104
  166. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ShadowTreeCloner.h +22 -22
  167. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.cpp +72 -72
  168. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.h +25 -25
  169. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistry.cpp +160 -160
  170. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistry.h +71 -71
  171. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistryManager.cpp +161 -161
  172. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistryManager.h +65 -65
  173. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationType.h +11 -11
  174. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsManager.cpp +137 -137
  175. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsManager.h +82 -82
  176. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.cpp +79 -79
  177. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.h +81 -81
  178. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Experimental.cpp +864 -864
  179. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Experimental.h +214 -214
  180. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.cpp +897 -897
  181. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.h +220 -220
  182. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsUtils.cpp +31 -31
  183. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsUtils.h +146 -146
  184. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/PropsDiffer.cpp +456 -456
  185. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/PropsDiffer.h +102 -102
  186. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/SharedTransitions.cpp +544 -544
  187. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/PropValueProcessor.cpp +119 -119
  188. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/PropValueProcessor.h +39 -39
  189. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.cpp +1380 -1380
  190. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.h +230 -230
  191. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxySpec.cpp +183 -183
  192. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxySpec.h +93 -93
  193. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/RNRuntimeDecorator.cpp +54 -54
  194. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/RNRuntimeDecorator.h +28 -28
  195. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/UIRuntimeDecorator.cpp +58 -58
  196. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/UIRuntimeDecorator.h +31 -31
  197. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/FeatureFlags.cpp +18 -18
  198. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/FeatureFlags.h +44 -44
  199. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/PlatformDepMethodsHolder.h +67 -67
  200. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/ReanimatedSystraceSection.h +114 -114
  201. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/ReanimatedVersion.cpp +46 -46
  202. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/ReanimatedVersion.h +18 -18
  203. package/harmony/reanimated/src/main/cpp/ReanimatedModule.cpp +246 -233
  204. package/harmony/reanimated/src/main/cpp/ReanimatedModule.h +23 -23
  205. package/harmony/reanimated/src/main/cpp/ReanimatedNodesManager.cpp +56 -56
  206. package/harmony/reanimated/src/main/cpp/ReanimatedNodesManager.h +30 -30
  207. package/harmony/reanimated/src/main/cpp/ReanimatedPackage.cpp +44 -44
  208. package/harmony/reanimated/src/main/cpp/ReanimatedPackage.h +16 -16
  209. package/harmony/reanimated/src/main/cpp/ReanimatedSensor.cpp +265 -265
  210. package/harmony/reanimated/src/main/cpp/ReanimatedSensor.h +36 -36
  211. package/harmony/reanimated/src/main/cpp/ReanimatedSensorContainer.cpp +35 -35
  212. package/harmony/reanimated/src/main/cpp/ReanimatedSensorContainer.h +23 -23
  213. package/harmony/reanimated/src/main/cpp/ReanimatedUIScheduler.cpp +23 -23
  214. package/harmony/reanimated/src/main/cpp/ReanimatedUIScheduler.h +19 -19
  215. package/harmony/reanimated/src/main/cpp/TransformParser.h +93 -93
  216. package/harmony/reanimated/src/main/ets/AnimationManager.ts +60 -60
  217. package/harmony/reanimated/src/main/ets/ReanimatedModule.ts +62 -51
  218. package/harmony/reanimated/src/main/ets/ReanimatedPackage.ts +25 -25
  219. package/harmony/reanimated/src/main/module.json5 +12 -12
  220. package/harmony/reanimated/src/main/resources/base/element/color.json +7 -7
  221. package/harmony/reanimated/src/main/resources/base/element/string.json +15 -15
  222. package/harmony/reanimated/src/main/resources/base/profile/main_pages.json +5 -5
  223. package/harmony/reanimated/src/main/resources/en_US/element/string.json +15 -15
  224. package/harmony/reanimated/src/main/resources/zh_CN/element/string.json +15 -15
  225. package/harmony/reanimated/ts.ts +6 -6
  226. package/harmony/reanimated.har +0 -0
  227. package/package.json +70 -69
  228. package/scripts/deploy.js +191 -191
  229. package/scripts/set-reanimated-version.js +37 -37
  230. package/scripts/update-version.js +119 -119
  231. package/scripts/validate-react-native-version.js +46 -46
  232. package/scripts/validate-worklets-build.js +17 -17
  233. package/scripts/validate-worklets-version.js +84 -84
  234. package/scripts/worklets-version.json +4 -4
  235. package/src/index.ts +9 -9
@@ -1,174 +1,174 @@
1
- #include <reanimated/CSS/common/values/CSSAngle.h>
2
- #include <reanimated/CSS/common/values/CSSBoolean.h>
3
- #include <reanimated/CSS/common/values/CSSColor.h>
4
- #include <reanimated/CSS/common/values/CSSDiscreteArray.h>
5
- #include <reanimated/CSS/common/values/CSSKeyword.h>
6
- #include <reanimated/CSS/common/values/CSSLength.h>
7
- #include <reanimated/CSS/common/values/CSSNumber.h>
8
- #include <reanimated/CSS/common/values/CSSValueVariant.h>
9
- #include <reanimated/CSS/common/values/complex/CSSBoxShadow.h>
10
- #include <reanimated/CSS/svg/values/SVGBrush.h>
11
- #include <reanimated/CSS/svg/values/SVGLength.h>
12
- #include <reanimated/CSS/svg/values/SVGStrokeDashArray.h>
13
-
14
- #include <worklets/Tools/JSISerializer.h>
15
-
16
- #include <string>
17
- #include <utility>
18
- #include <vector>
19
-
20
- namespace reanimated::css {
21
-
22
- template <typename... AllowedTypes>
23
- CSSValueVariant<AllowedTypes...>::CSSValueVariant(std::variant<AllowedTypes...> &&storage)
24
- : storage_(std::move(storage)) {}
25
-
26
- template <typename... AllowedTypes>
27
- CSSValueVariant<AllowedTypes...>::CSSValueVariant(jsi::Runtime &rt, const jsi::Value &jsiValue) {
28
- auto tryOne = [&]<typename TCSSValue>() -> bool {
29
- // We have to check in a runtime if the type can be constructed from the
30
- // provided jsi::Value. The first match will be used to construct the
31
- // CSS value.
32
- if (!TCSSValue::canConstruct(rt, jsiValue)) {
33
- return false;
34
- }
35
- storage_ = TCSSValue(rt, jsiValue);
36
- return true;
37
- };
38
-
39
- // Try constructing with each allowed type until one succeeds
40
- if (!(tryOne.template operator()<AllowedTypes>() || ...)) {
41
- throw std::runtime_error(
42
- "[Reanimated] No compatible type found for construction from: " + worklets::stringifyJSIValue(rt, jsiValue));
43
- }
44
- }
45
-
46
- template <typename... AllowedTypes>
47
- CSSValueVariant<AllowedTypes...>::CSSValueVariant(const folly::dynamic &value) {
48
- auto tryOne = [&]<typename TCSSValue>() -> bool {
49
- // We have to check in a runtime if the type can be constructed from the
50
- // provided folly::dynamic. The first match will be used to construct the
51
- // CSS value.
52
- if (!TCSSValue::canConstruct(value)) {
53
- return false;
54
- }
55
- storage_ = TCSSValue(value);
56
- return true;
57
- };
58
-
59
- // Try constructing with each allowed type until one succeeds
60
- if (!(tryOne.template operator()<AllowedTypes>() || ...)) {
61
- throw std::runtime_error("[Reanimated] No compatible type found for construction from: " + folly::toJson(value));
62
- }
63
- }
64
-
65
- template <typename... AllowedTypes>
66
- bool CSSValueVariant<AllowedTypes...>::operator==(const CSSValueVariant &other) const {
67
- if (storage_.index() != other.storage_.index()) {
68
- return false;
69
- }
70
-
71
- return std::visit(
72
- [](const auto &lhs, const auto &rhs) {
73
- REA_IF_SAME_TYPE(lhs, rhs) {
74
- return lhs == rhs;
75
- }
76
- return false;
77
- },
78
- storage_,
79
- other.storage_);
80
- }
81
-
82
- template <typename... AllowedTypes>
83
- bool CSSValueVariant<AllowedTypes...>::operator==(const CSSValue &other) const {
84
- if (auto *o = dynamic_cast<const CSSValueVariant *>(&other)) {
85
- return *this == *o;
86
- }
87
- return false;
88
- }
89
-
90
- template <typename... AllowedTypes>
91
- folly::dynamic CSSValueVariant<AllowedTypes...>::toDynamic() const {
92
- return std::visit([](const auto &v) { return v.toDynamic(); }, storage_);
93
- }
94
-
95
- template <typename... AllowedTypes>
96
- std::string CSSValueVariant<AllowedTypes...>::toString() const {
97
- return std::visit([](const auto &v) { return v.toString(); }, storage_);
98
- }
99
-
100
- template <typename... AllowedTypes>
101
- CSSValueVariant<AllowedTypes...> CSSValueVariant<AllowedTypes...>::interpolate(
102
- const double progress,
103
- const CSSValueVariant &to,
104
- const ValueInterpolationContext &context) const {
105
- if (storage_.index() != to.storage_.index()) {
106
- return fallbackInterpolate(progress, to, context.fallbackInterpolateThreshold);
107
- }
108
-
109
- return std::visit(
110
- [&](const auto &fromValue, const auto &toValue) -> CSSValueVariant {
111
- REA_IF_SAME_TYPE(fromValue, toValue) {
112
- if constexpr (Resolvable<L>) {
113
- throw std::runtime_error("[Reanimated] Resolvable value cannot be interpolated as non-resolvable");
114
- } else if (fromValue.canInterpolateTo(toValue)) {
115
- return CSSValueVariant(fromValue.interpolate(progress, toValue));
116
- }
117
- }
118
- return fallbackInterpolate(progress, to, context.fallbackInterpolateThreshold);
119
- },
120
- storage_,
121
- to.storage_);
122
- }
123
-
124
- template <typename... AllowedTypes>
125
- CSSValueVariant<AllowedTypes...> CSSValueVariant<AllowedTypes...>::interpolate(
126
- const double progress,
127
- const CSSValueVariant &to,
128
- const ResolvableValueInterpolationContext &context) const {
129
- if (storage_.index() != to.storage_.index()) {
130
- return fallbackInterpolate(progress, to, context.fallbackInterpolateThreshold);
131
- }
132
-
133
- return std::visit(
134
- [&](const auto &fromValue, const auto &toValue) -> CSSValueVariant {
135
- REA_IF_SAME_TYPE(fromValue, toValue) {
136
- if constexpr (!Resolvable<L>) {
137
- throw std::runtime_error("[Reanimated] Non-resolvable value cannot be interpolated as resolvable");
138
- } else if (fromValue.canInterpolateTo(toValue)) {
139
- return CSSValueVariant(fromValue.interpolate(progress, toValue, context));
140
- }
141
- }
142
- return fallbackInterpolate(progress, to, context.fallbackInterpolateThreshold);
143
- },
144
- storage_,
145
- to.storage_);
146
- }
147
-
148
- template <typename... AllowedTypes>
149
- CSSValueVariant<AllowedTypes...> CSSValueVariant<AllowedTypes...>::fallbackInterpolate(
150
- const double progress,
151
- const CSSValueVariant &to,
152
- const double fallbackInterpolateThreshold) const {
153
- return (progress < fallbackInterpolateThreshold) ? *this : to;
154
- }
155
-
156
- template class CSSValueVariant<CSSLength>;
157
- template class CSSValueVariant<CSSLength, CSSKeyword>;
158
- template class CSSValueVariant<CSSDouble>;
159
- template class CSSValueVariant<CSSDouble, CSSKeyword>;
160
- template class CSSValueVariant<CSSInteger>;
161
- template class CSSValueVariant<CSSKeyword>;
162
- template class CSSValueVariant<CSSAngle>;
163
- template class CSSValueVariant<CSSBoolean>;
164
- template class CSSValueVariant<CSSColor>;
165
- template class CSSValueVariant<CSSDisplay>;
166
- template class CSSValueVariant<CSSBoxShadow>;
167
- template class CSSValueVariant<CSSDiscreteArray<CSSKeyword>>;
168
-
169
- template class CSSValueVariant<SVGLength>;
170
- template class CSSValueVariant<SVGLength, CSSKeyword>;
171
- template class CSSValueVariant<SVGStrokeDashArray, CSSKeyword>;
172
- template class CSSValueVariant<SVGBrush>;
173
-
174
- } // namespace reanimated::css
1
+ #include <reanimated/CSS/common/values/CSSAngle.h>
2
+ #include <reanimated/CSS/common/values/CSSBoolean.h>
3
+ #include <reanimated/CSS/common/values/CSSColor.h>
4
+ #include <reanimated/CSS/common/values/CSSDiscreteArray.h>
5
+ #include <reanimated/CSS/common/values/CSSKeyword.h>
6
+ #include <reanimated/CSS/common/values/CSSLength.h>
7
+ #include <reanimated/CSS/common/values/CSSNumber.h>
8
+ #include <reanimated/CSS/common/values/CSSValueVariant.h>
9
+ #include <reanimated/CSS/common/values/complex/CSSBoxShadow.h>
10
+ #include <reanimated/CSS/svg/values/SVGBrush.h>
11
+ #include <reanimated/CSS/svg/values/SVGLength.h>
12
+ #include <reanimated/CSS/svg/values/SVGStrokeDashArray.h>
13
+
14
+ #include <worklets/Tools/JSISerializer.h>
15
+
16
+ #include <string>
17
+ #include <utility>
18
+ #include <vector>
19
+
20
+ namespace reanimated::css {
21
+
22
+ template <typename... AllowedTypes>
23
+ CSSValueVariant<AllowedTypes...>::CSSValueVariant(std::variant<AllowedTypes...> &&storage)
24
+ : storage_(std::move(storage)) {}
25
+
26
+ template <typename... AllowedTypes>
27
+ CSSValueVariant<AllowedTypes...>::CSSValueVariant(jsi::Runtime &rt, const jsi::Value &jsiValue) {
28
+ auto tryOne = [&]<typename TCSSValue>() -> bool {
29
+ // We have to check in a runtime if the type can be constructed from the
30
+ // provided jsi::Value. The first match will be used to construct the
31
+ // CSS value.
32
+ if (!TCSSValue::canConstruct(rt, jsiValue)) {
33
+ return false;
34
+ }
35
+ storage_ = TCSSValue(rt, jsiValue);
36
+ return true;
37
+ };
38
+
39
+ // Try constructing with each allowed type until one succeeds
40
+ if (!(tryOne.template operator()<AllowedTypes>() || ...)) {
41
+ throw std::runtime_error(
42
+ "[Reanimated] No compatible type found for construction from: " + worklets::stringifyJSIValue(rt, jsiValue));
43
+ }
44
+ }
45
+
46
+ template <typename... AllowedTypes>
47
+ CSSValueVariant<AllowedTypes...>::CSSValueVariant(const folly::dynamic &value) {
48
+ auto tryOne = [&]<typename TCSSValue>() -> bool {
49
+ // We have to check in a runtime if the type can be constructed from the
50
+ // provided folly::dynamic. The first match will be used to construct the
51
+ // CSS value.
52
+ if (!TCSSValue::canConstruct(value)) {
53
+ return false;
54
+ }
55
+ storage_ = TCSSValue(value);
56
+ return true;
57
+ };
58
+
59
+ // Try constructing with each allowed type until one succeeds
60
+ if (!(tryOne.template operator()<AllowedTypes>() || ...)) {
61
+ throw std::runtime_error("[Reanimated] No compatible type found for construction from: " + folly::toJson(value));
62
+ }
63
+ }
64
+
65
+ template <typename... AllowedTypes>
66
+ bool CSSValueVariant<AllowedTypes...>::operator==(const CSSValueVariant &other) const {
67
+ if (storage_.index() != other.storage_.index()) {
68
+ return false;
69
+ }
70
+
71
+ return std::visit(
72
+ [](const auto &lhs, const auto &rhs) {
73
+ REA_IF_SAME_TYPE(lhs, rhs) {
74
+ return lhs == rhs;
75
+ }
76
+ return false;
77
+ },
78
+ storage_,
79
+ other.storage_);
80
+ }
81
+
82
+ template <typename... AllowedTypes>
83
+ bool CSSValueVariant<AllowedTypes...>::operator==(const CSSValue &other) const {
84
+ if (auto *o = dynamic_cast<const CSSValueVariant *>(&other)) {
85
+ return *this == *o;
86
+ }
87
+ return false;
88
+ }
89
+
90
+ template <typename... AllowedTypes>
91
+ folly::dynamic CSSValueVariant<AllowedTypes...>::toDynamic() const {
92
+ return std::visit([](const auto &v) { return v.toDynamic(); }, storage_);
93
+ }
94
+
95
+ template <typename... AllowedTypes>
96
+ std::string CSSValueVariant<AllowedTypes...>::toString() const {
97
+ return std::visit([](const auto &v) { return v.toString(); }, storage_);
98
+ }
99
+
100
+ template <typename... AllowedTypes>
101
+ CSSValueVariant<AllowedTypes...> CSSValueVariant<AllowedTypes...>::interpolate(
102
+ const double progress,
103
+ const CSSValueVariant &to,
104
+ const ValueInterpolationContext &context) const {
105
+ if (storage_.index() != to.storage_.index()) {
106
+ return fallbackInterpolate(progress, to, context.fallbackInterpolateThreshold);
107
+ }
108
+
109
+ return std::visit(
110
+ [&](const auto &fromValue, const auto &toValue) -> CSSValueVariant {
111
+ REA_IF_SAME_TYPE(fromValue, toValue) {
112
+ if constexpr (Resolvable<L>) {
113
+ throw std::runtime_error("[Reanimated] Resolvable value cannot be interpolated as non-resolvable");
114
+ } else if (fromValue.canInterpolateTo(toValue)) {
115
+ return CSSValueVariant(fromValue.interpolate(progress, toValue));
116
+ }
117
+ }
118
+ return fallbackInterpolate(progress, to, context.fallbackInterpolateThreshold);
119
+ },
120
+ storage_,
121
+ to.storage_);
122
+ }
123
+
124
+ template <typename... AllowedTypes>
125
+ CSSValueVariant<AllowedTypes...> CSSValueVariant<AllowedTypes...>::interpolate(
126
+ const double progress,
127
+ const CSSValueVariant &to,
128
+ const ResolvableValueInterpolationContext &context) const {
129
+ if (storage_.index() != to.storage_.index()) {
130
+ return fallbackInterpolate(progress, to, context.fallbackInterpolateThreshold);
131
+ }
132
+
133
+ return std::visit(
134
+ [&](const auto &fromValue, const auto &toValue) -> CSSValueVariant {
135
+ REA_IF_SAME_TYPE(fromValue, toValue) {
136
+ if constexpr (!Resolvable<L>) {
137
+ throw std::runtime_error("[Reanimated] Non-resolvable value cannot be interpolated as resolvable");
138
+ } else if (fromValue.canInterpolateTo(toValue)) {
139
+ return CSSValueVariant(fromValue.interpolate(progress, toValue, context));
140
+ }
141
+ }
142
+ return fallbackInterpolate(progress, to, context.fallbackInterpolateThreshold);
143
+ },
144
+ storage_,
145
+ to.storage_);
146
+ }
147
+
148
+ template <typename... AllowedTypes>
149
+ CSSValueVariant<AllowedTypes...> CSSValueVariant<AllowedTypes...>::fallbackInterpolate(
150
+ const double progress,
151
+ const CSSValueVariant &to,
152
+ const double fallbackInterpolateThreshold) const {
153
+ return (progress < fallbackInterpolateThreshold) ? *this : to;
154
+ }
155
+
156
+ template class CSSValueVariant<CSSLength>;
157
+ template class CSSValueVariant<CSSLength, CSSKeyword>;
158
+ template class CSSValueVariant<CSSDouble>;
159
+ template class CSSValueVariant<CSSDouble, CSSKeyword>;
160
+ template class CSSValueVariant<CSSInteger>;
161
+ template class CSSValueVariant<CSSKeyword>;
162
+ template class CSSValueVariant<CSSAngle>;
163
+ template class CSSValueVariant<CSSBoolean>;
164
+ template class CSSValueVariant<CSSColor>;
165
+ template class CSSValueVariant<CSSDisplay>;
166
+ template class CSSValueVariant<CSSBoxShadow>;
167
+ template class CSSValueVariant<CSSDiscreteArray<CSSKeyword>>;
168
+
169
+ template class CSSValueVariant<SVGLength>;
170
+ template class CSSValueVariant<SVGLength, CSSKeyword>;
171
+ template class CSSValueVariant<SVGStrokeDashArray, CSSKeyword>;
172
+ template class CSSValueVariant<SVGBrush>;
173
+
174
+ } // namespace reanimated::css
@@ -1,111 +1,111 @@
1
- #pragma once
2
-
3
- #include <reanimated/CSS/common/values/CSSValue.h>
4
-
5
- #include <folly/json.h>
6
-
7
- #include <stdexcept>
8
- #include <string>
9
- #include <type_traits>
10
- #include <utility>
11
- #include <variant>
12
-
13
- namespace reanimated::css {
14
-
15
- /**
16
- * Macro to check if two lambda parameters have the same reference-removed type.
17
- *
18
- * Usage:
19
- * REA_IF_SAME_TYPE(lhs, rhs) {
20
- * // same-type block
21
- * } else {
22
- * // mismatch block
23
- * }
24
- */
25
- #define REA_IF_SAME_TYPE(lhs, rhs) \
26
- using L = std::remove_reference_t<decltype(lhs)>; \
27
- using R = std::remove_reference_t<decltype(rhs)>; \
28
- if constexpr (std::is_same_v<L, R>) // NOLINT(readability/braces)
29
-
30
- // Checks whether a type has canConstruct(...) for a generic value
31
- template <typename TCSSValue, typename TValue>
32
- concept ValueConstructibleCSSValue = requires(TValue &&value) {
33
- { TCSSValue::canConstruct(std::forward<TValue>(value)) } -> std::same_as<bool>;
34
- }; // NOLINT(readability/braces)
35
-
36
- // Checks whether a type can be constructed from a jsi::Value
37
- template <typename TCSSValue>
38
- concept JSIConstructibleCSSValue = requires(jsi::Runtime &rt, const jsi::Value &value) {
39
- { TCSSValue::canConstruct(rt, value) } -> std::same_as<bool>;
40
- { TCSSValue(rt, value) } -> std::same_as<TCSSValue>;
41
- }; // NOLINT(readability/braces)
42
-
43
- // Checks whether a type can be constructed from a folly::dynamic
44
- template <typename TCSSValue>
45
- concept DynamicConstructibleCSSValue = requires(const folly::dynamic &value) {
46
- { TCSSValue::canConstruct(value) } -> std::same_as<bool>;
47
- { TCSSValue(value) } -> std::same_as<TCSSValue>;
48
- }; // NOLINT(readability/braces)
49
-
50
- /**
51
- * CSSValueVariant
52
- *
53
- * A std::variant-based container for multiple CSSValue-derived types.
54
- */
55
- template <typename... AllowedTypes>
56
- class CSSValueVariant final : public CSSValue {
57
- static_assert(
58
- (JSIConstructibleCSSValue<AllowedTypes> && ...),
59
- "CSSValueVariant accepts only types that can be constructed from a jsi::Value");
60
- static_assert(
61
- (DynamicConstructibleCSSValue<AllowedTypes> && ...),
62
- "CSSValueVariant accepts only types that can be constructed from a folly::dynamic");
63
-
64
- public:
65
- CSSValueVariant() = default;
66
-
67
- /**
68
- * Construct from std::variant storage directly
69
- */
70
- explicit CSSValueVariant(std::variant<AllowedTypes...> &&storage);
71
-
72
- /**
73
- * Construct from jsi::Value if it matches any AllowedType's constructor
74
- * (chooses the first one that matches)
75
- */
76
- explicit CSSValueVariant(jsi::Runtime &rt, const jsi::Value &jsiValue);
77
-
78
- /**
79
- * Construct from folly::dynamic if it matches any AllowedType's constructor
80
- * (chooses the first one that matches)
81
- */
82
- explicit CSSValueVariant(const folly::dynamic &value);
83
-
84
- bool operator==(const CSSValueVariant &other) const;
85
- bool operator==(const CSSValue &other) const;
86
-
87
- folly::dynamic toDynamic() const override;
88
- std::string toString() const override;
89
-
90
- /**
91
- * Interpolate (non-resolvable)
92
- */
93
- CSSValueVariant
94
- interpolate(const double progress, const CSSValueVariant &to, const ValueInterpolationContext &context) const;
95
-
96
- /**
97
- * Interpolate (resolvable)
98
- */
99
- CSSValueVariant interpolate(
100
- const double progress,
101
- const CSSValueVariant &to,
102
- const ResolvableValueInterpolationContext &context) const;
103
-
104
- private:
105
- std::variant<AllowedTypes...> storage_;
106
-
107
- CSSValueVariant
108
- fallbackInterpolate(const double progress, const CSSValueVariant &to, double fallbackInterpolateThreshold) const;
109
- };
110
-
111
- } // namespace reanimated::css
1
+ #pragma once
2
+
3
+ #include <reanimated/CSS/common/values/CSSValue.h>
4
+
5
+ #include <folly/json.h>
6
+
7
+ #include <stdexcept>
8
+ #include <string>
9
+ #include <type_traits>
10
+ #include <utility>
11
+ #include <variant>
12
+
13
+ namespace reanimated::css {
14
+
15
+ /**
16
+ * Macro to check if two lambda parameters have the same reference-removed type.
17
+ *
18
+ * Usage:
19
+ * REA_IF_SAME_TYPE(lhs, rhs) {
20
+ * // same-type block
21
+ * } else {
22
+ * // mismatch block
23
+ * }
24
+ */
25
+ #define REA_IF_SAME_TYPE(lhs, rhs) \
26
+ using L = std::remove_reference_t<decltype(lhs)>; \
27
+ using R = std::remove_reference_t<decltype(rhs)>; \
28
+ if constexpr (std::is_same_v<L, R>) // NOLINT(readability/braces)
29
+
30
+ // Checks whether a type has canConstruct(...) for a generic value
31
+ template <typename TCSSValue, typename TValue>
32
+ concept ValueConstructibleCSSValue = requires(TValue &&value) {
33
+ { TCSSValue::canConstruct(std::forward<TValue>(value)) } -> std::same_as<bool>;
34
+ }; // NOLINT(readability/braces)
35
+
36
+ // Checks whether a type can be constructed from a jsi::Value
37
+ template <typename TCSSValue>
38
+ concept JSIConstructibleCSSValue = requires(jsi::Runtime &rt, const jsi::Value &value) {
39
+ { TCSSValue::canConstruct(rt, value) } -> std::same_as<bool>;
40
+ { TCSSValue(rt, value) } -> std::same_as<TCSSValue>;
41
+ }; // NOLINT(readability/braces)
42
+
43
+ // Checks whether a type can be constructed from a folly::dynamic
44
+ template <typename TCSSValue>
45
+ concept DynamicConstructibleCSSValue = requires(const folly::dynamic &value) {
46
+ { TCSSValue::canConstruct(value) } -> std::same_as<bool>;
47
+ { TCSSValue(value) } -> std::same_as<TCSSValue>;
48
+ }; // NOLINT(readability/braces)
49
+
50
+ /**
51
+ * CSSValueVariant
52
+ *
53
+ * A std::variant-based container for multiple CSSValue-derived types.
54
+ */
55
+ template <typename... AllowedTypes>
56
+ class CSSValueVariant final : public CSSValue {
57
+ static_assert(
58
+ (JSIConstructibleCSSValue<AllowedTypes> && ...),
59
+ "CSSValueVariant accepts only types that can be constructed from a jsi::Value");
60
+ static_assert(
61
+ (DynamicConstructibleCSSValue<AllowedTypes> && ...),
62
+ "CSSValueVariant accepts only types that can be constructed from a folly::dynamic");
63
+
64
+ public:
65
+ CSSValueVariant() = default;
66
+
67
+ /**
68
+ * Construct from std::variant storage directly
69
+ */
70
+ explicit CSSValueVariant(std::variant<AllowedTypes...> &&storage);
71
+
72
+ /**
73
+ * Construct from jsi::Value if it matches any AllowedType's constructor
74
+ * (chooses the first one that matches)
75
+ */
76
+ explicit CSSValueVariant(jsi::Runtime &rt, const jsi::Value &jsiValue);
77
+
78
+ /**
79
+ * Construct from folly::dynamic if it matches any AllowedType's constructor
80
+ * (chooses the first one that matches)
81
+ */
82
+ explicit CSSValueVariant(const folly::dynamic &value);
83
+
84
+ bool operator==(const CSSValueVariant &other) const;
85
+ bool operator==(const CSSValue &other) const;
86
+
87
+ folly::dynamic toDynamic() const override;
88
+ std::string toString() const override;
89
+
90
+ /**
91
+ * Interpolate (non-resolvable)
92
+ */
93
+ CSSValueVariant
94
+ interpolate(const double progress, const CSSValueVariant &to, const ValueInterpolationContext &context) const;
95
+
96
+ /**
97
+ * Interpolate (resolvable)
98
+ */
99
+ CSSValueVariant interpolate(
100
+ const double progress,
101
+ const CSSValueVariant &to,
102
+ const ResolvableValueInterpolationContext &context) const;
103
+
104
+ private:
105
+ std::variant<AllowedTypes...> storage_;
106
+
107
+ CSSValueVariant
108
+ fallbackInterpolate(const double progress, const CSSValueVariant &to, double fallbackInterpolateThreshold) const;
109
+ };
110
+
111
+ } // namespace reanimated::css