react-native-reanimated 2.3.0-alpha.1 → 2.3.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (328) hide show
  1. package/Common/cpp/LayoutAnimations/LayoutAnimationsProxy.cpp +15 -8
  2. package/Common/cpp/NativeModules/NativeReanimatedModule.cpp +170 -166
  3. package/Common/cpp/NativeModules/NativeReanimatedModuleSpec.cpp +36 -34
  4. package/Common/cpp/Registries/EventHandlerRegistry.cpp +13 -6
  5. package/Common/cpp/Registries/MapperRegistry.cpp +19 -15
  6. package/Common/cpp/Registries/WorkletsCache.cpp +19 -9
  7. package/Common/cpp/SharedItems/FrozenObject.cpp +19 -8
  8. package/Common/cpp/SharedItems/MutableValue.cpp +38 -25
  9. package/Common/cpp/SharedItems/MutableValueSetterProxy.cpp +11 -7
  10. package/Common/cpp/SharedItems/RemoteObject.cpp +9 -5
  11. package/Common/cpp/SharedItems/ShareableValue.cpp +216 -143
  12. package/Common/cpp/Tools/JSIStoreValueUser.cpp +36 -24
  13. package/Common/cpp/Tools/Mapper.cpp +41 -29
  14. package/Common/cpp/Tools/RuntimeDecorator.cpp +103 -84
  15. package/Common/cpp/Tools/Scheduler.cpp +14 -6
  16. package/Common/cpp/Tools/WorkletEventHandler.cpp +1 -1
  17. package/Common/cpp/headers/LayoutAnimations/LayoutAnimationsProxy.h +12 -11
  18. package/Common/cpp/headers/NativeModules/NativeReanimatedModule.h +45 -34
  19. package/Common/cpp/headers/NativeModules/NativeReanimatedModuleSpec.h +28 -16
  20. package/Common/cpp/headers/Registries/EventHandlerRegistry.h +14 -8
  21. package/Common/cpp/headers/Registries/MapperRegistry.h +4 -4
  22. package/Common/cpp/headers/Registries/WorkletsCache.h +9 -7
  23. package/Common/cpp/headers/SharedItems/FrozenObject.h +15 -11
  24. package/Common/cpp/headers/SharedItems/HostFunctionHandler.h +6 -4
  25. package/Common/cpp/headers/SharedItems/MutableValue.h +21 -12
  26. package/Common/cpp/headers/SharedItems/MutableValueSetterProxy.h +10 -7
  27. package/Common/cpp/headers/SharedItems/RemoteObject.h +16 -8
  28. package/Common/cpp/headers/SharedItems/RuntimeManager.h +39 -21
  29. package/Common/cpp/headers/SharedItems/ShareableValue.h +31 -27
  30. package/Common/cpp/headers/SharedItems/SharedParent.h +7 -4
  31. package/Common/cpp/headers/SharedItems/ValueWrapper.h +80 -61
  32. package/Common/cpp/headers/SpecTools/ErrorHandler.h +17 -19
  33. package/Common/cpp/headers/Tools/JSIStoreValueUser.h +18 -13
  34. package/Common/cpp/headers/Tools/Mapper.h +24 -18
  35. package/Common/cpp/headers/Tools/PlatformDepMethodsHolder.h +12 -7
  36. package/Common/cpp/headers/Tools/ReanimatedHiddenHeaders.h +7 -7
  37. package/Common/cpp/headers/Tools/RuntimeDecorator.h +29 -23
  38. package/Common/cpp/headers/Tools/Scheduler.h +28 -33
  39. package/Common/cpp/headers/Tools/WorkletEventHandler.h +9 -7
  40. package/Common/cpp/hidden_headers/Logger.h +14 -14
  41. package/Common/cpp/hidden_headers/LoggerInterface.h +8 -9
  42. package/Common/cpp/hidden_headers/SpeedChecker.h +7 -8
  43. package/README.md +1 -1
  44. package/RNReanimated.podspec +4 -4
  45. package/android/build.gradle +80 -3
  46. package/android/react-native-reanimated-63-hermes.aar +0 -0
  47. package/android/react-native-reanimated-63-jsc.aar +0 -0
  48. package/android/react-native-reanimated-64-hermes.aar +0 -0
  49. package/android/react-native-reanimated-64-jsc.aar +0 -0
  50. package/android/react-native-reanimated-65-hermes.aar +0 -0
  51. package/android/react-native-reanimated-65-jsc.aar +0 -0
  52. package/android/react-native-reanimated-66-hermes.aar +0 -0
  53. package/android/react-native-reanimated-66-jsc.aar +0 -0
  54. package/ios/LayoutReanimation/REAAnimationsManager.h +19 -10
  55. package/ios/LayoutReanimation/REAAnimationsManager.m +195 -200
  56. package/ios/LayoutReanimation/REASnapshot.h +13 -0
  57. package/ios/LayoutReanimation/REASnapshot.m +29 -0
  58. package/ios/LayoutReanimation/REAUIManager.h +16 -0
  59. package/ios/LayoutReanimation/REAUIManager.mm +348 -0
  60. package/ios/Nodes/REAAlwaysNode.m +14 -15
  61. package/ios/Nodes/REABezierNode.m +8 -7
  62. package/ios/Nodes/REABlockNode.m +1 -1
  63. package/ios/Nodes/REACallFuncNode.h +0 -1
  64. package/ios/Nodes/REACallFuncNode.m +10 -8
  65. package/ios/Nodes/REAClockNodes.m +22 -20
  66. package/ios/Nodes/REAConcatNode.h +0 -1
  67. package/ios/Nodes/REAConcatNode.m +2 -2
  68. package/ios/Nodes/REACondNode.m +7 -5
  69. package/ios/Nodes/READebugNode.m +5 -4
  70. package/ios/Nodes/REAEventNode.m +1 -1
  71. package/ios/Nodes/REAFunctionNode.h +0 -1
  72. package/ios/Nodes/REAFunctionNode.m +2 -2
  73. package/ios/Nodes/REAJSCallNode.m +4 -5
  74. package/ios/Nodes/REANode.h +3 -4
  75. package/ios/Nodes/REANode.m +9 -11
  76. package/ios/Nodes/REAOperatorNode.m +68 -67
  77. package/ios/Nodes/REAParamNode.h +1 -3
  78. package/ios/Nodes/REAParamNode.m +15 -17
  79. package/ios/Nodes/REAPropsNode.h +1 -3
  80. package/ios/Nodes/REAPropsNode.m +19 -22
  81. package/ios/Nodes/REASetNode.h +0 -1
  82. package/ios/Nodes/REASetNode.m +7 -5
  83. package/ios/Nodes/REAStyleNode.h +0 -1
  84. package/ios/Nodes/REAStyleNode.m +2 -4
  85. package/ios/Nodes/REATransformNode.h +0 -1
  86. package/ios/Nodes/REATransformNode.m +3 -5
  87. package/ios/Nodes/REAValueNode.m +5 -7
  88. package/ios/REAEventDispatcher.m +3 -3
  89. package/ios/REAModule.h +0 -2
  90. package/ios/REAModule.m +29 -40
  91. package/ios/REANodesManager.h +11 -19
  92. package/ios/REANodesManager.m +105 -130
  93. package/ios/REAUtils.h +5 -3
  94. package/ios/Transitioning/RCTConvert+REATransition.m +45 -29
  95. package/ios/Transitioning/REAAllTransitions.h +2 -2
  96. package/ios/Transitioning/REAAllTransitions.m +14 -25
  97. package/ios/Transitioning/REATransition.h +8 -7
  98. package/ios/Transitioning/REATransition.m +19 -16
  99. package/ios/Transitioning/REATransitionAnimation.h +1 -1
  100. package/ios/Transitioning/REATransitionAnimation.m +2 -3
  101. package/ios/Transitioning/REATransitionManager.m +3 -3
  102. package/ios/native/NativeMethods.h +15 -5
  103. package/ios/native/NativeProxy.h +4 -3
  104. package/ios/native/NativeProxy.mm +19 -5
  105. package/ios/native/REAIOSErrorHandler.h +13 -10
  106. package/ios/native/REAIOSLogger.h +8 -8
  107. package/ios/native/REAIOSScheduler.h +5 -5
  108. package/ios/native/REAIOSScheduler.mm +7 -5
  109. package/ios/native/REAInitializer.h +37 -0
  110. package/ios/native/REAInitializer.mm +63 -0
  111. package/ios/native/UIResponder+Reanimated.mm +9 -48
  112. package/lib/ConfigHelper.js +1 -0
  113. package/lib/ReanimatedModule.native.js +10 -2
  114. package/lib/createAnimatedComponent.js +64 -30
  115. package/lib/reanimated1/core/AnimatedAlways.js +1 -1
  116. package/lib/reanimated1/core/AnimatedBezier.js +1 -1
  117. package/lib/reanimated1/core/AnimatedBlock.js +1 -1
  118. package/lib/reanimated1/core/AnimatedCall.js +1 -1
  119. package/lib/reanimated1/core/AnimatedCallFunc.js +1 -1
  120. package/lib/reanimated1/core/AnimatedConcat.js +1 -1
  121. package/lib/reanimated1/core/AnimatedCond.js +1 -1
  122. package/lib/reanimated1/core/AnimatedDebug.js +1 -1
  123. package/lib/reanimated1/core/AnimatedEvent.js +1 -1
  124. package/lib/reanimated1/core/AnimatedFunction.js +1 -1
  125. package/lib/reanimated1/core/AnimatedOperator.js +1 -1
  126. package/lib/reanimated1/core/AnimatedParam.js +1 -1
  127. package/lib/reanimated1/core/AnimatedProps.js +2 -2
  128. package/lib/reanimated1/core/AnimatedSet.js +1 -1
  129. package/lib/reanimated1/core/AnimatedStartClock.js +1 -1
  130. package/lib/reanimated1/core/AnimatedStopClock.js +1 -1
  131. package/lib/reanimated1/core/AnimatedStyle.js +1 -1
  132. package/lib/reanimated1/core/AnimatedTransform.js +1 -1
  133. package/lib/reanimated1/core/Core.test.js +30 -0
  134. package/lib/reanimated1/core/InternalAnimatedValue.js +1 -1
  135. package/lib/reanimated1/core/__mocks__/AnimatedProps.js +1 -1
  136. package/lib/reanimated1/derived/interpolate.js +1 -1
  137. package/lib/reanimated2/Colors.js +16 -12
  138. package/lib/reanimated2/NativeMethods.js +3 -14
  139. package/lib/reanimated2/{NativeReanimated.native.js → NativeReanimated/NativeReanimated.js} +19 -24
  140. package/lib/reanimated2/NativeReanimated/index.js +15 -0
  141. package/lib/reanimated2/PlatformChecker.js +16 -0
  142. package/lib/reanimated2/PropAdapters.js +14 -4
  143. package/lib/reanimated2/UpdateProps.js +14 -11
  144. package/lib/reanimated2/ViewDescriptorsSet.js +73 -0
  145. package/lib/reanimated2/WorkletEventHandler.js +15 -13
  146. package/lib/reanimated2/animation/commonTypes.js +1 -0
  147. package/lib/reanimated2/animation/decay.js +71 -0
  148. package/lib/reanimated2/animation/delay.js +64 -0
  149. package/lib/reanimated2/animation/index.js +8 -0
  150. package/lib/reanimated2/animation/repeat.js +69 -0
  151. package/lib/reanimated2/animation/sequence.js +72 -0
  152. package/lib/reanimated2/animation/spring.js +101 -0
  153. package/lib/reanimated2/animation/styleAnimation.js +166 -0
  154. package/lib/reanimated2/animation/timing.js +64 -0
  155. package/lib/reanimated2/animation/util.js +157 -0
  156. package/lib/reanimated2/commonTypes.js +1 -0
  157. package/lib/reanimated2/core.js +35 -39
  158. package/lib/reanimated2/globals.d.ts +47 -1
  159. package/lib/reanimated2/hook/Hooks.js +9 -0
  160. package/lib/reanimated2/hook/commonTypes.js +1 -0
  161. package/lib/reanimated2/hook/index.js +8 -0
  162. package/lib/reanimated2/hook/useAnimatedGestureHandler.js +50 -0
  163. package/lib/reanimated2/hook/useAnimatedReaction.js +37 -0
  164. package/lib/reanimated2/hook/useAnimatedRef.js +25 -0
  165. package/lib/reanimated2/hook/useAnimatedScrollHandler.js +41 -0
  166. package/lib/reanimated2/hook/useAnimatedStyle.js +376 -0
  167. package/lib/reanimated2/hook/useDerivedValue.js +36 -0
  168. package/lib/reanimated2/hook/useSharedValue.js +17 -0
  169. package/lib/reanimated2/hook/utils.js +175 -0
  170. package/lib/reanimated2/index.js +3 -2
  171. package/lib/reanimated2/interpolation.js +95 -86
  172. package/lib/reanimated2/jestUtils.js +0 -12
  173. package/lib/reanimated2/js-reanimated/JSReanimated.js +9 -10
  174. package/lib/reanimated2/js-reanimated/index.js +57 -1
  175. package/lib/reanimated2/layoutReanimation/LayoutAnimationRepository.js +58 -0
  176. package/lib/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js +69 -0
  177. package/lib/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js +125 -0
  178. package/lib/reanimated2/layoutReanimation/animationBuilder/Keyframe.js +193 -0
  179. package/lib/reanimated2/layoutReanimation/animationBuilder/commonTypes.js +1 -0
  180. package/lib/reanimated2/layoutReanimation/animationBuilder/index.js +3 -0
  181. package/lib/reanimated2/layoutReanimation/defaultAnimations/Bounce.js +325 -207
  182. package/lib/reanimated2/layoutReanimation/defaultAnimations/Default.js +36 -0
  183. package/lib/reanimated2/layoutReanimation/defaultAnimations/Fade.js +235 -187
  184. package/lib/reanimated2/layoutReanimation/defaultAnimations/Flip.js +327 -269
  185. package/lib/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js +146 -0
  186. package/lib/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js +85 -0
  187. package/lib/reanimated2/layoutReanimation/defaultAnimations/Roll.js +119 -0
  188. package/lib/reanimated2/layoutReanimation/defaultAnimations/Rotate.js +289 -0
  189. package/lib/reanimated2/layoutReanimation/defaultAnimations/Slide.js +159 -121
  190. package/lib/reanimated2/layoutReanimation/defaultAnimations/Stretch.js +83 -65
  191. package/lib/reanimated2/layoutReanimation/defaultAnimations/Zoom.js +371 -277
  192. package/lib/reanimated2/layoutReanimation/defaultAnimations/index.js +4 -0
  193. package/lib/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js +78 -0
  194. package/lib/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js +128 -0
  195. package/lib/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js +37 -0
  196. package/lib/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js +41 -0
  197. package/lib/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js +34 -0
  198. package/lib/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js +46 -0
  199. package/lib/reanimated2/layoutReanimation/defaultTransitions/index.js +6 -0
  200. package/lib/reanimated2/layoutReanimation/index.js +3 -2
  201. package/lib/reanimated2/platform-specific/RNRenderer.web.js +2 -0
  202. package/lib/reanimated2/utils.js +9 -0
  203. package/libSo/fbjni/jni/arm64-v8a/libfbjni.so +0 -0
  204. package/libSo/fbjni/jni/armeabi-v7a/libfbjni.so +0 -0
  205. package/libSo/fbjni/jni/x86/libfbjni.so +0 -0
  206. package/libSo/fbjni/jni/x86_64/libfbjni.so +0 -0
  207. package/package.json +21 -10
  208. package/plugin.js +244 -85
  209. package/react-native-reanimated.d.ts +531 -453
  210. package/src/ConfigHelper.js +1 -0
  211. package/src/ReanimatedModule.native.js +10 -2
  212. package/src/createAnimatedComponent.js +64 -30
  213. package/src/reanimated1/core/AnimatedAlways.js +1 -1
  214. package/src/reanimated1/core/AnimatedBezier.js +1 -1
  215. package/src/reanimated1/core/AnimatedBlock.js +1 -1
  216. package/src/reanimated1/core/AnimatedCall.js +1 -1
  217. package/src/reanimated1/core/AnimatedCallFunc.js +1 -1
  218. package/src/reanimated1/core/AnimatedConcat.js +1 -1
  219. package/src/reanimated1/core/AnimatedCond.js +1 -1
  220. package/src/reanimated1/core/AnimatedDebug.js +1 -1
  221. package/src/reanimated1/core/AnimatedEvent.js +1 -1
  222. package/src/reanimated1/core/AnimatedFunction.js +1 -1
  223. package/src/reanimated1/core/AnimatedOperator.js +1 -1
  224. package/src/reanimated1/core/AnimatedParam.js +1 -1
  225. package/src/reanimated1/core/AnimatedProps.js +2 -2
  226. package/src/reanimated1/core/AnimatedSet.js +1 -1
  227. package/src/reanimated1/core/AnimatedStartClock.js +1 -1
  228. package/src/reanimated1/core/AnimatedStopClock.js +1 -1
  229. package/src/reanimated1/core/AnimatedStyle.js +1 -1
  230. package/src/reanimated1/core/AnimatedTransform.js +1 -1
  231. package/src/reanimated1/core/Core.test.js +30 -0
  232. package/src/reanimated1/core/InternalAnimatedValue.js +1 -1
  233. package/src/reanimated1/core/__mocks__/AnimatedProps.js +1 -1
  234. package/src/reanimated1/derived/interpolate.js +1 -1
  235. package/src/reanimated2/Colors.ts +30 -27
  236. package/src/reanimated2/Easing.ts +3 -1
  237. package/src/reanimated2/NativeMethods.ts +26 -16
  238. package/src/reanimated2/NativeReanimated/NativeReanimated.ts +78 -0
  239. package/src/reanimated2/NativeReanimated/index.ts +18 -0
  240. package/src/reanimated2/PlatformChecker.ts +21 -0
  241. package/src/reanimated2/PropAdapters.ts +52 -34
  242. package/src/reanimated2/UpdateProps.ts +40 -20
  243. package/src/reanimated2/ViewDescriptorsSet.ts +108 -0
  244. package/src/reanimated2/WorkletEventHandler.ts +41 -23
  245. package/src/reanimated2/animation/commonTypes.ts +48 -0
  246. package/src/reanimated2/animation/decay.ts +141 -0
  247. package/src/reanimated2/animation/delay.ts +103 -0
  248. package/src/reanimated2/animation/index.ts +16 -0
  249. package/src/reanimated2/animation/repeat.ts +128 -0
  250. package/src/reanimated2/animation/sequence.ts +110 -0
  251. package/src/reanimated2/animation/spring.ts +165 -0
  252. package/src/reanimated2/animation/styleAnimation.ts +253 -0
  253. package/src/reanimated2/animation/timing.ts +109 -0
  254. package/src/reanimated2/animation/util.ts +242 -0
  255. package/src/reanimated2/commonTypes.ts +81 -0
  256. package/src/reanimated2/core.ts +128 -82
  257. package/src/reanimated2/globals.d.ts +47 -1
  258. package/src/reanimated2/hook/Hooks.ts +16 -0
  259. package/src/reanimated2/hook/commonTypes.ts +12 -0
  260. package/src/reanimated2/hook/index.ts +25 -0
  261. package/src/reanimated2/hook/useAnimatedGestureHandler.ts +110 -0
  262. package/src/reanimated2/hook/useAnimatedReaction.ts +49 -0
  263. package/src/reanimated2/hook/useAnimatedRef.ts +34 -0
  264. package/src/reanimated2/hook/useAnimatedScrollHandler.ts +83 -0
  265. package/src/reanimated2/hook/useAnimatedStyle.ts +538 -0
  266. package/src/reanimated2/hook/useDerivedValue.ts +48 -0
  267. package/src/reanimated2/hook/useSharedValue.ts +22 -0
  268. package/src/reanimated2/hook/utils.ts +259 -0
  269. package/src/reanimated2/index.ts +3 -2
  270. package/src/reanimated2/interpolation.ts +170 -101
  271. package/src/reanimated2/jestUtils.ts +0 -12
  272. package/src/reanimated2/js-reanimated/JSReanimated.ts +47 -22
  273. package/src/reanimated2/js-reanimated/Mapper.ts +1 -1
  274. package/src/reanimated2/js-reanimated/index.ts +71 -0
  275. package/src/reanimated2/layoutReanimation/LayoutAnimationRepository.tsx +62 -0
  276. package/src/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.ts +91 -0
  277. package/src/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.ts +169 -0
  278. package/src/reanimated2/layoutReanimation/animationBuilder/Keyframe.ts +263 -0
  279. package/src/reanimated2/layoutReanimation/animationBuilder/commonTypes.ts +78 -0
  280. package/src/reanimated2/layoutReanimation/animationBuilder/index.ts +16 -0
  281. package/src/reanimated2/layoutReanimation/defaultAnimations/Bounce.ts +243 -121
  282. package/src/reanimated2/layoutReanimation/defaultAnimations/Default.ts +43 -0
  283. package/src/reanimated2/layoutReanimation/defaultAnimations/Fade.ts +95 -53
  284. package/src/reanimated2/layoutReanimation/defaultAnimations/Flip.ts +114 -64
  285. package/src/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.ts +179 -0
  286. package/src/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.ts +93 -0
  287. package/src/reanimated2/layoutReanimation/defaultAnimations/Roll.ts +132 -0
  288. package/src/reanimated2/layoutReanimation/defaultAnimations/Rotate.ts +333 -0
  289. package/src/reanimated2/layoutReanimation/defaultAnimations/Slide.ts +84 -50
  290. package/src/reanimated2/layoutReanimation/defaultAnimations/Stretch.ts +41 -23
  291. package/src/reanimated2/layoutReanimation/defaultAnimations/Zoom.ts +234 -154
  292. package/src/reanimated2/layoutReanimation/defaultAnimations/index.ts +4 -0
  293. package/src/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.ts +104 -0
  294. package/src/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.ts +213 -0
  295. package/src/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.ts +60 -0
  296. package/src/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.ts +58 -0
  297. package/src/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.ts +41 -0
  298. package/src/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.ts +78 -0
  299. package/src/reanimated2/layoutReanimation/defaultTransitions/index.ts +6 -0
  300. package/src/reanimated2/layoutReanimation/index.ts +3 -2
  301. package/src/reanimated2/platform-specific/RNRenderer.web.ts +2 -0
  302. package/src/reanimated2/utils.ts +21 -0
  303. package/android/react-native-reanimated-62-hermes.aar +0 -0
  304. package/android/react-native-reanimated-62-jsc.aar +0 -0
  305. package/ios/LayoutReanimation/REAAnimationRootView.h +0 -12
  306. package/ios/LayoutReanimation/REAAnimationRootView.m +0 -16
  307. package/ios/LayoutReanimation/REAAnimationRootViewManager.h +0 -9
  308. package/ios/LayoutReanimation/REAAnimationRootViewManager.m +0 -49
  309. package/ios/LayoutReanimation/REAReactBatchObserver.h +0 -20
  310. package/ios/LayoutReanimation/REAReactBatchObserver.m +0 -125
  311. package/ios/LayoutReanimation/REASnapshooter.h +0 -19
  312. package/ios/LayoutReanimation/REASnapshooter.m +0 -64
  313. package/ios/LayoutReanimation/REAViewTraverser.h +0 -13
  314. package/ios/LayoutReanimation/REAViewTraverser.m +0 -40
  315. package/lib/reanimated2/Hooks.js +0 -732
  316. package/lib/reanimated2/NativeReanimated.js +0 -4
  317. package/lib/reanimated2/animations.js +0 -713
  318. package/lib/reanimated2/js-reanimated/index.web.js +0 -20
  319. package/lib/reanimated2/layoutReanimation/AnimatedRoot.js +0 -55
  320. package/lib/reanimated2/layoutReanimation/defaultAnimationsBuilder.js +0 -374
  321. package/src/reanimated2/Hooks.ts +0 -918
  322. package/src/reanimated2/NativeReanimated.native.ts +0 -61
  323. package/src/reanimated2/NativeReanimated.ts +0 -5
  324. package/src/reanimated2/animations.ts +0 -868
  325. package/src/reanimated2/js-reanimated/index.js +0 -0
  326. package/src/reanimated2/js-reanimated/index.web.ts +0 -29
  327. package/src/reanimated2/layoutReanimation/AnimatedRoot.tsx +0 -68
  328. package/src/reanimated2/layoutReanimation/defaultAnimationsBuilder.ts +0 -440
@@ -1,54 +1,58 @@
1
1
  #pragma once
2
2
 
3
- #include "WorkletsCache.h"
4
- #include "SharedParent.h"
5
- #include "ValueWrapper.h"
3
+ #include <jsi/jsi.h>
4
+ #include <mutex>
5
+ #include <string>
6
+ #include <unordered_map>
6
7
  #include "HostFunctionHandler.h"
7
8
  #include "JSIStoreValueUser.h"
9
+ #include "LayoutAnimationsProxy.h"
8
10
  #include "RuntimeManager.h"
9
11
  #include "Scheduler.h"
10
- #include <string>
11
- #include <mutex>
12
- #include <unordered_map>
13
- #include <jsi/jsi.h>
14
- #include "LayoutAnimationsProxy.h"
12
+ #include "SharedParent.h"
13
+ #include "ValueWrapper.h"
14
+ #include "WorkletsCache.h"
15
15
 
16
16
  using namespace facebook;
17
17
 
18
18
  namespace reanimated {
19
19
 
20
- class ShareableValue: public std::enable_shared_from_this<ShareableValue>, public StoreUser {
21
- friend WorkletsCache;
22
- friend FrozenObject;
23
- friend LayoutAnimationsProxy;
24
- friend void extractMutables(jsi::Runtime &rt,
25
- std::shared_ptr<ShareableValue> sv,
26
- std::vector<std::shared_ptr<MutableValue>> &res);
27
-
28
- private:
20
+ class ShareableValue : public std::enable_shared_from_this<ShareableValue>,
21
+ public StoreUser {
22
+ friend WorkletsCache;
23
+ friend FrozenObject;
24
+ friend LayoutAnimationsProxy;
25
+ friend void extractMutables(
26
+ jsi::Runtime &rt,
27
+ std::shared_ptr<ShareableValue> sv,
28
+ std::vector<std::shared_ptr<MutableValue>> &res);
29
+
30
+ private:
29
31
  RuntimeManager *runtimeManager;
30
32
  std::unique_ptr<ValueWrapper> valueContainer;
31
33
  std::unique_ptr<jsi::Value> hostValue;
32
34
  std::weak_ptr<jsi::Value> remoteValue;
33
35
  bool containsHostFunction = false;
34
36
 
35
- ShareableValue(RuntimeManager *runtimeManager, std::shared_ptr<Scheduler> s): StoreUser(s), runtimeManager(runtimeManager) {}
37
+ ShareableValue(RuntimeManager *runtimeManager, std::shared_ptr<Scheduler> s)
38
+ : StoreUser(s, *runtimeManager), runtimeManager(runtimeManager) {}
36
39
 
37
40
  jsi::Value toJSValue(jsi::Runtime &rt);
38
- jsi::Object createHost(jsi::Runtime &rt, std::shared_ptr<jsi::HostObject> host);
41
+ jsi::Object createHost(
42
+ jsi::Runtime &rt,
43
+ std::shared_ptr<jsi::HostObject> host);
39
44
  void adapt(jsi::Runtime &rt, const jsi::Value &value, ValueType objectType);
40
45
  void adaptCache(jsi::Runtime &rt, const jsi::Value &value);
46
+ std::string demangleExceptionName(std::string toDemangle);
41
47
 
42
- public:
48
+ public:
43
49
  ValueType type = ValueType::UndefinedType;
44
50
  static std::shared_ptr<ShareableValue> adapt(
45
- jsi::Runtime &rt,
46
- const jsi::Value &value,
47
- RuntimeManager *runtimeManager,
48
- ValueType objectType = ValueType::UndefinedType
49
- );
51
+ jsi::Runtime &rt,
52
+ const jsi::Value &value,
53
+ RuntimeManager *runtimeManager,
54
+ ValueType objectType = ValueType::UndefinedType);
50
55
  jsi::Value getValue(jsi::Runtime &rt);
51
-
52
56
  };
53
57
 
54
- }
58
+ } // namespace reanimated
@@ -8,9 +8,12 @@ enum class ValueType {
8
8
  BoolType,
9
9
  NumberType,
10
10
  StringType,
11
- RemoteObjectType, /* object that can be instantiated on host side and modified on the remote (worklet) side */
12
- MutableValueType, /* object with 'value' property that can be updated and read from any thread */
13
- HostFunctionType, /* function that will be executed asynchronously on the host runtime */
11
+ RemoteObjectType, /* object that can be instantiated on host side and modified
12
+ on the remote (worklet) side */
13
+ MutableValueType, /* object with 'value' property that can be updated and read
14
+ from any thread */
15
+ HostFunctionType, /* function that will be executed asynchronously on the host
16
+ runtime */
14
17
  WorkletFunctionType, /* function that gets run on the UI thread */
15
18
  FrozenObjectType, /* frozen object, can only be set and never modified */
16
19
  FrozenArrayType, /* frozen array, can only be set and never modified */
@@ -21,4 +24,4 @@ class MutableValue;
21
24
  class RemoteObject;
22
25
  class NativeReanimatedModule;
23
26
 
24
- }
27
+ } // namespace reanimated
@@ -1,132 +1,151 @@
1
1
  #pragma once
2
2
 
3
- #include "WorkletsCache.h"
4
- #include "SharedParent.h"
5
3
  #include <jsi/jsi.h>
6
4
  #include <string>
7
- #include "JSIStoreValueUser.h"
8
5
  #include "HostFunctionHandler.h"
6
+ #include "JSIStoreValueUser.h"
7
+ #include "SharedParent.h"
8
+ #include "WorkletsCache.h"
9
9
 
10
10
  namespace reanimated {
11
11
 
12
12
  class HostFunctionWrapper;
13
13
 
14
14
  class ValueWrapper {
15
- public:
16
- ValueWrapper() {};
17
- ValueWrapper(ValueType _type) : type(_type) {};
15
+ public:
16
+ ValueWrapper(){};
17
+ ValueWrapper(ValueType _type) : type(_type){};
18
18
  ValueType getType() const {
19
19
  return type;
20
20
  }
21
21
 
22
22
  virtual ~ValueWrapper() {}
23
23
 
24
- static inline bool asBoolean(const std::unique_ptr<ValueWrapper>& valueContainer);
25
- static inline double asNumber(const std::unique_ptr<ValueWrapper>& valueContainer);
26
- static inline const std::string& asString(const std::unique_ptr<ValueWrapper>& valueContainer);
27
- static inline const std::shared_ptr<HostFunctionHandler>& asHostFunction(const std::unique_ptr<ValueWrapper>& valueContainer);
28
- static inline const std::shared_ptr<FrozenObject>& asFrozenObject(const std::unique_ptr<ValueWrapper>& valueContainer);
29
- static inline const std::shared_ptr<RemoteObject>& asRemoteObject(const std::unique_ptr<ValueWrapper>& valueContainer);
30
- static inline std::vector<std::shared_ptr<ShareableValue>>& asFrozenArray(const std::unique_ptr<ValueWrapper>& valueContainer);
31
- static inline const std::shared_ptr<MutableValue>& asMutableValue(const std::unique_ptr<ValueWrapper>& valueContainer);
32
-
33
- static const HostFunctionWrapper* asHostFunctionWrapper(const std::unique_ptr<ValueWrapper>& valueContainer);
34
-
35
- protected:
36
- ValueType type;
24
+ static inline bool asBoolean(
25
+ const std::unique_ptr<ValueWrapper> &valueContainer);
26
+ static inline double asNumber(
27
+ const std::unique_ptr<ValueWrapper> &valueContainer);
28
+ static inline const std::string &asString(
29
+ const std::unique_ptr<ValueWrapper> &valueContainer);
30
+ static inline const std::shared_ptr<HostFunctionHandler> &asHostFunction(
31
+ const std::unique_ptr<ValueWrapper> &valueContainer);
32
+ static inline const std::shared_ptr<FrozenObject> &asFrozenObject(
33
+ const std::unique_ptr<ValueWrapper> &valueContainer);
34
+ static inline const std::shared_ptr<RemoteObject> &asRemoteObject(
35
+ const std::unique_ptr<ValueWrapper> &valueContainer);
36
+ static inline std::vector<std::shared_ptr<ShareableValue>> &asFrozenArray(
37
+ const std::unique_ptr<ValueWrapper> &valueContainer);
38
+ static inline const std::shared_ptr<MutableValue> &asMutableValue(
39
+ const std::unique_ptr<ValueWrapper> &valueContainer);
40
+
41
+ static const HostFunctionWrapper *asHostFunctionWrapper(
42
+ const std::unique_ptr<ValueWrapper> &valueContainer);
43
+
44
+ protected:
45
+ ValueType type;
37
46
  };
38
47
 
39
48
  class BooleanValueWrapper : public ValueWrapper {
40
- public:
49
+ public:
41
50
  BooleanValueWrapper(const bool _value)
42
- : ValueWrapper(ValueType::BoolType), value(_value) {};
51
+ : ValueWrapper(ValueType::BoolType), value(_value){};
43
52
  bool value;
44
53
  };
45
54
 
46
55
  class NumberValueWrapper : public ValueWrapper {
47
- public:
56
+ public:
48
57
  NumberValueWrapper(const double _value)
49
- : ValueWrapper(ValueType::NumberType), value(_value) {};
58
+ : ValueWrapper(ValueType::NumberType), value(_value){};
50
59
  double value;
51
60
  };
52
61
 
53
62
  class StringValueWrapper : public ValueWrapper {
54
- public:
55
- StringValueWrapper(const std::string & _value)
56
- : ValueWrapper(ValueType::StringType), value(_value) {};
63
+ public:
64
+ StringValueWrapper(const std::string &_value)
65
+ : ValueWrapper(ValueType::StringType), value(_value){};
57
66
  std::string value;
58
67
  };
59
68
 
60
69
  class HostFunctionWrapper : public ValueWrapper {
61
- public:
62
- HostFunctionWrapper(const std::shared_ptr<HostFunctionHandler> & _value)
63
- : ValueWrapper(ValueType::HostFunctionType), value(_value) {};
70
+ public:
71
+ HostFunctionWrapper(const std::shared_ptr<HostFunctionHandler> &_value)
72
+ : ValueWrapper(ValueType::HostFunctionType), value(_value){};
64
73
  std::shared_ptr<HostFunctionHandler> value;
65
74
  };
66
75
 
67
76
  class FrozenObjectWrapper : public ValueWrapper {
68
- public:
69
- FrozenObjectWrapper(const std::shared_ptr<FrozenObject> & _value)
70
- : ValueWrapper(ValueType::FrozenObjectType), value(_value) {};
77
+ public:
78
+ FrozenObjectWrapper(const std::shared_ptr<FrozenObject> &_value)
79
+ : ValueWrapper(ValueType::FrozenObjectType), value(_value){};
71
80
  std::shared_ptr<FrozenObject> value;
72
81
  };
73
82
 
74
83
  class RemoteObjectWrapper : public ValueWrapper {
75
- public:
76
- RemoteObjectWrapper(const std::shared_ptr<RemoteObject> & _value)
77
- : ValueWrapper(ValueType::RemoteObjectType), value(_value) {};
84
+ public:
85
+ RemoteObjectWrapper(const std::shared_ptr<RemoteObject> &_value)
86
+ : ValueWrapper(ValueType::RemoteObjectType), value(_value){};
78
87
  std::shared_ptr<RemoteObject> value;
79
88
  };
80
89
 
81
90
  class FrozenArrayWrapper : public ValueWrapper {
82
- public:
83
- FrozenArrayWrapper() : ValueWrapper(ValueType::FrozenArrayType) {};
84
- FrozenArrayWrapper(const std::vector<std::shared_ptr<ShareableValue>> & _value)
85
- : ValueWrapper(ValueType::FrozenArrayType), value(_value) {};
91
+ public:
92
+ FrozenArrayWrapper() : ValueWrapper(ValueType::FrozenArrayType){};
93
+ FrozenArrayWrapper(const std::vector<std::shared_ptr<ShareableValue>> &_value)
94
+ : ValueWrapper(ValueType::FrozenArrayType), value(_value){};
86
95
  std::vector<std::shared_ptr<ShareableValue>> value;
87
96
  };
88
97
 
89
98
  class MutableValueWrapper : public ValueWrapper {
90
- public:
91
- MutableValueWrapper(const std::shared_ptr<MutableValue> & _value)
92
- : ValueWrapper(ValueType::MutableValueType), value(_value) {};
99
+ public:
100
+ MutableValueWrapper(const std::shared_ptr<MutableValue> &_value)
101
+ : ValueWrapper(ValueType::MutableValueType), value(_value){};
93
102
  std::shared_ptr<MutableValue> value;
94
103
  };
95
104
 
96
- inline bool ValueWrapper::asBoolean(const std::unique_ptr<ValueWrapper>& valueContainer) {
97
- return static_cast<BooleanValueWrapper*>(valueContainer.get())->value;
105
+ inline bool ValueWrapper::asBoolean(
106
+ const std::unique_ptr<ValueWrapper> &valueContainer) {
107
+ return static_cast<BooleanValueWrapper *>(valueContainer.get())->value;
98
108
  };
99
109
 
100
- inline double ValueWrapper::asNumber(const std::unique_ptr<ValueWrapper>& valueContainer) {
101
- return static_cast<NumberValueWrapper*>(valueContainer.get())->value;
110
+ inline double ValueWrapper::asNumber(
111
+ const std::unique_ptr<ValueWrapper> &valueContainer) {
112
+ return static_cast<NumberValueWrapper *>(valueContainer.get())->value;
102
113
  };
103
114
 
104
- inline const std::string& ValueWrapper::asString(const std::unique_ptr<ValueWrapper>& valueContainer) {
105
- return static_cast<StringValueWrapper*>(valueContainer.get())->value;
115
+ inline const std::string &ValueWrapper::asString(
116
+ const std::unique_ptr<ValueWrapper> &valueContainer) {
117
+ return static_cast<StringValueWrapper *>(valueContainer.get())->value;
106
118
  };
107
119
 
108
- inline const std::shared_ptr<HostFunctionHandler>& ValueWrapper::asHostFunction(const std::unique_ptr<ValueWrapper>& valueContainer) {
109
- return static_cast<HostFunctionWrapper*>(valueContainer.get())->value;
120
+ inline const std::shared_ptr<HostFunctionHandler> &ValueWrapper::asHostFunction(
121
+ const std::unique_ptr<ValueWrapper> &valueContainer) {
122
+ return static_cast<HostFunctionWrapper *>(valueContainer.get())->value;
110
123
  };
111
124
 
112
- inline const std::shared_ptr<FrozenObject>& ValueWrapper::asFrozenObject(const std::unique_ptr<ValueWrapper>& valueContainer) {
113
- return static_cast<FrozenObjectWrapper*>(valueContainer.get())->value;
125
+ inline const std::shared_ptr<FrozenObject> &ValueWrapper::asFrozenObject(
126
+ const std::unique_ptr<ValueWrapper> &valueContainer) {
127
+ return static_cast<FrozenObjectWrapper *>(valueContainer.get())->value;
114
128
  };
115
129
 
116
- inline const std::shared_ptr<RemoteObject>& ValueWrapper::asRemoteObject(const std::unique_ptr<ValueWrapper>& valueContainer) {
117
- return static_cast<RemoteObjectWrapper*>(valueContainer.get())->value;
130
+ inline const std::shared_ptr<RemoteObject> &ValueWrapper::asRemoteObject(
131
+ const std::unique_ptr<ValueWrapper> &valueContainer) {
132
+ return static_cast<RemoteObjectWrapper *>(valueContainer.get())->value;
118
133
  };
119
134
 
120
- inline std::vector<std::shared_ptr<ShareableValue>>& ValueWrapper::asFrozenArray(const std::unique_ptr<ValueWrapper>& valueContainer) {
121
- return static_cast<FrozenArrayWrapper*>(valueContainer.get())->value;
135
+ inline std::vector<std::shared_ptr<ShareableValue>>
136
+ &ValueWrapper::asFrozenArray(
137
+ const std::unique_ptr<ValueWrapper> &valueContainer) {
138
+ return static_cast<FrozenArrayWrapper *>(valueContainer.get())->value;
122
139
  };
123
140
 
124
- inline const std::shared_ptr<MutableValue>& ValueWrapper::asMutableValue(const std::unique_ptr<ValueWrapper>& valueContainer) {
125
- return static_cast<MutableValueWrapper*>(valueContainer.get())->value;
141
+ inline const std::shared_ptr<MutableValue> &ValueWrapper::asMutableValue(
142
+ const std::unique_ptr<ValueWrapper> &valueContainer) {
143
+ return static_cast<MutableValueWrapper *>(valueContainer.get())->value;
126
144
  };
127
145
 
128
- inline const HostFunctionWrapper* ValueWrapper::asHostFunctionWrapper(const std::unique_ptr<ValueWrapper>& valueContainer) {
129
- return static_cast<HostFunctionWrapper*>(valueContainer.get());
146
+ inline const HostFunctionWrapper *ValueWrapper::asHostFunctionWrapper(
147
+ const std::unique_ptr<ValueWrapper> &valueContainer) {
148
+ return static_cast<HostFunctionWrapper *>(valueContainer.get());
130
149
  };
131
150
 
132
- }
151
+ } // namespace reanimated
@@ -1,10 +1,9 @@
1
1
  #pragma once
2
2
 
3
- #include "Scheduler.h"
4
3
  #include <string>
4
+ #include "Scheduler.h"
5
5
 
6
- namespace reanimated
7
- {
6
+ namespace reanimated {
8
7
 
9
8
  struct ErrorWrapper {
10
9
  std::string message = "";
@@ -12,22 +11,21 @@ struct ErrorWrapper {
12
11
  };
13
12
 
14
13
  class ErrorHandler {
15
- public:
16
- bool raise() {
17
- if (getError()->handled) {
18
- return false;
19
- }
20
- this->getScheduler()->scheduleOnUI([this]() mutable {
21
- this->raiseSpec();
22
- });
23
- return true;
14
+ public:
15
+ bool raise() {
16
+ if (getError()->handled) {
17
+ return false;
24
18
  }
25
- virtual std::shared_ptr<Scheduler> getScheduler() = 0;
26
- virtual std::shared_ptr<ErrorWrapper> getError() = 0;
27
- virtual void setError(std::string message) = 0;
28
- virtual ~ErrorHandler() {}
29
- protected:
30
- virtual void raiseSpec() = 0;
19
+ this->getScheduler()->scheduleOnUI([this]() mutable { this->raiseSpec(); });
20
+ return true;
21
+ }
22
+ virtual std::shared_ptr<Scheduler> getScheduler() = 0;
23
+ virtual std::shared_ptr<ErrorWrapper> getError() = 0;
24
+ virtual void setError(std::string message) = 0;
25
+ virtual ~ErrorHandler() {}
26
+
27
+ protected:
28
+ virtual void raiseSpec() = 0;
31
29
  };
32
30
 
33
- }
31
+ } // namespace reanimated
@@ -1,35 +1,40 @@
1
1
  #ifndef JSIStoreValueUser_h
2
2
  #define JSIStoreValueUser_h
3
3
 
4
+ #include <jsi/jsi.h>
4
5
  #include <stdio.h>
5
6
  #include <memory>
6
- #include <vector>
7
- #include <unordered_map>
8
- #include <jsi/jsi.h>
9
7
  #include <mutex>
8
+ #include <unordered_map>
9
+ #include <vector>
10
10
  #include "Scheduler.h"
11
11
 
12
12
  using namespace facebook;
13
13
 
14
14
  namespace reanimated {
15
15
 
16
+ class RuntimeManager;
17
+
18
+ struct StaticStoreUser {
19
+ std::atomic<int> ctr;
20
+ std::unordered_map<int, std::vector<std::shared_ptr<jsi::Value>>> store;
21
+ std::recursive_mutex storeMutex;
22
+ };
23
+
16
24
  class StoreUser {
17
25
  int identifier = 0;
18
- static std::atomic<int> ctr;
19
- static std::unordered_map<int, std::vector<std::shared_ptr<jsi::Value>>> store;
20
- static std::recursive_mutex storeMutex;
21
26
  std::weak_ptr<Scheduler> scheduler;
22
-
23
- public:
24
- StoreUser(std::shared_ptr<Scheduler> s);
25
-
27
+ std::shared_ptr<StaticStoreUser> storeUserData;
28
+
29
+ public:
30
+ StoreUser(std::shared_ptr<Scheduler> s, RuntimeManager &runtimeManager);
31
+
26
32
  std::weak_ptr<jsi::Value> getWeakRef(jsi::Runtime &rt);
27
33
  void removeRefs();
28
-
29
- static void clearStore();
34
+
30
35
  virtual ~StoreUser();
31
36
  };
32
37
 
33
- }
38
+ } // namespace reanimated
34
39
 
35
40
  #endif /* JSIStoreValueUser_h */
@@ -1,9 +1,9 @@
1
1
  #pragma once
2
2
 
3
- #include "ShareableValue.h"
4
- #include "NativeReanimatedModule.h"
5
- #include <stdio.h>
6
3
  #include <jsi/jsi.h>
4
+ #include <stdio.h>
5
+ #include "NativeReanimatedModule.h"
6
+ #include "ShareableValue.h"
7
7
 
8
8
  using namespace facebook;
9
9
 
@@ -11,9 +11,15 @@ namespace reanimated {
11
11
 
12
12
  class MapperRegistry;
13
13
 
14
+ struct ViewDescriptor {
15
+ int tag;
16
+ jsi::Value name;
17
+ };
18
+
14
19
  class Mapper : public std::enable_shared_from_this<Mapper> {
15
20
  friend MapperRegistry;
16
- private:
21
+
22
+ private:
17
23
  unsigned long id;
18
24
  NativeReanimatedModule *module;
19
25
  std::shared_ptr<jsi::Function> mapper;
@@ -21,23 +27,23 @@ private:
21
27
  std::vector<std::shared_ptr<MutableValue>> outputs;
22
28
  bool dirty = true;
23
29
  std::shared_ptr<jsi::Function> userUpdater;
24
- UpdaterFunction* updateProps;
25
- jsi::Value viewName;
26
- int viewTag;
30
+ UpdaterFunction *updateProps;
27
31
  int optimalizationLvl = 0;
32
+ std::shared_ptr<ShareableValue> viewDescriptors;
28
33
 
29
- public:
30
- Mapper(NativeReanimatedModule *module,
31
- unsigned long id,
32
- std::shared_ptr<jsi::Function> mapper,
33
- std::vector<std::shared_ptr<MutableValue>> inputs,
34
- std::vector<std::shared_ptr<MutableValue>> outputs,
35
- std::shared_ptr<ShareableValue> updater,
36
- const int viewTag,
37
- const std::string& viewName,
38
- const int optimalizationLvl);
34
+ public:
35
+ Mapper(
36
+ NativeReanimatedModule *module,
37
+ unsigned long id,
38
+ std::shared_ptr<jsi::Function> mapper,
39
+ std::vector<std::shared_ptr<MutableValue>> inputs,
40
+ std::vector<std::shared_ptr<MutableValue>> outputs);
39
41
  void execute(jsi::Runtime &rt);
42
+ void enableFastMode(
43
+ const int optimalizationLvl,
44
+ const std::shared_ptr<ShareableValue> &updater,
45
+ const std::shared_ptr<ShareableValue> &jsViewDescriptors);
40
46
  virtual ~Mapper();
41
47
  };
42
48
 
43
- }
49
+ } // namespace reanimated
@@ -1,17 +1,22 @@
1
1
  #pragma once
2
2
 
3
- #include <stdio.h>
4
3
  #include <jsi/jsi.h>
4
+ #include <stdio.h>
5
5
 
6
6
  using namespace facebook;
7
7
 
8
- namespace reanimated
9
- {
8
+ namespace reanimated {
10
9
 
11
- using UpdaterFunction = std::function<void(jsi::Runtime &rt, int viewTag, const jsi::Value &viewName, const jsi::Object &object)>;
12
- using RequestRender = std::function<void(std::function<void(double)>, jsi::Runtime &rt)>;
10
+ using UpdaterFunction = std::function<void(
11
+ jsi::Runtime &rt,
12
+ int viewTag,
13
+ const jsi::Value &viewName,
14
+ const jsi::Object &object)>;
15
+ using RequestRender =
16
+ std::function<void(std::function<void(double)>, jsi::Runtime &rt)>;
13
17
  using ScrollToFunction = std::function<void(int, double, double, bool)>;
14
- using MeasuringFunction = std::function<std::vector<std::pair<std::string, double>>(int)>;
18
+ using MeasuringFunction =
19
+ std::function<std::vector<std::pair<std::string, double>>(int)>;
15
20
  using TimeProviderFunction = std::function<double(void)>;
16
21
 
17
22
  struct PlatformDepMethodsHolder {
@@ -22,4 +27,4 @@ struct PlatformDepMethodsHolder {
22
27
  TimeProviderFunction getCurrentTime;
23
28
  };
24
29
 
25
- }
30
+ } // namespace reanimated
@@ -3,13 +3,13 @@
3
3
  #define REANIMATEDEXAMPLE_REANIMATEDHIDDEN_H
4
4
 
5
5
  #if defined(ONANDROID)
6
- #include "Logger.h"
7
- #include "LoggerInterface.h"
8
- #include "SpeedChecker.h"
6
+ #include "Logger.h"
7
+ #include "LoggerInterface.h"
8
+ #include "SpeedChecker.h"
9
9
  #else
10
- #include "Common/cpp/hidden_headers/Logger.h"
11
- #include "Common/cpp/hidden_headers/LoggerInterface.h"
12
- #include "Common/cpp/hidden_headers/SpeedChecker.h"
10
+ #include "Common/cpp/hidden_headers/Logger.h"
11
+ #include "Common/cpp/hidden_headers/LoggerInterface.h"
12
+ #include "Common/cpp/hidden_headers/SpeedChecker.h"
13
13
  #endif
14
14
 
15
- #endif //REANIMATEDEXAMPLE_REANIMATEDHIDDEN_H
15
+ #endif // REANIMATEDEXAMPLE_REANIMATEDHIDDEN_H
@@ -1,10 +1,10 @@
1
1
  #pragma once
2
2
 
3
- #include "PlatformDepMethodsHolder.h"
3
+ #include <jsi/jsi.h>
4
4
  #include <stdio.h>
5
5
  #include <unordered_map>
6
- #include <jsi/jsi.h>
7
6
  #include "LayoutAnimationsProxy.h"
7
+ #include "PlatformDepMethodsHolder.h"
8
8
 
9
9
  using namespace facebook;
10
10
 
@@ -22,25 +22,27 @@ enum RuntimeType {
22
22
  */
23
23
  UI
24
24
  };
25
- typedef jsi::Runtime* RuntimePointer;
25
+ typedef jsi::Runtime *RuntimePointer;
26
26
 
27
27
  class RuntimeDecorator {
28
- public:
28
+ public:
29
29
  static void decorateRuntime(jsi::Runtime &rt, const std::string &label);
30
- static void decorateUIRuntime(jsi::Runtime &rt,
31
- const UpdaterFunction updater,
32
- const RequestFrameFunction requestFrame,
33
- const ScrollToFunction scrollTo,
34
- const MeasuringFunction measure,
35
- const TimeProviderFunction getCurrentTime,
36
- std::shared_ptr<LayoutAnimationsProxy> layoutAnimationsProxy);
37
-
30
+ static void decorateUIRuntime(
31
+ jsi::Runtime &rt,
32
+ const UpdaterFunction updater,
33
+ const RequestFrameFunction requestFrame,
34
+ const ScrollToFunction scrollTo,
35
+ const MeasuringFunction measure,
36
+ const TimeProviderFunction getCurrentTime,
37
+ std::shared_ptr<LayoutAnimationsProxy> layoutAnimationsProxy);
38
+
38
39
  /**
39
40
  Returns true if the given Runtime is the Reanimated UI-Thread Runtime.
40
41
  */
41
42
  inline static bool isUIRuntime(jsi::Runtime &rt);
42
43
  /**
43
- Returns true if the given Runtime is a Runtime that supports the concept of Workletization. (REA, Vision, ...)
44
+ Returns true if the given Runtime is a Runtime that supports the concept of
45
+ Workletization. (REA, Vision, ...)
44
46
  */
45
47
  inline static bool isWorkletRuntime(jsi::Runtime &rt);
46
48
  /**
@@ -48,31 +50,35 @@ public:
48
50
  */
49
51
  inline static bool isReactRuntime(jsi::Runtime &rt);
50
52
  /**
51
- Register the given Runtime. This function is required for every RuntimeManager, otherwise future runtime checks will fail.
53
+ Register the given Runtime. This function is required for every
54
+ RuntimeManager, otherwise future runtime checks will fail.
52
55
  */
53
- static void registerRuntime(jsi::Runtime* runtime, RuntimeType runtimeType);
56
+ static void registerRuntime(jsi::Runtime *runtime, RuntimeType runtimeType);
54
57
 
55
- private:
58
+ private:
56
59
  static std::unordered_map<RuntimePointer, RuntimeType> runtimeRegistry;
57
60
  };
58
61
 
59
- inline bool RuntimeDecorator::isUIRuntime(jsi::Runtime& rt) {
62
+ inline bool RuntimeDecorator::isUIRuntime(jsi::Runtime &rt) {
60
63
  auto iterator = runtimeRegistry.find(&rt);
61
- if (iterator == runtimeRegistry.end()) return false;
64
+ if (iterator == runtimeRegistry.end())
65
+ return false;
62
66
  return iterator->second == RuntimeType::UI;
63
67
  }
64
68
 
65
- inline bool RuntimeDecorator::isWorkletRuntime(jsi::Runtime& rt) {
69
+ inline bool RuntimeDecorator::isWorkletRuntime(jsi::Runtime &rt) {
66
70
  auto iterator = runtimeRegistry.find(&rt);
67
- if (iterator == runtimeRegistry.end()) return false;
71
+ if (iterator == runtimeRegistry.end())
72
+ return false;
68
73
  auto type = iterator->second;
69
74
  return type == RuntimeType::UI || type == RuntimeType::Worklet;
70
75
  }
71
76
 
72
- inline bool RuntimeDecorator::isReactRuntime(jsi::Runtime& rt) {
77
+ inline bool RuntimeDecorator::isReactRuntime(jsi::Runtime &rt) {
73
78
  auto iterator = runtimeRegistry.find(&rt);
74
- if (iterator == runtimeRegistry.end()) return true;
79
+ if (iterator == runtimeRegistry.end())
80
+ return true;
75
81
  return false;
76
82
  }
77
83
 
78
- }
84
+ } // namespace reanimated