@react-native-ohos/react-native-reanimated 3.18.2-rc.2 → 4.0.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 (282) hide show
  1. package/compatibility.json +161 -0
  2. package/harmony/reanimated/BuildProfile.ets +1 -1
  3. package/harmony/reanimated/build-profile.json5 +18 -11
  4. package/harmony/reanimated/oh-package.json5 +12 -11
  5. package/harmony/reanimated/src/main/cpp/CMakeLists.txt +31 -40
  6. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/AnimatedSensor/AnimatedSensorModule.cpp +81 -86
  7. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/AnimatedSensor/AnimatedSensorModule.h +46 -47
  8. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/InterpolatorRegistry.cpp +390 -0
  9. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/InterpolatorRegistry.h +16 -0
  10. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/definitions.h +30 -0
  11. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/filters/FilterOp.cpp +46 -0
  12. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/filters/FilterOp.h +23 -0
  13. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/Quaternion.cpp +53 -0
  14. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/Quaternion.h +21 -0
  15. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix.cpp +166 -0
  16. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix.h +71 -0
  17. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix2D.cpp +368 -0
  18. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix2D.h +53 -0
  19. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix3D.cpp +594 -0
  20. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix3D.h +67 -0
  21. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformOp.cpp +52 -0
  22. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformOp.h +26 -0
  23. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/vectors.cpp +156 -0
  24. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/vectors.h +76 -0
  25. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSAngle.cpp +94 -0
  26. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSAngle.h +33 -0
  27. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSBoolean.cpp +48 -0
  28. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSBoolean.h +31 -0
  29. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSColor.cpp +135 -0
  30. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSColor.h +61 -0
  31. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSDiscreteArray.cpp +100 -0
  32. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSDiscreteArray.h +45 -0
  33. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSKeyword.cpp +81 -0
  34. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSKeyword.h +53 -0
  35. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSLength.cpp +122 -0
  36. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSLength.h +38 -0
  37. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSNumber.cpp +82 -0
  38. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSNumber.h +63 -0
  39. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValue.h +118 -0
  40. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValueVariant.cpp +174 -0
  41. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValueVariant.h +111 -0
  42. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSBoxShadow.cpp +196 -0
  43. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSBoxShadow.h +66 -0
  44. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSDropShadow.cpp +134 -0
  45. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSDropShadow.h +44 -0
  46. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSAnimationConfig.cpp +174 -0
  47. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSAnimationConfig.h +49 -0
  48. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSKeyframesConfig.cpp +45 -0
  49. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSKeyframesConfig.h +26 -0
  50. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSTransitionConfig.cpp +90 -0
  51. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSTransitionConfig.h +43 -0
  52. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/common.cpp +17 -0
  53. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/common.h +13 -0
  54. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSAnimation.cpp +127 -0
  55. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSAnimation.h +51 -0
  56. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSTransition.cpp +145 -0
  57. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSTransition.h +47 -0
  58. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/EasingFunctions.cpp +69 -0
  59. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/EasingFunctions.h +22 -0
  60. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/cubicBezier.cpp +66 -0
  61. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/cubicBezier.h +15 -0
  62. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/linear.cpp +28 -0
  63. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/linear.h +15 -0
  64. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/steps.cpp +13 -0
  65. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/steps.h +12 -0
  66. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/InterpolatorFactory.cpp +157 -0
  67. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/InterpolatorFactory.h +189 -0
  68. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/PropertyInterpolator.cpp +76 -0
  69. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/PropertyInterpolator.h +66 -0
  70. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/configs.h +20 -0
  71. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperation.cpp +136 -0
  72. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperation.h +40 -0
  73. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperationInterpolator.cpp +38 -0
  74. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperationInterpolator.h +24 -0
  75. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterStyleInterpolator.cpp +58 -0
  76. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterStyleInterpolator.h +24 -0
  77. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/blur.h +14 -0
  78. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/brightness.h +14 -0
  79. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/contrast.h +14 -0
  80. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/dropShadow.h +17 -0
  81. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/grayscale.h +14 -0
  82. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/hueRotate.h +14 -0
  83. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/invert.h +14 -0
  84. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/opacity.h +14 -0
  85. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/saturate.h +14 -0
  86. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/sepia.h +14 -0
  87. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/ArrayPropertiesInterpolator.cpp +95 -0
  88. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/ArrayPropertiesInterpolator.h +36 -0
  89. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/GroupPropertiesInterpolator.cpp +41 -0
  90. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/GroupPropertiesInterpolator.h +32 -0
  91. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/RecordPropertiesInterpolator.cpp +99 -0
  92. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/RecordPropertiesInterpolator.h +37 -0
  93. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/OperationsStyleInterpolator.cpp +308 -0
  94. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/OperationsStyleInterpolator.h +100 -0
  95. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperation.cpp +19 -0
  96. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperation.h +94 -0
  97. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperationInterpolator.cpp +18 -0
  98. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperationInterpolator.h +43 -0
  99. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/AnimationStyleInterpolator.h +26 -0
  100. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/TransitionStyleInterpolator.cpp +103 -0
  101. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/TransitionStyleInterpolator.h +42 -0
  102. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperation.cpp +224 -0
  103. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperation.h +52 -0
  104. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperationInterpolator.cpp +218 -0
  105. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperationInterpolator.h +89 -0
  106. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformsStyleInterpolator.cpp +149 -0
  107. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformsStyleInterpolator.h +33 -0
  108. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/matrix.cpp +208 -0
  109. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/matrix.h +56 -0
  110. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/perspective.cpp +42 -0
  111. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/perspective.h +20 -0
  112. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/rotate.cpp +41 -0
  113. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/rotate.h +39 -0
  114. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/scale.cpp +28 -0
  115. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/scale.h +25 -0
  116. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/skew.cpp +14 -0
  117. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/skew.h +20 -0
  118. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/translate.cpp +39 -0
  119. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/translate.h +25 -0
  120. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ResolvableValueInterpolator.cpp +47 -0
  121. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ResolvableValueInterpolator.h +43 -0
  122. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/SimpleValueInterpolator.cpp +70 -0
  123. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/SimpleValueInterpolator.h +40 -0
  124. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ValueInterpolator.cpp +146 -0
  125. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ValueInterpolator.h +71 -0
  126. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/misc/ViewStylesRepository.cpp +155 -0
  127. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/misc/ViewStylesRepository.h +53 -0
  128. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/AnimationProgressProvider.cpp +170 -0
  129. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/AnimationProgressProvider.h +67 -0
  130. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/KeyframeProgressProvider.h +12 -0
  131. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/RawProgressProvider.cpp +41 -0
  132. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/RawProgressProvider.h +31 -0
  133. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/TransitionProgressProvider.cpp +193 -0
  134. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/TransitionProgressProvider.h +77 -0
  135. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSAnimationsRegistry.cpp +340 -0
  136. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSAnimationsRegistry.h +80 -0
  137. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSKeyframesRegistry.cpp +45 -0
  138. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSKeyframesRegistry.h +29 -0
  139. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSTransitionsRegistry.cpp +167 -0
  140. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSTransitionsRegistry.h +51 -0
  141. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/StaticPropsRegistry.cpp +61 -0
  142. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/StaticPropsRegistry.h +33 -0
  143. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGBrush.cpp +80 -0
  144. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGBrush.h +39 -0
  145. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGLength.cpp +93 -0
  146. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGLength.h +36 -0
  147. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGStrokeDashArray.cpp +111 -0
  148. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGStrokeDashArray.h +33 -0
  149. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/DelayedItemsManager.cpp +75 -0
  150. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/DelayedItemsManager.h +45 -0
  151. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/algorithms.cpp +12 -0
  152. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/algorithms.h +10 -0
  153. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/interpolators.cpp +36 -0
  154. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/interpolators.h +23 -0
  155. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/props.cpp +149 -0
  156. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/props.h +32 -0
  157. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitHook.cpp +113 -101
  158. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitHook.h +49 -51
  159. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitShadowNode.h +46 -49
  160. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedMountHook.cpp +56 -96
  161. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedMountHook.h +37 -33
  162. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ShadowTreeCloner.cpp +104 -95
  163. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ShadowTreeCloner.h +22 -29
  164. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.cpp +72 -0
  165. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.h +25 -0
  166. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistry.cpp +160 -0
  167. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistry.h +71 -0
  168. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistryManager.cpp +161 -0
  169. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistryManager.h +65 -0
  170. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationType.h +11 -9
  171. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsManager.cpp +137 -232
  172. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsManager.h +82 -90
  173. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.cpp +79 -0
  174. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.h +81 -0
  175. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Experimental.cpp +864 -0
  176. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Experimental.h +214 -0
  177. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/{LayoutAnimationsProxy.cpp → LayoutAnimationsProxy_Legacy.cpp} +897 -870
  178. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.h +220 -0
  179. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsUtils.cpp +31 -91
  180. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsUtils.h +146 -176
  181. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/PropsDiffer.cpp +456 -0
  182. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/PropsDiffer.h +102 -0
  183. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/SharedTransitions.cpp +544 -0
  184. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/PropValueProcessor.cpp +119 -0
  185. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/PropValueProcessor.h +39 -0
  186. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.cpp +1380 -971
  187. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.h +230 -252
  188. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxySpec.cpp +183 -231
  189. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxySpec.h +93 -109
  190. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/RNRuntimeDecorator.cpp +54 -56
  191. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/RNRuntimeDecorator.h +28 -20
  192. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/UIRuntimeDecorator.cpp +58 -70
  193. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/UIRuntimeDecorator.h +31 -35
  194. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/FeatureFlags.cpp +18 -0
  195. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/FeatureFlags.h +44 -0
  196. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/PlatformDepMethodsHolder.h +67 -98
  197. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/ReanimatedSystraceSection.h +114 -135
  198. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/ReanimatedVersion.cpp +46 -0
  199. package/harmony/reanimated/src/main/cpp/Common/cpp/{worklets → reanimated}/Tools/ReanimatedVersion.h +18 -19
  200. package/harmony/reanimated/src/main/cpp/ReanimatedModule.cpp +63 -85
  201. package/harmony/reanimated/src/main/cpp/ReanimatedNodesManager.cpp +1 -0
  202. package/harmony/reanimated/src/main/cpp/ReanimatedPackage.cpp +0 -3
  203. package/harmony/reanimated/src/main/cpp/ReanimatedSensor.cpp +266 -0
  204. package/harmony/reanimated/src/main/cpp/ReanimatedSensor.h +36 -0
  205. package/harmony/reanimated/src/main/cpp/ReanimatedSensorContainer.cpp +36 -0
  206. package/harmony/reanimated/src/main/cpp/ReanimatedSensorContainer.h +23 -0
  207. package/harmony/reanimated/src/main/cpp/ReanimatedUIScheduler.h +3 -3
  208. package/harmony/reanimated/src/main/ets/ReanimatedModule.ts +5 -1
  209. package/harmony/reanimated/src/main/ets/ReanimatedPackage.ts +1 -4
  210. package/harmony/reanimated/src/main/module.json5 +12 -12
  211. package/harmony/reanimated/src/main/resources/base/element/color.json +7 -7
  212. package/harmony/reanimated/src/main/resources/base/element/string.json +15 -15
  213. package/harmony/reanimated/src/main/resources/base/profile/main_pages.json +5 -5
  214. package/harmony/reanimated/src/main/resources/en_US/element/string.json +15 -15
  215. package/harmony/reanimated/src/main/resources/zh_CN/element/string.json +15 -15
  216. package/harmony/reanimated/ts.ts +6 -6
  217. package/harmony/reanimated.har +0 -0
  218. package/package.json +69 -50
  219. package/scripts/deploy.js +191 -0
  220. package/scripts/set-reanimated-version.js +37 -0
  221. package/scripts/update-version.js +119 -0
  222. package/scripts/validate-react-native-version.js +46 -0
  223. package/scripts/validate-worklets-build.js +17 -0
  224. package/scripts/validate-worklets-version.js +84 -0
  225. package/scripts/worklets-version.json +4 -0
  226. package/LICENSE +0 -21
  227. package/README.OpenSource +0 -11
  228. package/README.md +0 -10
  229. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/PropsRegistry.cpp +0 -68
  230. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/PropsRegistry.h +0 -68
  231. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy.h +0 -147
  232. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/CollectionUtils.h +0 -14
  233. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/FeaturesConfig.cpp +0 -5
  234. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/FeaturesConfig.h +0 -19
  235. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/NativeModules/WorkletsModuleProxy.cpp +0 -47
  236. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/NativeModules/WorkletsModuleProxy.h +0 -59
  237. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/NativeModules/WorkletsModuleProxySpec.cpp +0 -27
  238. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/NativeModules/WorkletsModuleProxySpec.h +0 -25
  239. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Registries/EventHandlerRegistry.cpp +0 -94
  240. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Registries/EventHandlerRegistry.h +0 -49
  241. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Registries/WorkletRuntimeRegistry.cpp +0 -8
  242. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Registries/WorkletRuntimeRegistry.h +0 -39
  243. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/SharedItems/Shareables.cpp +0 -326
  244. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/SharedItems/Shareables.h +0 -345
  245. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/AsyncQueue.cpp +0 -52
  246. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/AsyncQueue.h +0 -35
  247. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/Defs.h +0 -10
  248. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/JSISerializer.cpp +0 -342
  249. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/JSISerializer.h +0 -47
  250. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/JSLogger.cpp +0 -16
  251. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/JSLogger.h +0 -20
  252. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/JSScheduler.cpp +0 -20
  253. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/JSScheduler.h +0 -29
  254. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/PlatformLogger.h +0 -16
  255. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/ReanimatedJSIUtils.cpp +0 -26
  256. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/ReanimatedJSIUtils.h +0 -199
  257. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/ReanimatedVersion.cpp +0 -95
  258. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/SingleInstanceChecker.h +0 -72
  259. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/ThreadSafeQueue.h +0 -49
  260. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/UIScheduler.cpp +0 -20
  261. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/UIScheduler.h +0 -22
  262. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/WorkletEventHandler.cpp +0 -29
  263. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/WorkletEventHandler.h +0 -41
  264. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/RNRuntimeWorkletDecorator.cpp +0 -16
  265. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/RNRuntimeWorkletDecorator.h +0 -19
  266. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/ReanimatedHermesRuntime.cpp +0 -112
  267. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/ReanimatedHermesRuntime.h +0 -127
  268. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/ReanimatedRuntime.cpp +0 -53
  269. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/ReanimatedRuntime.h +0 -22
  270. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/RuntimeInitialization.md +0 -191
  271. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/WorkletRuntime.cpp +0 -173
  272. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/WorkletRuntime.h +0 -90
  273. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/WorkletRuntimeCollector.h +0 -36
  274. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/WorkletRuntimeDecorator.cpp +0 -189
  275. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/WorkletRuntimeDecorator.h +0 -22
  276. package/harmony/reanimated/src/main/cpp/ReanimatedLogger.cpp +0 -33
  277. package/harmony/reanimated/src/main/cpp/WorkletsModule.cpp +0 -61
  278. package/harmony/reanimated/src/main/cpp/WorkletsModule.h +0 -22
  279. package/harmony/reanimated/src/main/cpp/patches/AnimatedSensor/AnimatedSensorModule.cpp +0 -89
  280. package/harmony/reanimated/src/main/cpp/patches/Fabric/ShadowTreeCloner.cpp +0 -95
  281. package/harmony/reanimated/src/main/cpp/patches/NativeModules/ReanimatedModuleProxy.cpp +0 -964
  282. package/harmony/reanimated/src/main/ets/WorkletsModule.ts +0 -15
@@ -1,56 +1,54 @@
1
- #include <reanimated/RuntimeDecorators/RNRuntimeDecorator.h>
2
- #include <worklets/Tools/ReanimatedJSIUtils.h>
3
- #include <worklets/Tools/ReanimatedVersion.h>
4
-
5
- namespace reanimated {
6
-
7
- void RNRuntimeDecorator::decorate(
8
- jsi::Runtime &rnRuntime,
9
- const std::shared_ptr<ReanimatedModuleProxy> &reanimatedModuleProxy) {
10
- jsi::Runtime &uiRuntime = reanimatedModuleProxy->getUIRuntime();
11
- auto workletRuntimeValue =
12
- rnRuntime.global()
13
- .getPropertyAsObject(rnRuntime, "ArrayBuffer")
14
- .asFunction(rnRuntime)
15
- .callAsConstructor(rnRuntime, {static_cast<double>(sizeof(void *))});
16
- uintptr_t *workletRuntimeData = reinterpret_cast<uintptr_t *>(
17
- workletRuntimeValue.getObject(rnRuntime).getArrayBuffer(rnRuntime).data(
18
- rnRuntime));
19
- workletRuntimeData[0] = reinterpret_cast<uintptr_t>(&uiRuntime);
20
- rnRuntime.global().setProperty(
21
- rnRuntime, "_WORKLET_RUNTIME", workletRuntimeValue);
22
-
23
- #ifdef RCT_NEW_ARCH_ENABLED
24
- constexpr auto isFabric = true;
25
- #else
26
- constexpr auto isFabric = false;
27
- #endif // RCT_NEW_ARCH_ENABLED
28
- rnRuntime.global().setProperty(rnRuntime, "_IS_FABRIC", isFabric);
29
-
30
- rnRuntime.global().setProperty(
31
- rnRuntime, "_IS_BRIDGELESS", reanimatedModuleProxy->isBridgeless());
32
-
33
- #ifndef NDEBUG
34
- checkJSVersion(rnRuntime, reanimatedModuleProxy->getJSLogger());
35
- #endif // NDEBUG
36
-
37
- #if defined(IS_REANIMATED_EXAMPLE_APP) && defined(RCT_NEW_ARCH_ENABLED)
38
- jsi_utils::installJsiFunction(
39
- rnRuntime,
40
- "_registriesLeakCheck",
41
- reanimatedModuleProxy->createRegistriesLeakCheck());
42
- #endif // defined(IS_REANIMATED_EXAMPLE_APP) && defined(RCT_NEW_ARCH_ENABLED)
43
- injectReanimatedCppVersion(rnRuntime);
44
-
45
- rnRuntime.global().setProperty(
46
- rnRuntime,
47
- "_REANIMATED_IS_REDUCED_MOTION",
48
- reanimatedModuleProxy->isReducedMotion());
49
-
50
- rnRuntime.global().setProperty(
51
- rnRuntime,
52
- "__reanimatedModuleProxy",
53
- jsi::Object::createFromHostObject(rnRuntime, reanimatedModuleProxy));
54
- }
55
-
56
- } // namespace reanimated
1
+ #include <reanimated/RuntimeDecorators/RNRuntimeDecorator.h>
2
+ #include <reanimated/Tools/ReanimatedVersion.h>
3
+ #include <worklets/Tools/WorkletsJSIUtils.h>
4
+
5
+ #include <memory>
6
+
7
+ namespace reanimated {
8
+
9
+ void RNRuntimeDecorator::decorate(
10
+ jsi::Runtime &rnRuntime,
11
+ jsi::Runtime &uiRuntime,
12
+ const std::shared_ptr<ReanimatedModuleProxy> &reanimatedModuleProxy) {
13
+ auto workletRuntimeValue = rnRuntime.global()
14
+ .getPropertyAsObject(rnRuntime, "ArrayBuffer")
15
+ .asFunction(rnRuntime)
16
+ .callAsConstructor(rnRuntime, {static_cast<double>(sizeof(void *))});
17
+ uintptr_t *workletRuntimeData =
18
+ reinterpret_cast<uintptr_t *>(workletRuntimeValue.getObject(rnRuntime).getArrayBuffer(rnRuntime).data(rnRuntime));
19
+ workletRuntimeData[0] = reinterpret_cast<uintptr_t>(&uiRuntime);
20
+ rnRuntime.global().setProperty(rnRuntime, "_WORKLET_RUNTIME", workletRuntimeValue);
21
+
22
+ #ifndef NDEBUG
23
+ checkJSVersion(rnRuntime, reanimatedModuleProxy->getJSLogger());
24
+ #endif // NDEBUG
25
+
26
+ #ifdef IS_REANIMATED_EXAMPLE_APP
27
+ installDebugBindings(rnRuntime, reanimatedModuleProxy);
28
+ #endif // IS_REANIMATED_EXAMPLE_APP
29
+
30
+ injectReanimatedCppVersion(rnRuntime);
31
+
32
+ rnRuntime.global().setProperty(rnRuntime, "_REANIMATED_IS_REDUCED_MOTION", reanimatedModuleProxy->isReducedMotion());
33
+
34
+ rnRuntime.global().setProperty(
35
+ rnRuntime, "__reanimatedModuleProxy", jsi::Object::createFromHostObject(rnRuntime, reanimatedModuleProxy));
36
+ }
37
+
38
+ #ifdef IS_REANIMATED_EXAMPLE_APP
39
+ void RNRuntimeDecorator::installDebugBindings(
40
+ jsi::Runtime &rnRuntime,
41
+ const std::shared_ptr<ReanimatedModuleProxy> &reanimatedModuleProxy) {
42
+ #if TARGET_OS_X
43
+ jsi_utils::installJsiFunction(
44
+ rnRuntime, "__getTagFromShadowNodeWrapper", [](jsi::Runtime &rt, const jsi::Value &shadowNodeWrapper) {
45
+ auto node = Bridging<std::shared_ptr<const ShadowNode>>::fromJs(rt, shadowNodeWrapper);
46
+ return jsi::Value(rt, static_cast<double>(node->getTag()));
47
+ });
48
+ #endif // TARGET_OS_X
49
+
50
+ jsi_utils::installJsiFunction(rnRuntime, "_registriesLeakCheck", reanimatedModuleProxy->createRegistriesLeakCheck());
51
+ }
52
+ #endif // IS_REANIMATED_EXAMPLE_APP
53
+
54
+ } // namespace reanimated
@@ -1,20 +1,28 @@
1
- #pragma once
2
-
3
- #include <reanimated/NativeModules/ReanimatedModuleProxy.h>
4
-
5
- #include <jsi/jsi.h>
6
-
7
- #include <memory>
8
-
9
- using namespace facebook;
10
-
11
- namespace reanimated {
12
-
13
- class RNRuntimeDecorator {
14
- public:
15
- static void decorate(
16
- jsi::Runtime &rnRuntime,
17
- const std::shared_ptr<ReanimatedModuleProxy> &reanimatedModuleProxy);
18
- };
19
-
20
- } // namespace reanimated
1
+ #pragma once
2
+
3
+ #include <reanimated/NativeModules/ReanimatedModuleProxy.h>
4
+
5
+ #include <jsi/jsi.h>
6
+
7
+ #include <memory>
8
+
9
+ using namespace facebook;
10
+
11
+ namespace reanimated {
12
+
13
+ class RNRuntimeDecorator {
14
+ public:
15
+ static void decorate(
16
+ jsi::Runtime &rnRuntime,
17
+ jsi::Runtime &uiRuntime,
18
+ const std::shared_ptr<ReanimatedModuleProxy> &reanimatedModuleProxy);
19
+
20
+ #ifdef IS_REANIMATED_EXAMPLE_APP
21
+ private:
22
+ static void installDebugBindings(
23
+ jsi::Runtime &rnRuntime,
24
+ const std::shared_ptr<ReanimatedModuleProxy> &reanimatedModuleProxy);
25
+ #endif // IS_REANIMATED_EXAMPLE_APP
26
+ };
27
+
28
+ } // namespace reanimated
@@ -1,70 +1,58 @@
1
- #include <reanimated/RuntimeDecorators/UIRuntimeDecorator.h>
2
- #include <worklets/Tools/ReanimatedJSIUtils.h>
3
-
4
- namespace reanimated {
5
-
6
- using namespace worklets;
7
-
8
- void UIRuntimeDecorator::decorate(
9
- jsi::Runtime &uiRuntime,
10
- #ifdef RCT_NEW_ARCH_ENABLED
11
- // nothing
12
- #else
13
- const ScrollToFunction scrollTo,
14
- #endif
15
- const ObtainPropFunction obtainPropFunction,
16
- const UpdatePropsFunction updateProps,
17
- const MeasureFunction measure,
18
- const DispatchCommandFunction dispatchCommand,
19
- const RequestAnimationFrameFunction requestAnimationFrame,
20
- const GetAnimationTimestampFunction getAnimationTimestamp,
21
- const SetGestureStateFunction setGestureState,
22
- const ProgressLayoutAnimationFunction progressLayoutAnimation,
23
- const EndLayoutAnimationFunction endLayoutAnimation,
24
- const MaybeFlushUIUpdatesQueueFunction maybeFlushUIUpdatesQueue) {
25
- uiRuntime.global().setProperty(uiRuntime, "_UI", true);
26
-
27
- #ifdef RCT_NEW_ARCH_ENABLED
28
- jsi_utils::installJsiFunction(uiRuntime, "_updatePropsFabric", updateProps);
29
- jsi_utils::installJsiFunction(
30
- uiRuntime, "_dispatchCommandFabric", dispatchCommand);
31
- jsi_utils::installJsiFunction(uiRuntime, "_measureFabric", measure);
32
- #else
33
- jsi_utils::installJsiFunction(uiRuntime, "_updatePropsPaper", updateProps);
34
- jsi_utils::installJsiFunction(
35
- uiRuntime, "_dispatchCommandPaper", dispatchCommand);
36
- jsi_utils::installJsiFunction(uiRuntime, "_scrollToPaper", scrollTo);
37
- jsi_utils::installJsiFunction(
38
- uiRuntime,
39
- "_measurePaper",
40
- [measure](jsi::Runtime &rt, int viewTag) -> jsi::Value {
41
- auto result = measure(viewTag);
42
- jsi::Object resultObject(rt);
43
- for (const auto &item : result) {
44
- resultObject.setProperty(rt, item.first.c_str(), item.second);
45
- }
46
- return resultObject;
47
- });
48
- jsi_utils::installJsiFunction(
49
- uiRuntime, "_obtainPropPaper", obtainPropFunction);
50
- #endif // RCT_NEW_ARCH_ENABLED
51
-
52
- jsi_utils::installJsiFunction(
53
- uiRuntime, "requestAnimationFrame", requestAnimationFrame);
54
- jsi_utils::installJsiFunction(
55
- uiRuntime, "_getAnimationTimestamp", getAnimationTimestamp);
56
-
57
- jsi_utils::installJsiFunction(
58
- uiRuntime, "_notifyAboutProgress", progressLayoutAnimation);
59
- jsi_utils::installJsiFunction(
60
- uiRuntime, "_notifyAboutEnd", endLayoutAnimation);
61
-
62
- jsi_utils::installJsiFunction(uiRuntime, "_setGestureState", setGestureState);
63
- jsi_utils::installJsiFunction(
64
- uiRuntime, "_maybeFlushUIUpdatesQueue", maybeFlushUIUpdatesQueue);
65
-
66
- jsi_utils::installJsiFunction(
67
- uiRuntime, "_obtainPropFabric", obtainPropFunction);
68
- }
69
-
70
- } // namespace reanimated
1
+ #include <reanimated/RuntimeDecorators/UIRuntimeDecorator.h>
2
+ #include <worklets/Tools/WorkletsJSIUtils.h>
3
+
4
+ #include <utility>
5
+
6
+ namespace reanimated {
7
+
8
+ using namespace worklets;
9
+
10
+ void UIRuntimeDecorator::decorate(
11
+ jsi::Runtime &uiRuntime,
12
+ ObtainPropFunction obtainPropFunction,
13
+ UpdatePropsFunction updateProps,
14
+ MeasureFunction measure,
15
+ DispatchCommandFunction dispatchCommand,
16
+ GetAnimationTimestampFunction getAnimationTimestamp,
17
+ SetGestureStateFunction setGestureState,
18
+ ProgressLayoutAnimationFunction progressLayoutAnimation,
19
+ EndLayoutAnimationFunction endLayoutAnimation,
20
+ MaybeFlushUIUpdatesQueueFunction maybeFlushUIUpdatesQueue) {
21
+
22
+ jsi_utils::installJsiFunction(uiRuntime, "_updateProps", std::move(updateProps));
23
+ jsi_utils::installJsiFunction(uiRuntime, "_dispatchCommand", std::move(dispatchCommand));
24
+ jsi_utils::installJsiFunction(uiRuntime, "_measure", std::move(measure));
25
+ jsi_utils::installJsiFunction(uiRuntime, "_getAnimationTimestamp", std::move(getAnimationTimestamp));
26
+ jsi_utils::installJsiFunction(uiRuntime, "_notifyAboutProgress", std::move(progressLayoutAnimation));
27
+ jsi_utils::installJsiFunction(uiRuntime, "_notifyAboutEnd", std::move(endLayoutAnimation));
28
+ jsi_utils::installJsiFunction(uiRuntime, "_setGestureState", std::move(setGestureState));
29
+ jsi_utils::installJsiFunction(uiRuntime, "_obtainProp", std::move(obtainPropFunction));
30
+
31
+ subscribeForMicrotasksFinalization(uiRuntime, std::move(maybeFlushUIUpdatesQueue));
32
+ }
33
+
34
+ void UIRuntimeDecorator::subscribeForMicrotasksFinalization(
35
+ jsi::Runtime &uiRuntime,
36
+ MaybeFlushUIUpdatesQueueFunction maybeFlushUIUpdatesQueue) {
37
+ auto maybeMicrotaskQueueFinalizers = uiRuntime.global().getProperty(uiRuntime, "_microtaskQueueFinalizers");
38
+
39
+ if (maybeMicrotaskQueueFinalizers.isUndefined()) {
40
+ throw std::runtime_error(
41
+ "[Reanimated] Expected microtaskQueueFinalizers to be defined. "
42
+ "Perhaps Worklets failed to initialize the UI Runtime?");
43
+ }
44
+
45
+ const auto microtaskQueueFinalizers = maybeMicrotaskQueueFinalizers.asObject(uiRuntime).asArray(uiRuntime);
46
+
47
+ microtaskQueueFinalizers.getPropertyAsFunction(uiRuntime, "push")
48
+ .callWithThis(
49
+ uiRuntime,
50
+ microtaskQueueFinalizers,
51
+ jsi::Function::createFromHostFunction(
52
+ uiRuntime,
53
+ jsi::PropNameID::forAscii(uiRuntime, "_maybeFlushUIUpdatesQueue"),
54
+ 0,
55
+ jsi_utils::createHostFunction(std::move(maybeFlushUIUpdatesQueue))));
56
+ }
57
+
58
+ } // namespace reanimated
@@ -1,35 +1,31 @@
1
- #pragma once
2
-
3
- #include <jsi/jsi.h>
4
-
5
- #include <reanimated/Tools/PlatformDepMethodsHolder.h>
6
-
7
- using namespace facebook;
8
-
9
- namespace reanimated {
10
-
11
- using RequestAnimationFrameFunction =
12
- std::function<void(jsi::Runtime &, const jsi::Value &)>;
13
-
14
- class UIRuntimeDecorator {
15
- public:
16
- static void decorate(
17
- jsi::Runtime &uiRuntime,
18
- #ifdef RCT_NEW_ARCH_ENABLED
19
- // nothing
20
- #else
21
- const ScrollToFunction scrollTo,
22
- #endif
23
- const ObtainPropFunction obtainPropFunction,
24
- const UpdatePropsFunction updateProps,
25
- const MeasureFunction measure,
26
- const DispatchCommandFunction dispatchCommand,
27
- const RequestAnimationFrameFunction requestAnimationFrame,
28
- const GetAnimationTimestampFunction getAnimationTimestamp,
29
- const SetGestureStateFunction setGestureState,
30
- const ProgressLayoutAnimationFunction progressLayoutAnimation,
31
- const EndLayoutAnimationFunction endLayoutAnimation,
32
- const MaybeFlushUIUpdatesQueueFunction maybeFlushUIUpdatesQueue);
33
- };
34
-
35
- } // namespace reanimated
1
+ #pragma once
2
+
3
+ #include <jsi/jsi.h>
4
+
5
+ #include <reanimated/Tools/PlatformDepMethodsHolder.h>
6
+
7
+ using namespace facebook;
8
+
9
+ namespace reanimated {
10
+
11
+ class UIRuntimeDecorator {
12
+ public:
13
+ static void decorate(
14
+ jsi::Runtime &uiRuntime,
15
+ const ObtainPropFunction obtainPropFunction,
16
+ const UpdatePropsFunction updateProps,
17
+ const MeasureFunction measure,
18
+ const DispatchCommandFunction dispatchCommand,
19
+ const GetAnimationTimestampFunction getAnimationTimestamp,
20
+ const SetGestureStateFunction setGestureState,
21
+ const ProgressLayoutAnimationFunction progressLayoutAnimation,
22
+ const EndLayoutAnimationFunction endLayoutAnimation,
23
+ const MaybeFlushUIUpdatesQueueFunction maybeFlushUIUpdatesQueue);
24
+
25
+ private:
26
+ static void subscribeForMicrotasksFinalization(
27
+ jsi::Runtime &uiRuntime,
28
+ MaybeFlushUIUpdatesQueueFunction maybeFlushUIUpdatesQueue);
29
+ };
30
+
31
+ } // namespace reanimated
@@ -0,0 +1,18 @@
1
+ #include <reanimated/Tools/FeatureFlags.h>
2
+
3
+ #include <string>
4
+ #include <unordered_map>
5
+
6
+ namespace reanimated {
7
+
8
+ std::unordered_map<std::string, bool> DynamicFeatureFlags::flags_;
9
+
10
+ bool DynamicFeatureFlags::getFlag(const std::string &name) {
11
+ return flags_.contains(name) && flags_[name];
12
+ }
13
+
14
+ void DynamicFeatureFlags::setFlag(const std::string &name, bool value) {
15
+ flags_[name] = value;
16
+ }
17
+
18
+ } // namespace reanimated
@@ -0,0 +1,44 @@
1
+ #pragma once
2
+ #include <string>
3
+ #include <unordered_map>
4
+
5
+ namespace reanimated {
6
+
7
+ class StaticFeatureFlags {
8
+ public:
9
+ #ifdef REANIMATED_FEATURE_FLAGS
10
+
11
+ // Convert the value under x into a string
12
+ #define XTOSTRING(x) #x
13
+ // Evaluate the flag value; without this step, it would stringify the flag name
14
+ // itself instead of the flag value
15
+ #define TOSTRING(x) XTOSTRING(x)
16
+
17
+ static constexpr bool getFlag(const std::string_view &name) {
18
+ std::string nameStr = name.data();
19
+ std::string featureFlags = TOSTRING(REANIMATED_FEATURE_FLAGS);
20
+ if (featureFlags.find("[" + nameStr + ":") == std::string::npos) {
21
+ throw std::logic_error("Unable to recognize flag: " + nameStr);
22
+ }
23
+ return featureFlags.find("[" + nameStr + ":true]") != std::string::npos;
24
+ }
25
+
26
+ #else
27
+
28
+ static constexpr bool getFlag(const std::string_view &) {
29
+ return false;
30
+ }
31
+
32
+ #endif
33
+ };
34
+
35
+ class DynamicFeatureFlags {
36
+ public:
37
+ static bool getFlag(const std::string &name);
38
+ static void setFlag(const std::string &name, bool value);
39
+
40
+ private:
41
+ static std::unordered_map<std::string, bool> flags_;
42
+ };
43
+
44
+ } // namespace reanimated
@@ -1,98 +1,67 @@
1
- #pragma once
2
-
3
- #include <jsi/jsi.h>
4
-
5
- #ifdef RCT_NEW_ARCH_ENABLED
6
- #include <react/renderer/core/ReactPrimitives.h>
7
- #endif
8
-
9
- #include <string>
10
- #include <utility>
11
- #include <vector>
12
-
13
- using namespace facebook;
14
-
15
- #ifdef RCT_NEW_ARCH_ENABLED
16
- using namespace react;
17
- #endif
18
-
19
- namespace reanimated {
20
-
21
- #ifdef RCT_NEW_ARCH_ENABLED
22
-
23
- using UpdatePropsFunction =
24
- std::function<void(jsi::Runtime &rt, const jsi::Value &operations)>;
25
- using ObtainPropFunction = std::function<jsi::Value(
26
- jsi::Runtime &rt,
27
- const jsi::Value &shadowNodeWrapper,
28
- const jsi::Value &propName)>;
29
- using DispatchCommandFunction = std::function<void(
30
- jsi::Runtime &rt,
31
- const jsi::Value &shadowNodeValue,
32
- const jsi::Value &commandNameValue,
33
- const jsi::Value &argsValue)>;
34
- using MeasureFunction = std::function<
35
- jsi::Value(jsi::Runtime &rt, const jsi::Value &shadowNodeValue)>;
36
-
37
- #else
38
-
39
- using UpdatePropsFunction =
40
- std::function<void(jsi::Runtime &rt, const jsi::Value &operations)>;
41
- using ScrollToFunction = std::function<void(int, double, double, bool)>;
42
- using DispatchCommandFunction = std::function<void(
43
- jsi::Runtime &rt,
44
- const int viewTag,
45
- const jsi::Value &commandNameValue,
46
- const jsi::Value &argsValue)>;
47
- using MeasureFunction =
48
- std::function<std::vector<std::pair<std::string, double>>(int)>;
49
- using ObtainPropFunction =
50
- std::function<jsi::Value(jsi::Runtime &, const int, const jsi::Value &)>;
51
-
52
- #endif // RCT_NEW_ARCH_ENABLED
53
-
54
- using RequestRenderFunction =
55
- std::function<void(std::function<void(const double)>)>;
56
- using GetAnimationTimestampFunction = std::function<double(void)>;
57
-
58
- using ProgressLayoutAnimationFunction =
59
- std::function<void(jsi::Runtime &, int, jsi::Object, bool)>;
60
- using EndLayoutAnimationFunction = std::function<void(int, bool)>;
61
-
62
- using RegisterSensorFunction =
63
- std::function<int(int, int, int, std::function<void(double[], int)>)>;
64
- using UnregisterSensorFunction = std::function<void(int)>;
65
- using SetGestureStateFunction = std::function<void(int, int)>;
66
- using ConfigurePropsFunction = std::function<void(
67
- jsi::Runtime &rt,
68
- const jsi::Value &uiProps,
69
- const jsi::Value &nativeProps)>;
70
- using KeyboardEventSubscribeFunction =
71
- std::function<int(std::function<void(int, int)>, bool, bool)>;
72
- using KeyboardEventUnsubscribeFunction = std::function<void(int)>;
73
- using MaybeFlushUIUpdatesQueueFunction = std::function<void()>;
74
-
75
- struct PlatformDepMethodsHolder {
76
- RequestRenderFunction requestRender;
77
- #ifdef RCT_NEW_ARCH_ENABLED
78
- // nothing
79
- #else
80
- UpdatePropsFunction updatePropsFunction;
81
- ScrollToFunction scrollToFunction;
82
- DispatchCommandFunction dispatchCommandFunction;
83
- MeasureFunction measureFunction;
84
- ConfigurePropsFunction configurePropsFunction;
85
- ObtainPropFunction obtainPropFunction;
86
- #endif
87
- GetAnimationTimestampFunction getAnimationTimestamp;
88
- ProgressLayoutAnimationFunction progressLayoutAnimation;
89
- EndLayoutAnimationFunction endLayoutAnimation;
90
- RegisterSensorFunction registerSensor;
91
- UnregisterSensorFunction unregisterSensor;
92
- SetGestureStateFunction setGestureStateFunction;
93
- KeyboardEventSubscribeFunction subscribeForKeyboardEvents;
94
- KeyboardEventUnsubscribeFunction unsubscribeFromKeyboardEvents;
95
- MaybeFlushUIUpdatesQueueFunction maybeFlushUIUpdatesQueueFunction;
96
- };
97
-
98
- } // namespace reanimated
1
+ #pragma once
2
+
3
+ #include <folly/dynamic.h>
4
+ #include <jsi/jsi.h>
5
+ #include <react/renderer/core/ReactPrimitives.h>
6
+
7
+ #include <memory>
8
+ #include <string>
9
+ #include <utility>
10
+ #include <vector>
11
+
12
+ using namespace facebook;
13
+ using namespace react;
14
+
15
+ namespace reanimated {
16
+
17
+ using UpdatePropsFunction = std::function<void(jsi::Runtime &rt, const jsi::Value &operations)>;
18
+ using ObtainPropFunction =
19
+ std::function<jsi::Value(jsi::Runtime &rt, const jsi::Value &shadowNodeWrapper, const jsi::Value &propName)>;
20
+ using DispatchCommandFunction = std::function<void(
21
+ jsi::Runtime &rt,
22
+ const jsi::Value &shadowNodeValue,
23
+ const jsi::Value &commandNameValue,
24
+ const jsi::Value &argsValue)>;
25
+ using MeasureFunction = std::function<jsi::Value(jsi::Runtime &rt, const jsi::Value &shadowNodeValue)>;
26
+
27
+ using RequestRenderFunction = std::function<void(std::function<void(const double)>)>;
28
+ #ifdef ANDROID
29
+ using SynchronouslyUpdateUIPropsFunction = std::function<void(const std::vector<int> &, const std::vector<double> &)>;
30
+ #elif __APPLE__
31
+ using SynchronouslyUpdateUIPropsFunction = std::function<void(const int, const folly::dynamic &)>;
32
+ #endif // ANDROID
33
+ //TODO
34
+ using SynchronouslyUpdateUIPropsFunction = std::function<void(const int, const folly::dynamic &)>;
35
+ using PreserveMountedTagsFunction = std::function<std::optional<std::unique_ptr<int[]>>(std::vector<int> &)>;
36
+ using GetAnimationTimestampFunction = std::function<double(void)>;
37
+
38
+ using ProgressLayoutAnimationFunction = std::function<void(jsi::Runtime &, int, jsi::Object)>;
39
+ using EndLayoutAnimationFunction = std::function<void(int, bool)>;
40
+
41
+ using RegisterSensorFunction = std::function<int(int, int, int, std::function<void(double[], int)>)>;
42
+ using UnregisterSensorFunction = std::function<void(int)>;
43
+ using SetGestureStateFunction = std::function<void(int, int)>;
44
+ using KeyboardEventSubscribeFunction = std::function<int(std::function<void(int, int)>, bool, bool)>;
45
+ using KeyboardEventUnsubscribeFunction = std::function<void(int)>;
46
+ using MaybeFlushUIUpdatesQueueFunction = std::function<void()>;
47
+
48
+ using ForceScreenSnapshotFunction = std::function<void(Tag tag)>;
49
+ struct PlatformDepMethodsHolder {
50
+ RequestRenderFunction requestRender;
51
+ #ifdef ANDROID
52
+ PreserveMountedTagsFunction filterUnmountedTagsFunction;
53
+ #endif // ANDROID
54
+ #ifdef __APPLE__
55
+ ForceScreenSnapshotFunction forceScreenSnapshotFunction;
56
+ #endif
57
+ SynchronouslyUpdateUIPropsFunction synchronouslyUpdateUIPropsFunction;
58
+ GetAnimationTimestampFunction getAnimationTimestamp;
59
+ RegisterSensorFunction registerSensor;
60
+ UnregisterSensorFunction unregisterSensor;
61
+ SetGestureStateFunction setGestureStateFunction;
62
+ KeyboardEventSubscribeFunction subscribeForKeyboardEvents;
63
+ KeyboardEventUnsubscribeFunction unsubscribeFromKeyboardEvents;
64
+ MaybeFlushUIUpdatesQueueFunction maybeFlushUIUpdatesQueueFunction;
65
+ };
66
+
67
+ } // namespace reanimated