@react-native-ohos/react-native-reanimated 4.0.0-rc.1 → 4.0.2-beta.1

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 +16 -16
  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 +65 -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 -93
  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 -44
  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 -110
  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 -1376
  190. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.h +230 -228
  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 +233 -230
  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 +51 -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 -68
  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 -79
  234. package/scripts/worklets-version.json +4 -4
  235. package/src/index.ts +9 -9
@@ -1,189 +1,189 @@
1
- #pragma once
2
-
3
- #include <reanimated/CSS/interpolation/PropertyInterpolator.h>
4
- #include <reanimated/CSS/interpolation/configs.h>
5
- #include <reanimated/CSS/interpolation/filters/FilterOperation.h>
6
- #include <reanimated/CSS/interpolation/filters/FilterOperationInterpolator.h>
7
- #include <reanimated/CSS/interpolation/groups/ArrayPropertiesInterpolator.h>
8
- #include <reanimated/CSS/interpolation/groups/RecordPropertiesInterpolator.h>
9
- #include <reanimated/CSS/interpolation/operations/StyleOperationInterpolator.h>
10
- #include <reanimated/CSS/interpolation/transforms/TransformOperation.h>
11
- #include <reanimated/CSS/interpolation/transforms/TransformOperationInterpolator.h>
12
- #include <reanimated/CSS/interpolation/transforms/TransformsStyleInterpolator.h>
13
- #include <reanimated/CSS/interpolation/values/ResolvableValueInterpolator.h>
14
- #include <reanimated/CSS/interpolation/values/SimpleValueInterpolator.h>
15
-
16
- #include <memory>
17
- #include <string>
18
- #include <unordered_map>
19
- #include <utility>
20
-
21
- namespace reanimated::css {
22
-
23
- // Template class implementations
24
- template <typename... AllowedTypes>
25
- class SimpleValueInterpolatorFactory : public PropertyInterpolatorFactory {
26
- public:
27
- template <typename TValue>
28
- explicit SimpleValueInterpolatorFactory(const TValue &defaultValue)
29
- : PropertyInterpolatorFactory(), defaultValue_(defaultValue) {}
30
-
31
- bool isDiscreteProperty() const override {
32
- // The property is considered discrete if all of the allowed types are
33
- // discrete
34
- return (Discrete<AllowedTypes> && ...);
35
- }
36
-
37
- const CSSValue &getDefaultValue() const override {
38
- return defaultValue_;
39
- }
40
-
41
- std::shared_ptr<PropertyInterpolator> create(
42
- const PropertyPath &propertyPath,
43
- const std::shared_ptr<ViewStylesRepository> &viewStylesRepository) const override {
44
- return std::make_shared<SimpleValueInterpolator<AllowedTypes...>>(
45
- propertyPath, defaultValue_, viewStylesRepository);
46
- }
47
-
48
- private:
49
- const CSSValueVariant<AllowedTypes...> defaultValue_;
50
- };
51
-
52
- template <typename... AllowedTypes>
53
- class ResolvableValueInterpolatorFactory : public PropertyInterpolatorFactory {
54
- public:
55
- template <typename TValue>
56
- explicit ResolvableValueInterpolatorFactory(const TValue &defaultValue, ResolvableValueInterpolatorConfig config)
57
- : PropertyInterpolatorFactory(), defaultValue_(defaultValue), config_(std::move(config)) {}
58
-
59
- const CSSValue &getDefaultValue() const override {
60
- return defaultValue_;
61
- }
62
-
63
- std::shared_ptr<PropertyInterpolator> create(
64
- const PropertyPath &propertyPath,
65
- const std::shared_ptr<ViewStylesRepository> &viewStylesRepository) const override {
66
- return std::make_shared<ResolvableValueInterpolator<AllowedTypes...>>(
67
- propertyPath, defaultValue_, viewStylesRepository, config_);
68
- }
69
-
70
- private:
71
- const CSSValueVariant<AllowedTypes...> defaultValue_;
72
- ResolvableValueInterpolatorConfig config_;
73
- };
74
-
75
- /**
76
- * Helper function to create a concrete CSSValue from defaultValue
77
- */
78
- template <typename... AllowedTypes>
79
- CSSValueVariant<AllowedTypes...> createCSSValue(const auto &defaultValue) {
80
- using ValueType = decltype(defaultValue);
81
- CSSValueVariant<AllowedTypes...> result;
82
-
83
- auto tryOne = [&]<typename TCSSValue>() -> bool {
84
- if constexpr (std::is_constructible_v<TCSSValue, ValueType>) {
85
- if constexpr (ValueConstructibleCSSValue<TCSSValue, ValueType>) {
86
- // For construction from a non-jsi::Value, we perform a runtime
87
- // canConstruct check only if the type has a canConstruct method.
88
- // (this is needed e.g. when different CSS value types can be
89
- // constructed from the same value type, like CSSLength and CSSKeyword)
90
- if (!TCSSValue::canConstruct(defaultValue)) {
91
- return false;
92
- }
93
- }
94
- result = CSSValueVariant<AllowedTypes...>(std::variant<AllowedTypes...>(TCSSValue(defaultValue)));
95
- return true;
96
- }
97
- return false;
98
- };
99
-
100
- // Try constructing with each allowed type until one succeeds
101
- if (!(tryOne.template operator()<AllowedTypes>() || ...)) {
102
- throw std::runtime_error("[Reanimated] No compatible type found for construction from defaultValue");
103
- }
104
-
105
- return result;
106
- }
107
-
108
- /**
109
- * Value interpolator factories
110
- */
111
- template <typename... AllowedTypes>
112
- auto value(const auto &defaultValue) -> std::enable_if_t<
113
- (std::is_constructible_v<AllowedTypes, decltype(defaultValue)> || ...),
114
- std::shared_ptr<PropertyInterpolatorFactory>> {
115
- // Create a concrete CSSValue from the defaultValue
116
- auto cssValue = createCSSValue<AllowedTypes...>(defaultValue);
117
- return std::make_shared<SimpleValueInterpolatorFactory<AllowedTypes...>>(std::move(cssValue));
118
- }
119
-
120
- template <typename... AllowedTypes>
121
- auto value(const auto &defaultValue, ResolvableValueInterpolatorConfig config) -> std::enable_if_t<
122
- (std::is_constructible_v<AllowedTypes, decltype(defaultValue)> || ...),
123
- std::shared_ptr<PropertyInterpolatorFactory>> {
124
- // Create a concrete CSSValue from the defaultValue
125
- auto cssValue = createCSSValue<AllowedTypes...>(defaultValue);
126
- return std::make_shared<ResolvableValueInterpolatorFactory<AllowedTypes...>>(std::move(cssValue), std::move(config));
127
- }
128
-
129
- /**
130
- * Transform operation interpolator factories
131
- */
132
- template <typename TOperation>
133
- auto transformOp(const auto &defaultValue) -> std::enable_if_t<
134
- std::is_base_of_v<TransformOperation, TOperation> && std::is_constructible_v<TOperation, decltype(defaultValue)>,
135
- std::shared_ptr<StyleOperationInterpolator>> {
136
- return std::make_shared<TransformOperationInterpolator<TOperation>>(std::make_shared<TOperation>(defaultValue));
137
- }
138
-
139
- template <typename TOperation>
140
- auto transformOp(const auto &defaultValue, ResolvableValueInterpolatorConfig config) -> std::enable_if_t<
141
- std::is_base_of_v<TransformOperation, TOperation> && std::is_constructible_v<TOperation, decltype(defaultValue)> &&
142
- ResolvableOp<TOperation>,
143
- std::shared_ptr<StyleOperationInterpolator>> {
144
- return std::make_shared<TransformOperationInterpolator<TOperation>>(
145
- std::make_shared<TOperation>(defaultValue), std::move(config));
146
- }
147
-
148
- /**
149
- * Filter operation interpolator factories
150
- */
151
- template <typename TOperation>
152
- auto filterOp(const auto &defaultValue) -> std::enable_if_t<
153
- std::is_base_of_v<FilterOperation, TOperation> && std::is_constructible_v<TOperation, decltype(defaultValue)>,
154
- std::shared_ptr<StyleOperationInterpolator>> {
155
- return std::make_shared<FilterOperationInterpolator<TOperation>>(std::make_shared<TOperation>(defaultValue));
156
- }
157
-
158
- template <typename TOperation>
159
- auto filterOp(const auto &defaultValue, ResolvableValueInterpolatorConfig config) -> std::enable_if_t<
160
- std::is_base_of_v<FilterOperation, TOperation> && std::is_constructible_v<TOperation, decltype(defaultValue)> &&
161
- ResolvableOp<TOperation>,
162
- std::shared_ptr<StyleOperationInterpolator>> {
163
- return std::make_shared<FilterOperationInterpolator<TOperation>>(
164
- std::make_shared<TOperation>(defaultValue), std::move(config));
165
- }
166
-
167
- /**
168
- * Record property interpolator factory
169
- */
170
- std::shared_ptr<PropertyInterpolatorFactory> record(const InterpolatorFactoriesRecord &factories);
171
-
172
- /**
173
- * Array property interpolator factory
174
- */
175
- std::shared_ptr<PropertyInterpolatorFactory> array(const InterpolatorFactoriesArray &factories);
176
-
177
- /**
178
- * Transform interpolators
179
- */
180
- std::shared_ptr<PropertyInterpolatorFactory> transforms(
181
- const std::unordered_map<std::string, std::shared_ptr<StyleOperationInterpolator>> &interpolators);
182
-
183
- /**
184
- * Filter interpolators
185
- */
186
- std::shared_ptr<PropertyInterpolatorFactory> filters(
187
- const std::unordered_map<std::string, std::shared_ptr<StyleOperationInterpolator>> &interpolators);
188
-
189
- } // namespace reanimated::css
1
+ #pragma once
2
+
3
+ #include <reanimated/CSS/interpolation/PropertyInterpolator.h>
4
+ #include <reanimated/CSS/interpolation/configs.h>
5
+ #include <reanimated/CSS/interpolation/filters/FilterOperation.h>
6
+ #include <reanimated/CSS/interpolation/filters/FilterOperationInterpolator.h>
7
+ #include <reanimated/CSS/interpolation/groups/ArrayPropertiesInterpolator.h>
8
+ #include <reanimated/CSS/interpolation/groups/RecordPropertiesInterpolator.h>
9
+ #include <reanimated/CSS/interpolation/operations/StyleOperationInterpolator.h>
10
+ #include <reanimated/CSS/interpolation/transforms/TransformOperation.h>
11
+ #include <reanimated/CSS/interpolation/transforms/TransformOperationInterpolator.h>
12
+ #include <reanimated/CSS/interpolation/transforms/TransformsStyleInterpolator.h>
13
+ #include <reanimated/CSS/interpolation/values/ResolvableValueInterpolator.h>
14
+ #include <reanimated/CSS/interpolation/values/SimpleValueInterpolator.h>
15
+
16
+ #include <memory>
17
+ #include <string>
18
+ #include <unordered_map>
19
+ #include <utility>
20
+
21
+ namespace reanimated::css {
22
+
23
+ // Template class implementations
24
+ template <typename... AllowedTypes>
25
+ class SimpleValueInterpolatorFactory : public PropertyInterpolatorFactory {
26
+ public:
27
+ template <typename TValue>
28
+ explicit SimpleValueInterpolatorFactory(const TValue &defaultValue)
29
+ : PropertyInterpolatorFactory(), defaultValue_(defaultValue) {}
30
+
31
+ bool isDiscreteProperty() const override {
32
+ // The property is considered discrete if all of the allowed types are
33
+ // discrete
34
+ return (Discrete<AllowedTypes> && ...);
35
+ }
36
+
37
+ const CSSValue &getDefaultValue() const override {
38
+ return defaultValue_;
39
+ }
40
+
41
+ std::shared_ptr<PropertyInterpolator> create(
42
+ const PropertyPath &propertyPath,
43
+ const std::shared_ptr<ViewStylesRepository> &viewStylesRepository) const override {
44
+ return std::make_shared<SimpleValueInterpolator<AllowedTypes...>>(
45
+ propertyPath, defaultValue_, viewStylesRepository);
46
+ }
47
+
48
+ private:
49
+ const CSSValueVariant<AllowedTypes...> defaultValue_;
50
+ };
51
+
52
+ template <typename... AllowedTypes>
53
+ class ResolvableValueInterpolatorFactory : public PropertyInterpolatorFactory {
54
+ public:
55
+ template <typename TValue>
56
+ explicit ResolvableValueInterpolatorFactory(const TValue &defaultValue, ResolvableValueInterpolatorConfig config)
57
+ : PropertyInterpolatorFactory(), defaultValue_(defaultValue), config_(std::move(config)) {}
58
+
59
+ const CSSValue &getDefaultValue() const override {
60
+ return defaultValue_;
61
+ }
62
+
63
+ std::shared_ptr<PropertyInterpolator> create(
64
+ const PropertyPath &propertyPath,
65
+ const std::shared_ptr<ViewStylesRepository> &viewStylesRepository) const override {
66
+ return std::make_shared<ResolvableValueInterpolator<AllowedTypes...>>(
67
+ propertyPath, defaultValue_, viewStylesRepository, config_);
68
+ }
69
+
70
+ private:
71
+ const CSSValueVariant<AllowedTypes...> defaultValue_;
72
+ ResolvableValueInterpolatorConfig config_;
73
+ };
74
+
75
+ /**
76
+ * Helper function to create a concrete CSSValue from defaultValue
77
+ */
78
+ template <typename... AllowedTypes>
79
+ CSSValueVariant<AllowedTypes...> createCSSValue(const auto &defaultValue) {
80
+ using ValueType = decltype(defaultValue);
81
+ CSSValueVariant<AllowedTypes...> result;
82
+
83
+ auto tryOne = [&]<typename TCSSValue>() -> bool {
84
+ if constexpr (std::is_constructible_v<TCSSValue, ValueType>) {
85
+ if constexpr (ValueConstructibleCSSValue<TCSSValue, ValueType>) {
86
+ // For construction from a non-jsi::Value, we perform a runtime
87
+ // canConstruct check only if the type has a canConstruct method.
88
+ // (this is needed e.g. when different CSS value types can be
89
+ // constructed from the same value type, like CSSLength and CSSKeyword)
90
+ if (!TCSSValue::canConstruct(defaultValue)) {
91
+ return false;
92
+ }
93
+ }
94
+ result = CSSValueVariant<AllowedTypes...>(std::variant<AllowedTypes...>(TCSSValue(defaultValue)));
95
+ return true;
96
+ }
97
+ return false;
98
+ };
99
+
100
+ // Try constructing with each allowed type until one succeeds
101
+ if (!(tryOne.template operator()<AllowedTypes>() || ...)) {
102
+ throw std::runtime_error("[Reanimated] No compatible type found for construction from defaultValue");
103
+ }
104
+
105
+ return result;
106
+ }
107
+
108
+ /**
109
+ * Value interpolator factories
110
+ */
111
+ template <typename... AllowedTypes>
112
+ auto value(const auto &defaultValue) -> std::enable_if_t<
113
+ (std::is_constructible_v<AllowedTypes, decltype(defaultValue)> || ...),
114
+ std::shared_ptr<PropertyInterpolatorFactory>> {
115
+ // Create a concrete CSSValue from the defaultValue
116
+ auto cssValue = createCSSValue<AllowedTypes...>(defaultValue);
117
+ return std::make_shared<SimpleValueInterpolatorFactory<AllowedTypes...>>(std::move(cssValue));
118
+ }
119
+
120
+ template <typename... AllowedTypes>
121
+ auto value(const auto &defaultValue, ResolvableValueInterpolatorConfig config) -> std::enable_if_t<
122
+ (std::is_constructible_v<AllowedTypes, decltype(defaultValue)> || ...),
123
+ std::shared_ptr<PropertyInterpolatorFactory>> {
124
+ // Create a concrete CSSValue from the defaultValue
125
+ auto cssValue = createCSSValue<AllowedTypes...>(defaultValue);
126
+ return std::make_shared<ResolvableValueInterpolatorFactory<AllowedTypes...>>(std::move(cssValue), std::move(config));
127
+ }
128
+
129
+ /**
130
+ * Transform operation interpolator factories
131
+ */
132
+ template <typename TOperation>
133
+ auto transformOp(const auto &defaultValue) -> std::enable_if_t<
134
+ std::is_base_of_v<TransformOperation, TOperation> && std::is_constructible_v<TOperation, decltype(defaultValue)>,
135
+ std::shared_ptr<StyleOperationInterpolator>> {
136
+ return std::make_shared<TransformOperationInterpolator<TOperation>>(std::make_shared<TOperation>(defaultValue));
137
+ }
138
+
139
+ template <typename TOperation>
140
+ auto transformOp(const auto &defaultValue, ResolvableValueInterpolatorConfig config) -> std::enable_if_t<
141
+ std::is_base_of_v<TransformOperation, TOperation> && std::is_constructible_v<TOperation, decltype(defaultValue)> &&
142
+ ResolvableOp<TOperation>,
143
+ std::shared_ptr<StyleOperationInterpolator>> {
144
+ return std::make_shared<TransformOperationInterpolator<TOperation>>(
145
+ std::make_shared<TOperation>(defaultValue), std::move(config));
146
+ }
147
+
148
+ /**
149
+ * Filter operation interpolator factories
150
+ */
151
+ template <typename TOperation>
152
+ auto filterOp(const auto &defaultValue) -> std::enable_if_t<
153
+ std::is_base_of_v<FilterOperation, TOperation> && std::is_constructible_v<TOperation, decltype(defaultValue)>,
154
+ std::shared_ptr<StyleOperationInterpolator>> {
155
+ return std::make_shared<FilterOperationInterpolator<TOperation>>(std::make_shared<TOperation>(defaultValue));
156
+ }
157
+
158
+ template <typename TOperation>
159
+ auto filterOp(const auto &defaultValue, ResolvableValueInterpolatorConfig config) -> std::enable_if_t<
160
+ std::is_base_of_v<FilterOperation, TOperation> && std::is_constructible_v<TOperation, decltype(defaultValue)> &&
161
+ ResolvableOp<TOperation>,
162
+ std::shared_ptr<StyleOperationInterpolator>> {
163
+ return std::make_shared<FilterOperationInterpolator<TOperation>>(
164
+ std::make_shared<TOperation>(defaultValue), std::move(config));
165
+ }
166
+
167
+ /**
168
+ * Record property interpolator factory
169
+ */
170
+ std::shared_ptr<PropertyInterpolatorFactory> record(const InterpolatorFactoriesRecord &factories);
171
+
172
+ /**
173
+ * Array property interpolator factory
174
+ */
175
+ std::shared_ptr<PropertyInterpolatorFactory> array(const InterpolatorFactoriesArray &factories);
176
+
177
+ /**
178
+ * Transform interpolators
179
+ */
180
+ std::shared_ptr<PropertyInterpolatorFactory> transforms(
181
+ const std::unordered_map<std::string, std::shared_ptr<StyleOperationInterpolator>> &interpolators);
182
+
183
+ /**
184
+ * Filter interpolators
185
+ */
186
+ std::shared_ptr<PropertyInterpolatorFactory> filters(
187
+ const std::unordered_map<std::string, std::shared_ptr<StyleOperationInterpolator>> &interpolators);
188
+
189
+ } // namespace reanimated::css
@@ -1,76 +1,76 @@
1
- #include <reanimated/CSS/interpolation/PropertyInterpolator.h>
2
-
3
- #include <worklets/Tools/JSISerializer.h>
4
-
5
- #include <memory>
6
- #include <utility>
7
-
8
- namespace reanimated::css {
9
-
10
- PropertyInterpolator::PropertyInterpolator(
11
- PropertyPath propertyPath,
12
- const std::shared_ptr<ViewStylesRepository> &viewStylesRepository)
13
- : propertyPath_(std::move(propertyPath)), viewStylesRepository_(viewStylesRepository) {}
14
-
15
- bool PropertyInterpolatorFactory::isDiscreteProperty() const {
16
- return false;
17
- }
18
-
19
- std::string PropertyInterpolator::getPropertyPathString() const {
20
- if (propertyPath_.empty()) {
21
- return "";
22
- }
23
-
24
- std::string result = propertyPath_[0];
25
- for (size_t i = 1; i < propertyPath_.size(); ++i) {
26
- result += "." + propertyPath_[i];
27
- }
28
- return result;
29
- }
30
-
31
- std::vector<std::pair<double, jsi::Value>> PropertyInterpolator::parseJSIKeyframes(
32
- jsi::Runtime &rt,
33
- const jsi::Value &keyframes) const {
34
- if (!keyframes.isObject() || !keyframes.asObject(rt).isArray(rt)) {
35
- throw std::invalid_argument(
36
- "[Reanimated] Received invalid keyframes object for property: " + getPropertyPathString() +
37
- ".\n\nExpected an array of objects with 'offset' and 'value' properties, got: " +
38
- worklets::stringifyJSIValue(rt, keyframes));
39
- }
40
-
41
- const auto keyframeArray = keyframes.asObject(rt).asArray(rt);
42
- const auto keyframesCount = keyframeArray.size(rt);
43
-
44
- const auto getKeyframeAtIndexOffset = [&](size_t index) -> double {
45
- return keyframeArray.getValueAtIndex(rt, index).asObject(rt).getProperty(rt, "offset").asNumber();
46
- };
47
-
48
- const bool hasOffset0 = getKeyframeAtIndexOffset(0) == 0;
49
- const bool hasOffset1 = getKeyframeAtIndexOffset(keyframesCount - 1) == 1;
50
-
51
- std::vector<std::pair<double, jsi::Value>> result;
52
- result.reserve(keyframesCount + (hasOffset0 ? 0 : 1) + (hasOffset1 ? 0 : 1));
53
-
54
- // Insert the keyframe without value at offset 0 if it is not present
55
- if (!hasOffset0) {
56
- result.emplace_back(0.0, jsi::Value::undefined());
57
- }
58
-
59
- // Insert all provided keyframes
60
- for (size_t i = 0; i < keyframesCount; ++i) {
61
- jsi::Object keyframeObject = keyframeArray.getValueAtIndex(rt, i).asObject(rt);
62
- double offset = keyframeObject.getProperty(rt, "offset").asNumber();
63
- jsi::Value value = keyframeObject.getProperty(rt, "value");
64
-
65
- result.emplace_back(offset, std::move(value));
66
- }
67
-
68
- // Insert the keyframe without value at offset 1 if it is not present
69
- if (!hasOffset1) {
70
- result.emplace_back(1.0, jsi::Value::undefined());
71
- }
72
-
73
- return result;
74
- }
75
-
76
- } // namespace reanimated::css
1
+ #include <reanimated/CSS/interpolation/PropertyInterpolator.h>
2
+
3
+ #include <worklets/Tools/JSISerializer.h>
4
+
5
+ #include <memory>
6
+ #include <utility>
7
+
8
+ namespace reanimated::css {
9
+
10
+ PropertyInterpolator::PropertyInterpolator(
11
+ PropertyPath propertyPath,
12
+ const std::shared_ptr<ViewStylesRepository> &viewStylesRepository)
13
+ : propertyPath_(std::move(propertyPath)), viewStylesRepository_(viewStylesRepository) {}
14
+
15
+ bool PropertyInterpolatorFactory::isDiscreteProperty() const {
16
+ return false;
17
+ }
18
+
19
+ std::string PropertyInterpolator::getPropertyPathString() const {
20
+ if (propertyPath_.empty()) {
21
+ return "";
22
+ }
23
+
24
+ std::string result = propertyPath_[0];
25
+ for (size_t i = 1; i < propertyPath_.size(); ++i) {
26
+ result += "." + propertyPath_[i];
27
+ }
28
+ return result;
29
+ }
30
+
31
+ std::vector<std::pair<double, jsi::Value>> PropertyInterpolator::parseJSIKeyframes(
32
+ jsi::Runtime &rt,
33
+ const jsi::Value &keyframes) const {
34
+ if (!keyframes.isObject() || !keyframes.asObject(rt).isArray(rt)) {
35
+ throw std::invalid_argument(
36
+ "[Reanimated] Received invalid keyframes object for property: " + getPropertyPathString() +
37
+ ".\n\nExpected an array of objects with 'offset' and 'value' properties, got: " +
38
+ worklets::stringifyJSIValue(rt, keyframes));
39
+ }
40
+
41
+ const auto keyframeArray = keyframes.asObject(rt).asArray(rt);
42
+ const auto keyframesCount = keyframeArray.size(rt);
43
+
44
+ const auto getKeyframeAtIndexOffset = [&](size_t index) -> double {
45
+ return keyframeArray.getValueAtIndex(rt, index).asObject(rt).getProperty(rt, "offset").asNumber();
46
+ };
47
+
48
+ const bool hasOffset0 = getKeyframeAtIndexOffset(0) == 0;
49
+ const bool hasOffset1 = getKeyframeAtIndexOffset(keyframesCount - 1) == 1;
50
+
51
+ std::vector<std::pair<double, jsi::Value>> result;
52
+ result.reserve(keyframesCount + (hasOffset0 ? 0 : 1) + (hasOffset1 ? 0 : 1));
53
+
54
+ // Insert the keyframe without value at offset 0 if it is not present
55
+ if (!hasOffset0) {
56
+ result.emplace_back(0.0, jsi::Value::undefined());
57
+ }
58
+
59
+ // Insert all provided keyframes
60
+ for (size_t i = 0; i < keyframesCount; ++i) {
61
+ jsi::Object keyframeObject = keyframeArray.getValueAtIndex(rt, i).asObject(rt);
62
+ double offset = keyframeObject.getProperty(rt, "offset").asNumber();
63
+ jsi::Value value = keyframeObject.getProperty(rt, "value");
64
+
65
+ result.emplace_back(offset, std::move(value));
66
+ }
67
+
68
+ // Insert the keyframe without value at offset 1 if it is not present
69
+ if (!hasOffset1) {
70
+ result.emplace_back(1.0, jsi::Value::undefined());
71
+ }
72
+
73
+ return result;
74
+ }
75
+
76
+ } // namespace reanimated::css