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
@@ -3,7 +3,8 @@
3
3
 
4
4
  namespace reanimated {
5
5
 
6
- void EventHandlerRegistry::registerEventHandler(std::shared_ptr<WorkletEventHandler> eventHandler) {
6
+ void EventHandlerRegistry::registerEventHandler(
7
+ std::shared_ptr<WorkletEventHandler> eventHandler) {
7
8
  const std::lock_guard<std::mutex> lock(instanceMutex);
8
9
  eventMappings[eventHandler->eventName][eventHandler->id] = eventHandler;
9
10
  eventHandlers[eventHandler->id] = eventHandler;
@@ -21,7 +22,10 @@ void EventHandlerRegistry::unregisterEventHandler(unsigned long id) {
21
22
  }
22
23
  }
23
24
 
24
- void EventHandlerRegistry::processEvent(jsi::Runtime &rt, std::string eventName, std::string eventPayload) {
25
+ void EventHandlerRegistry::processEvent(
26
+ jsi::Runtime &rt,
27
+ std::string eventName,
28
+ std::string eventPayload) {
25
29
  std::vector<std::shared_ptr<WorkletEventHandler>> handlersForEvent;
26
30
  {
27
31
  const std::lock_guard<std::mutex> lock(instanceMutex);
@@ -38,15 +42,18 @@ void EventHandlerRegistry::processEvent(jsi::Runtime &rt, std::string eventName,
38
42
  std::string delimimter = "NativeMap:";
39
43
  auto positionToSplit = eventPayload.find(delimimter) + delimimter.size();
40
44
  auto lastBracketCharactedPosition = eventPayload.size() - positionToSplit - 1;
41
- auto eventJSON = eventPayload.substr(positionToSplit, lastBracketCharactedPosition);
45
+ auto eventJSON =
46
+ eventPayload.substr(positionToSplit, lastBracketCharactedPosition);
42
47
 
43
48
  if (eventJSON.compare(std::string("null")) == 0) {
44
49
  return;
45
50
  }
46
51
 
47
- auto eventObject = jsi::Value::createFromJsonUtf8(rt, (uint8_t*)(&eventJSON[0]), eventJSON.size());
52
+ auto eventObject = jsi::Value::createFromJsonUtf8(
53
+ rt, (uint8_t *)(&eventJSON[0]), eventJSON.size());
48
54
 
49
- eventObject.asObject(rt).setProperty(rt, "eventName", jsi::String::createFromUtf8(rt, eventName));
55
+ eventObject.asObject(rt).setProperty(
56
+ rt, "eventName", jsi::String::createFromUtf8(rt, eventName));
50
57
  for (auto handler : handlersForEvent) {
51
58
  handler->process(rt, eventObject);
52
59
  }
@@ -58,4 +65,4 @@ bool EventHandlerRegistry::isAnyHandlerWaitingForEvent(std::string eventName) {
58
65
  return (it != eventMappings.end()) and (!(it->second).empty());
59
66
  }
60
67
 
61
- }
68
+ } // namespace reanimated
@@ -1,8 +1,8 @@
1
1
  #include "MapperRegistry.h"
2
- #include "Mapper.h"
3
- #include <map>
4
2
  #include <array>
3
+ #include <map>
5
4
  #include <set>
5
+ #include "Mapper.h"
6
6
 
7
7
  namespace reanimated {
8
8
 
@@ -21,7 +21,7 @@ void MapperRegistry::execute(jsi::Runtime &rt) {
21
21
  updateOrder();
22
22
  updatedSinceLastExecute = false;
23
23
  }
24
- for (auto & mapper : sortedMappers) {
24
+ for (auto &mapper : sortedMappers) {
25
25
  if (mapper->dirty) {
26
26
  mapper->execute(rt);
27
27
  }
@@ -41,14 +41,16 @@ void MapperRegistry::updateOrder() { // Topological sorting
41
41
 
42
42
  NodeID(std::shared_ptr<Mapper> mapper) {
43
43
  if (mapper == nullptr) {
44
- throw std::runtime_error("Graph couldn't be sorted (Mapper cannot be nullptr)");
44
+ throw std::runtime_error(
45
+ "Graph couldn't be sorted (Mapper cannot be nullptr)");
45
46
  }
46
47
  this->mapper = mapper;
47
48
  }
48
49
 
49
50
  NodeID(std::shared_ptr<MutableValue> mutableValue) {
50
51
  if (mutableValue == nullptr) {
51
- throw std::runtime_error("Graph couldn't be sorted (Mutable cannot be nullptr)");
52
+ throw std::runtime_error(
53
+ "Graph couldn't be sorted (Mutable cannot be nullptr)");
52
54
  }
53
55
  this->mutableValue = mutableValue;
54
56
  }
@@ -57,8 +59,7 @@ void MapperRegistry::updateOrder() { // Topological sorting
57
59
  return mutableValue != nullptr;
58
60
  }
59
61
 
60
- bool operator<(const NodeID& other) const
61
- {
62
+ bool operator<(const NodeID &other) const {
62
63
  if (isMutable() != other.isMutable())
63
64
  return isMutable() < other.isMutable();
64
65
 
@@ -72,22 +73,24 @@ void MapperRegistry::updateOrder() { // Topological sorting
72
73
 
73
74
  std::map<NodeID, int> deg;
74
75
 
75
- std::map<std::shared_ptr<MutableValue>, std::vector<std::shared_ptr<Mapper>>> mappersThatUseSharedValue;
76
+ std::map<std::shared_ptr<MutableValue>, std::vector<std::shared_ptr<Mapper>>>
77
+ mappersThatUseSharedValue;
76
78
 
77
79
  std::set<std::pair<int, NodeID>> nodes;
78
80
 
79
- std::function<void(NodeID)> update = [&] (NodeID id) {
81
+ std::function<void(NodeID)> update = [&](NodeID id) {
80
82
  auto entry = std::make_pair(deg[id], id);
81
- if (nodes.find(entry) == nodes.end()) return;
83
+ if (nodes.find(entry) == nodes.end())
84
+ return;
82
85
  nodes.erase(entry);
83
86
  entry.first--;
84
87
  deg[id]--;
85
88
  nodes.insert(entry);
86
89
  };
87
90
 
88
- for (auto & entry : mappers) {
91
+ for (auto &entry : mappers) {
89
92
  auto id = NodeID(entry.second);
90
- auto & mapper = entry.second;
93
+ auto &mapper = entry.second;
91
94
  deg[id] = mapper->inputs.size();
92
95
  nodes.insert(std::make_pair(deg[id], id));
93
96
 
@@ -104,7 +107,7 @@ void MapperRegistry::updateOrder() { // Topological sorting
104
107
  }
105
108
  }
106
109
 
107
- for (auto & entry : deg) {
110
+ for (auto &entry : deg) {
108
111
  auto id = entry.first;
109
112
  if (id.isMutable()) {
110
113
  nodes.insert(std::make_pair(entry.second, id));
@@ -130,7 +133,8 @@ void MapperRegistry::updateOrder() { // Topological sorting
130
133
  sortedMappers.push_back(id.mapper);
131
134
  }
132
135
 
133
- for (auto & id : toUpdate) update(id);
136
+ for (auto &id : toUpdate)
137
+ update(id);
134
138
  }
135
139
 
136
140
  if (nodes.size() > 0) {
@@ -138,4 +142,4 @@ void MapperRegistry::updateOrder() { // Topological sorting
138
142
  }
139
143
  }
140
144
 
141
- }
145
+ } // namespace reanimated
@@ -1,28 +1,38 @@
1
1
  #include "WorkletsCache.h"
2
- #include "ShareableValue.h"
3
2
  #include "FrozenObject.h"
3
+ #include "ShareableValue.h"
4
4
 
5
5
  using namespace facebook;
6
6
 
7
- namespace reanimated
8
- {
7
+ namespace reanimated {
9
8
 
10
9
  jsi::Value eval(jsi::Runtime &rt, const char *code) {
11
10
  return rt.global().getPropertyAsFunction(rt, "eval").call(rt, code);
12
11
  }
13
12
 
14
- jsi::Function function(jsi::Runtime &rt, const std::string& code) {
13
+ jsi::Function function(jsi::Runtime &rt, const std::string &code) {
15
14
  return eval(rt, ("(" + code + ")").c_str()).getObject(rt).getFunction(rt);
16
15
  }
17
16
 
18
- std::shared_ptr<jsi::Function> WorkletsCache::getFunction(jsi::Runtime &rt, std::shared_ptr<FrozenObject> frozenObj) {
19
- long long workletHash = ValueWrapper::asNumber(frozenObj->map["__workletHash"]->valueContainer);
17
+ std::shared_ptr<jsi::Function> WorkletsCache::getFunction(
18
+ jsi::Runtime &rt,
19
+ std::shared_ptr<FrozenObject> frozenObj) {
20
+ long long workletHash =
21
+ ValueWrapper::asNumber(frozenObj->map["__workletHash"]->valueContainer);
20
22
  if (worklets.count(workletHash) == 0) {
21
- auto codeBuffer = std::make_shared<const jsi::StringBuffer>("(" + ValueWrapper::asString(frozenObj->map["asString"]->valueContainer) + ")");
22
- auto func = rt.evaluateJavaScript(codeBuffer, ValueWrapper::asString(frozenObj->map["__location"]->valueContainer)).asObject(rt).asFunction(rt);
23
+ auto codeBuffer = std::make_shared<const jsi::StringBuffer>(
24
+ "(" +
25
+ ValueWrapper::asString(frozenObj->map["asString"]->valueContainer) +
26
+ ")");
27
+ auto func = rt.evaluateJavaScript(
28
+ codeBuffer,
29
+ ValueWrapper::asString(
30
+ frozenObj->map["__location"]->valueContainer))
31
+ .asObject(rt)
32
+ .asFunction(rt);
23
33
  worklets[workletHash] = std::make_shared<jsi::Function>(std::move(func));
24
34
  }
25
35
  return worklets[workletHash];
26
36
  }
27
37
 
28
- }
38
+ } // namespace reanimated
@@ -1,26 +1,37 @@
1
1
  #include "FrozenObject.h"
2
- #include "SharedParent.h"
3
- #include "ShareableValue.h"
4
2
  #include "RuntimeManager.h"
3
+ #include "ShareableValue.h"
4
+ #include "SharedParent.h"
5
5
 
6
6
  namespace reanimated {
7
7
 
8
- FrozenObject::FrozenObject(jsi::Runtime &rt, const jsi::Object &object, RuntimeManager *runtimeManager) {
8
+ FrozenObject::FrozenObject(
9
+ jsi::Runtime &rt,
10
+ const jsi::Object &object,
11
+ RuntimeManager *runtimeManager) {
9
12
  auto propertyNames = object.getPropertyNames(rt);
10
- for (size_t i = 0, count = propertyNames.size(rt); i < count; i++) {
13
+ const size_t count = propertyNames.size(rt);
14
+ namesOrder.reserve(count);
15
+ for (size_t i = 0; i < count; i++) {
11
16
  auto propertyName = propertyNames.getValueAtIndex(rt, i).asString(rt);
17
+ namesOrder.push_back(propertyName.utf8(rt));
12
18
  std::string nameStr = propertyName.utf8(rt);
13
- map[nameStr] = ShareableValue::adapt(rt, object.getProperty(rt, propertyName), runtimeManager);
19
+ map[nameStr] = ShareableValue::adapt(
20
+ rt, object.getProperty(rt, propertyName), runtimeManager);
14
21
  this->containsHostFunction |= map[nameStr]->containsHostFunction;
15
22
  }
16
23
  }
17
24
 
18
25
  jsi::Object FrozenObject::shallowClone(jsi::Runtime &rt) {
19
26
  jsi::Object object(rt);
20
- for (auto prop : map) {
21
- object.setProperty(rt, jsi::String::createFromUtf8(rt, prop.first), prop.second->getValue(rt));
27
+ for (auto propName : namesOrder) {
28
+ auto value = map[propName];
29
+ object.setProperty(
30
+ rt,
31
+ jsi::String::createFromUtf8(rt, propName),
32
+ value->getValue(rt));
22
33
  }
23
34
  return object;
24
35
  }
25
36
 
26
- }
37
+ } // namespace reanimated
@@ -1,8 +1,8 @@
1
1
  #include "MutableValue.h"
2
- #include "SharedParent.h"
3
- #include "ShareableValue.h"
4
- #include "RuntimeManager.h"
5
2
  #include "RuntimeDecorator.h"
3
+ #include "RuntimeManager.h"
4
+ #include "ShareableValue.h"
5
+ #include "SharedParent.h"
6
6
 
7
7
  namespace reanimated {
8
8
 
@@ -11,7 +11,7 @@ void MutableValue::setValue(jsi::Runtime &rt, const jsi::Value &newValue) {
11
11
  value = ShareableValue::adapt(rt, newValue, runtimeManager);
12
12
 
13
13
  std::shared_ptr<MutableValue> thiz = shared_from_this();
14
- auto notifyListeners = [thiz] () {
14
+ auto notifyListeners = [thiz]() {
15
15
  for (auto listener : thiz->listeners) {
16
16
  listener.second();
17
17
  }
@@ -19,9 +19,8 @@ void MutableValue::setValue(jsi::Runtime &rt, const jsi::Value &newValue) {
19
19
  if (RuntimeDecorator::isUIRuntime(rt)) {
20
20
  notifyListeners();
21
21
  } else {
22
- runtimeManager->scheduler->scheduleOnUI([notifyListeners] {
23
- notifyListeners();
24
- });
22
+ runtimeManager->scheduler->scheduleOnUI(
23
+ [notifyListeners] { notifyListeners(); });
25
24
  }
26
25
  }
27
26
 
@@ -30,20 +29,26 @@ jsi::Value MutableValue::getValue(jsi::Runtime &rt) {
30
29
  return value->getValue(rt);
31
30
  }
32
31
 
33
- void MutableValue::set(jsi::Runtime &rt, const jsi::PropNameID &name, const jsi::Value &newValue) {
32
+ void MutableValue::set(
33
+ jsi::Runtime &rt,
34
+ const jsi::PropNameID &name,
35
+ const jsi::Value &newValue) {
34
36
  auto propName = name.utf8(rt);
35
37
  if (!runtimeManager->valueSetter) {
36
- throw jsi::JSError(rt, "Value-Setter is not yet configured! Make sure the core-functions are installed.");
38
+ throw jsi::JSError(
39
+ rt,
40
+ "Value-Setter is not yet configured! Make sure the core-functions are installed.");
37
41
  }
38
42
 
39
43
  if (RuntimeDecorator::isUIRuntime(rt)) {
40
44
  // UI thread
41
45
  if (propName == "value") {
42
- auto setterProxy = jsi::Object::createFromHostObject(rt, std::make_shared<MutableValueSetterProxy>(shared_from_this()));
46
+ auto setterProxy = jsi::Object::createFromHostObject(
47
+ rt, std::make_shared<MutableValueSetterProxy>(shared_from_this()));
43
48
  runtimeManager->valueSetter->getValue(rt)
44
- .asObject(rt)
45
- .asFunction(rt)
46
- .callWithThis(rt, setterProxy, newValue);
49
+ .asObject(rt)
50
+ .asFunction(rt)
51
+ .callWithThis(rt, setterProxy, newValue);
47
52
  } else if (propName == "_animation") {
48
53
  // TODO: assert to allow animation to be set from UI only
49
54
  if (animation.expired()) {
@@ -51,7 +56,8 @@ void MutableValue::set(jsi::Runtime &rt, const jsi::PropNameID &name, const jsi:
51
56
  }
52
57
  *animation.lock() = jsi::Value(rt, newValue);
53
58
  } else if (propName == "_value") {
54
- auto setter = std::make_shared<MutableValueSetterProxy>(shared_from_this());
59
+ auto setter =
60
+ std::make_shared<MutableValueSetterProxy>(shared_from_this());
55
61
  setter->set(rt, jsi::PropNameID::forAscii(rt, "_value"), newValue);
56
62
  }
57
63
  } else {
@@ -60,12 +66,13 @@ void MutableValue::set(jsi::Runtime &rt, const jsi::PropNameID &name, const jsi:
60
66
  auto shareable = ShareableValue::adapt(rt, newValue, runtimeManager);
61
67
  runtimeManager->scheduler->scheduleOnUI([this, shareable] {
62
68
  jsi::Runtime &rt = *this->runtimeManager->runtime.get();
63
- auto setterProxy = jsi::Object::createFromHostObject(rt, std::make_shared<MutableValueSetterProxy>(shared_from_this()));
69
+ auto setterProxy = jsi::Object::createFromHostObject(
70
+ rt, std::make_shared<MutableValueSetterProxy>(shared_from_this()));
64
71
  jsi::Value newValue = shareable->getValue(rt);
65
72
  runtimeManager->valueSetter->getValue(rt)
66
- .asObject(rt)
67
- .asFunction(rt)
68
- .callWithThis(rt, setterProxy, newValue);
73
+ .asObject(rt)
74
+ .asFunction(rt)
75
+ .callWithThis(rt, setterProxy, newValue);
69
76
  });
70
77
  }
71
78
  }
@@ -100,11 +107,18 @@ std::vector<jsi::PropNameID> MutableValue::getPropertyNames(jsi::Runtime &rt) {
100
107
  return result;
101
108
  }
102
109
 
103
- MutableValue::MutableValue(jsi::Runtime &rt, const jsi::Value &initial, RuntimeManager *runtimeManager, std::shared_ptr<Scheduler> s):
104
- StoreUser(s), runtimeManager(runtimeManager), value(ShareableValue::adapt(rt, initial, runtimeManager)) {
105
- }
106
-
107
- unsigned long int MutableValue::addListener(unsigned long id, std::function<void ()> listener) {
110
+ MutableValue::MutableValue(
111
+ jsi::Runtime &rt,
112
+ const jsi::Value &initial,
113
+ RuntimeManager *runtimeManager,
114
+ std::shared_ptr<Scheduler> s)
115
+ : StoreUser(s, *runtimeManager),
116
+ runtimeManager(runtimeManager),
117
+ value(ShareableValue::adapt(rt, initial, runtimeManager)) {}
118
+
119
+ unsigned long int MutableValue::addListener(
120
+ unsigned long id,
121
+ std::function<void()> listener) {
108
122
  listeners[id] = listener;
109
123
  return id;
110
124
  }
@@ -115,5 +129,4 @@ void MutableValue::removeListener(unsigned long listenerId) {
115
129
  }
116
130
  }
117
131
 
118
-
119
- }
132
+ } // namespace reanimated
@@ -1,13 +1,16 @@
1
1
  #include "MutableValueSetterProxy.h"
2
- #include "SharedParent.h"
3
- #include "MutableValue.h"
4
2
  #include <jsi/jsi.h>
3
+ #include "MutableValue.h"
4
+ #include "SharedParent.h"
5
5
 
6
6
  using namespace facebook;
7
7
 
8
8
  namespace reanimated {
9
9
 
10
- void MutableValueSetterProxy::set(jsi::Runtime &rt, const jsi::PropNameID &name, const jsi::Value &newValue) {
10
+ void MutableValueSetterProxy::set(
11
+ jsi::Runtime &rt,
12
+ const jsi::PropNameID &name,
13
+ const jsi::Value &newValue) {
11
14
  auto propName = name.utf8(rt);
12
15
  if (propName == "_value") {
13
16
  mutableValue->setValue(rt, newValue);
@@ -18,11 +21,13 @@ void MutableValueSetterProxy::set(jsi::Runtime &rt, const jsi::PropNameID &name,
18
21
  }
19
22
  *mutableValue->animation.lock() = jsi::Value(rt, newValue);
20
23
  } else if (propName == "value") {
21
- // you call `this.value` inside of value setter, we should throw
24
+ // you call `this.value` inside of value setter, we should throw
22
25
  }
23
26
  }
24
27
 
25
- jsi::Value MutableValueSetterProxy::get(jsi::Runtime &rt, const jsi::PropNameID &name) {
28
+ jsi::Value MutableValueSetterProxy::get(
29
+ jsi::Runtime &rt,
30
+ const jsi::PropNameID &name) {
26
31
  auto propName = name.utf8(rt);
27
32
 
28
33
  if (propName == "value") {
@@ -39,5 +44,4 @@ jsi::Value MutableValueSetterProxy::get(jsi::Runtime &rt, const jsi::PropNameID
39
44
  return jsi::Value::undefined();
40
45
  }
41
46
 
42
- }
43
-
47
+ } // namespace reanimated
@@ -1,7 +1,7 @@
1
1
  #include "RemoteObject.h"
2
- #include "SharedParent.h"
3
- #include "RuntimeDecorator.h"
4
2
  #include <jsi/jsi.h>
3
+ #include "RuntimeDecorator.h"
4
+ #include "SharedParent.h"
5
5
 
6
6
  using namespace facebook;
7
7
 
@@ -22,7 +22,10 @@ jsi::Value RemoteObject::get(jsi::Runtime &rt, const jsi::PropNameID &name) {
22
22
  return jsi::Value::undefined();
23
23
  }
24
24
 
25
- void RemoteObject::set(jsi::Runtime &rt, const jsi::PropNameID &name, const jsi::Value &value) {
25
+ void RemoteObject::set(
26
+ jsi::Runtime &rt,
27
+ const jsi::PropNameID &name,
28
+ const jsi::Value &value) {
26
29
  if (RuntimeDecorator::isWorkletRuntime(rt)) {
27
30
  backing.lock()->getObject(rt).setProperty(rt, name, value);
28
31
  }
@@ -33,9 +36,10 @@ std::vector<jsi::PropNameID> RemoteObject::getPropertyNames(jsi::Runtime &rt) {
33
36
  std::vector<jsi::PropNameID> res;
34
37
  auto propertyNames = backing.lock()->getObject(rt).getPropertyNames(rt);
35
38
  for (size_t i = 0, size = propertyNames.size(rt); i < size; i++) {
36
- res.push_back(jsi::PropNameID::forString(rt, propertyNames.getValueAtIndex(rt, i).asString(rt)));
39
+ res.push_back(jsi::PropNameID::forString(
40
+ rt, propertyNames.getValueAtIndex(rt, i).asString(rt)));
37
41
  }
38
42
  return res;
39
43
  }
40
44
 
41
- }
45
+ } // namespace reanimated