react-native-reanimated 2.6.0 → 3.0.0-rc.0

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 (405) hide show
  1. package/Common/cpp/Fabric/FabricUtils.cpp +128 -0
  2. package/Common/cpp/Fabric/ReanimatedUIManagerBinding.cpp +197 -0
  3. package/Common/cpp/NativeModules/NativeReanimatedModule.cpp +311 -6
  4. package/Common/cpp/Registries/EventHandlerRegistry.cpp +14 -1
  5. package/Common/cpp/Registries/NewestShadowNodesRegistry.cpp +68 -0
  6. package/Common/cpp/SharedItems/ShareableValue.cpp +20 -2
  7. package/Common/cpp/Tools/Mapper.cpp +23 -4
  8. package/Common/cpp/Tools/RuntimeDecorator.cpp +92 -46
  9. package/Common/cpp/Tools/Scheduler.cpp +4 -0
  10. package/Common/cpp/headers/Fabric/FabricUtils.h +78 -0
  11. package/Common/cpp/headers/Fabric/ReanimatedUIManagerBinding.h +46 -0
  12. package/Common/cpp/headers/NativeModules/NativeReanimatedModule.h +72 -2
  13. package/Common/cpp/headers/Registries/EventHandlerRegistry.h +8 -0
  14. package/Common/cpp/headers/Registries/NewestShadowNodesRegistry.h +41 -0
  15. package/Common/cpp/headers/SharedItems/SharedParent.h +3 -0
  16. package/Common/cpp/headers/SharedItems/ValueWrapper.h +25 -0
  17. package/Common/cpp/headers/SpecTools/ErrorHandler.h +5 -0
  18. package/Common/cpp/headers/Tools/Mapper.h +1 -1
  19. package/Common/cpp/headers/Tools/PlatformDepMethodsHolder.h +43 -8
  20. package/Common/cpp/headers/Tools/RuntimeDecorator.h +8 -3
  21. package/README.md +4 -0
  22. package/RNReanimated.podspec +22 -11
  23. package/android/CMakeLists.txt +139 -27
  24. package/android/build.gradle +86 -209
  25. package/android/local.properties +1 -0
  26. package/android/src/fabric/java/com/swmansion/reanimated/NativeProxy.java +310 -0
  27. package/android/src/fabric/java/com/swmansion/reanimated/ReaCompatibility.java +25 -0
  28. package/android/src/main/cpp/NativeProxy.cpp +196 -41
  29. package/android/src/main/cpp/headers/NativeProxy.h +45 -7
  30. package/android/src/main/java/com/swmansion/reanimated/NodesManager.java +13 -245
  31. package/android/src/main/java/com/swmansion/reanimated/ReanimatedModule.java +0 -125
  32. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/AnimationsManager.java +13 -6
  33. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/LayoutAnimations.java +2 -1
  34. package/android/src/{main → paper}/java/com/swmansion/reanimated/NativeProxy.java +26 -10
  35. package/android/src/paper/java/com/swmansion/reanimated/ReaCompatibility.java +17 -0
  36. package/ios/Fabric/REAInitializerRCTFabricSurface.h +12 -0
  37. package/ios/Fabric/REAInitializerRCTFabricSurface.mm +73 -0
  38. package/ios/LayoutReanimation/REAAnimationsManager.h +1 -1
  39. package/ios/LayoutReanimation/REAAnimationsManager.m +2 -2
  40. package/ios/LayoutReanimation/REASnapshot.m +1 -1
  41. package/ios/LayoutReanimation/REAUIManager.h +1 -1
  42. package/ios/LayoutReanimation/REAUIManager.mm +4 -5
  43. package/ios/REAEventDispatcher.m +1 -2
  44. package/ios/REAModule.h +10 -1
  45. package/ios/REAModule.mm +284 -0
  46. package/ios/REANodesManager.h +27 -52
  47. package/ios/{REANodesManager.m → REANodesManager.mm} +92 -226
  48. package/ios/native/NativeMethods.h +1 -3
  49. package/ios/native/NativeMethods.mm +1 -1
  50. package/ios/native/NativeProxy.h +2 -2
  51. package/ios/native/NativeProxy.mm +162 -32
  52. package/ios/native/REAIOSErrorHandler.h +2 -4
  53. package/ios/native/REAIOSErrorHandler.mm +1 -1
  54. package/ios/native/REAIOSLogger.h +1 -3
  55. package/ios/native/REAIOSLogger.mm +1 -1
  56. package/ios/native/REAIOSScheduler.h +1 -3
  57. package/ios/native/REAIOSScheduler.mm +2 -2
  58. package/ios/native/REAInitializer.h +0 -7
  59. package/ios/native/REAInitializer.mm +14 -6
  60. package/ios/native/UIResponder+Reanimated.h +3 -1
  61. package/ios/native/UIResponder+Reanimated.mm +6 -4
  62. package/ios/sensor/ReanimatedSensor.h +1 -1
  63. package/ios/sensor/ReanimatedSensor.m +1 -1
  64. package/ios/sensor/ReanimatedSensorContainer.h +1 -1
  65. package/ios/sensor/ReanimatedSensorContainer.m +2 -2
  66. package/lib/Animated.js +0 -13
  67. package/lib/ConfigHelper.js +0 -1
  68. package/lib/createAnimatedComponent.js +30 -169
  69. package/lib/index.js +0 -13
  70. package/lib/reanimated2/Easing.js +8 -44
  71. package/lib/reanimated2/NativeMethods.js +20 -3
  72. package/lib/reanimated2/UpdateProps.js +25 -10
  73. package/lib/reanimated2/core.js +4 -37
  74. package/lib/reanimated2/fabricUtils.js +18 -0
  75. package/lib/reanimated2/globals.d.ts +18 -3
  76. package/lib/reanimated2/hook/useAnimatedRef.js +6 -2
  77. package/lib/reanimated2/hook/utils.js +0 -5
  78. package/lib/reanimated2/interpolateColor.js +5 -2
  79. package/lib/reanimated2/interpolation.js +0 -15
  80. package/lib/reanimated2/js-reanimated/index.js +3 -0
  81. package/lib/types/{lib/ConfigHelper.d.ts → ConfigHelper.d.ts} +0 -0
  82. package/lib/types/{lib/ReanimatedEventEmitter.d.ts → ReanimatedEventEmitter.d.ts} +0 -0
  83. package/lib/types/{lib/ReanimatedModule.d.ts → ReanimatedModule.d.ts} +0 -0
  84. package/lib/types/{lib/ReanimatedModule.macos.d.ts → ReanimatedModule.macos.d.ts} +0 -0
  85. package/lib/types/{lib/ReanimatedModule.native.d.ts → ReanimatedModule.native.d.ts} +0 -0
  86. package/lib/types/{lib/ReanimatedModule.windows.d.ts → ReanimatedModule.windows.d.ts} +0 -0
  87. package/lib/types/{lib/ReanimatedModuleCompat.d.ts → ReanimatedModuleCompat.d.ts} +0 -0
  88. package/lib/types/{lib/createAnimatedComponent.d.ts → createAnimatedComponent.d.ts} +0 -0
  89. package/lib/types/{lib/reanimated2 → reanimated2}/Bezier.d.ts +0 -0
  90. package/lib/types/{lib/reanimated2 → reanimated2}/Colors.d.ts +0 -0
  91. package/lib/types/{lib/reanimated2 → reanimated2}/Easing.d.ts +0 -0
  92. package/lib/types/{lib/reanimated2 → reanimated2}/NativeMethods.d.ts +2 -1
  93. package/lib/types/{lib/reanimated2 → reanimated2}/NativeReanimated/NativeReanimated.d.ts +0 -0
  94. package/lib/types/{lib/reanimated2 → reanimated2}/NativeReanimated/index.d.ts +0 -0
  95. package/lib/types/{lib/reanimated2 → reanimated2}/PlatformChecker.d.ts +0 -0
  96. package/lib/types/{lib/reanimated2 → reanimated2}/PropAdapters.d.ts +0 -0
  97. package/lib/types/{lib/reanimated2 → reanimated2}/UpdateProps.d.ts +0 -0
  98. package/lib/types/{lib/reanimated2 → reanimated2}/ViewDescriptorsSet.d.ts +0 -0
  99. package/lib/types/{lib/reanimated2 → reanimated2}/WorkletEventHandler.d.ts +0 -0
  100. package/lib/types/{lib/reanimated2 → reanimated2}/__mocks__/MutableValue.d.ts +0 -0
  101. package/lib/types/{lib/reanimated2 → reanimated2}/__mocks__/NativeReanimated.d.ts +0 -0
  102. package/lib/types/{lib/reanimated2 → reanimated2}/__mocks__/NativeReanimated.native.d.ts +0 -0
  103. package/lib/types/{lib/reanimated2 → reanimated2}/animation/commonTypes.d.ts +0 -0
  104. package/lib/types/{lib/reanimated2 → reanimated2}/animation/decay.d.ts +0 -0
  105. package/lib/types/{lib/reanimated2 → reanimated2}/animation/delay.d.ts +0 -0
  106. package/lib/types/{lib/reanimated2 → reanimated2}/animation/index.d.ts +0 -0
  107. package/lib/types/{lib/reanimated2 → reanimated2}/animation/repeat.d.ts +0 -0
  108. package/lib/types/{lib/reanimated2 → reanimated2}/animation/sequence.d.ts +0 -0
  109. package/lib/types/{lib/reanimated2 → reanimated2}/animation/spring.d.ts +0 -0
  110. package/lib/types/{lib/reanimated2 → reanimated2}/animation/styleAnimation.d.ts +0 -0
  111. package/lib/types/{lib/reanimated2 → reanimated2}/animation/timing.d.ts +0 -0
  112. package/lib/types/{lib/reanimated2 → reanimated2}/animation/util.d.ts +0 -0
  113. package/lib/types/{lib/reanimated2 → reanimated2}/commonTypes.d.ts +2 -2
  114. package/lib/types/{lib/reanimated2 → reanimated2}/component/FlatList.d.ts +0 -0
  115. package/lib/types/{lib/reanimated2 → reanimated2}/component/WrappedComponents.d.ts +0 -0
  116. package/lib/types/{lib/reanimated2 → reanimated2}/component/index.d.ts +0 -0
  117. package/lib/types/{lib/reanimated2 → reanimated2}/core.d.ts +0 -0
  118. package/lib/types/reanimated2/fabricUtils.d.ts +4 -0
  119. package/lib/types/{lib/reanimated2 → reanimated2}/hook/Hooks.d.ts +0 -0
  120. package/lib/types/{lib/reanimated2 → reanimated2}/hook/commonTypes.d.ts +2 -1
  121. package/lib/types/{lib/reanimated2 → reanimated2}/hook/index.d.ts +1 -1
  122. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedGestureHandler.d.ts +2 -2
  123. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedReaction.d.ts +0 -0
  124. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedRef.d.ts +0 -0
  125. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedScrollHandler.d.ts +2 -2
  126. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedSensor.d.ts +1 -3
  127. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedStyle.d.ts +0 -0
  128. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useDerivedValue.d.ts +0 -0
  129. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useSharedValue.d.ts +0 -0
  130. package/lib/types/{lib/reanimated2 → reanimated2}/hook/utils.d.ts +2 -2
  131. package/lib/types/{lib/reanimated2 → reanimated2}/index.d.ts +0 -0
  132. package/lib/types/{lib/reanimated2 → reanimated2}/interpolateColor.d.ts +5 -0
  133. package/lib/types/{lib/reanimated2 → reanimated2}/interpolation.d.ts +1 -4
  134. package/lib/types/{lib/reanimated2 → reanimated2}/jestUtils.d.ts +0 -0
  135. package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/JSReanimated.d.ts +0 -0
  136. package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/Mapper.d.ts +0 -0
  137. package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/MapperRegistry.d.ts +0 -0
  138. package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/MutableValue.d.ts +0 -0
  139. package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/commonTypes.d.ts +0 -0
  140. package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/index.d.ts +0 -0
  141. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/LayoutAnimationRepository.d.ts +0 -0
  142. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/BaseAnimationBuilder.d.ts +0 -0
  143. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/ComplexAnimationBuilder.d.ts +0 -0
  144. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/Keyframe.d.ts +0 -0
  145. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/commonTypes.d.ts +0 -0
  146. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/index.d.ts +0 -0
  147. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Bounce.d.ts +0 -0
  148. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Default.d.ts +0 -0
  149. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Fade.d.ts +0 -0
  150. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Flip.d.ts +0 -0
  151. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Lightspeed.d.ts +0 -0
  152. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Pinwheel.d.ts +0 -0
  153. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Roll.d.ts +0 -0
  154. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Rotate.d.ts +0 -0
  155. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Slide.d.ts +0 -0
  156. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Stretch.d.ts +0 -0
  157. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Zoom.d.ts +0 -0
  158. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/index.d.ts +0 -0
  159. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/CurvedTransition.d.ts +0 -0
  160. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/EntryExitTransition.d.ts +0 -0
  161. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/FadingTransition.d.ts +0 -0
  162. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/JumpingTransition.d.ts +0 -0
  163. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/LinearTransition.d.ts +0 -0
  164. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/SequencedTransition.d.ts +0 -0
  165. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/index.d.ts +0 -0
  166. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/index.d.ts +0 -0
  167. package/lib/types/{lib/reanimated2 → reanimated2}/mock.d.ts +0 -0
  168. package/lib/types/{lib/reanimated2 → reanimated2}/platform-specific/RNRenderer.d.ts +0 -0
  169. package/lib/types/{lib/reanimated2 → reanimated2}/platform-specific/RNRenderer.web.d.ts +0 -0
  170. package/lib/types/{lib/reanimated2 → reanimated2}/utils.d.ts +0 -0
  171. package/lib/types/{lib/setAndForwardRef.d.ts → setAndForwardRef.d.ts} +0 -0
  172. package/package.json +10 -10
  173. package/plugin.js +29 -33
  174. package/react-native-reanimated.d.ts +15 -3
  175. package/src/Animated.js +0 -13
  176. package/src/ConfigHelper.ts +0 -1
  177. package/src/createAnimatedComponent.tsx +37 -197
  178. package/src/reanimated2/Easing.ts +8 -55
  179. package/src/reanimated2/NativeMethods.ts +39 -7
  180. package/src/reanimated2/UpdateProps.ts +38 -19
  181. package/src/reanimated2/commonTypes.ts +4 -2
  182. package/src/reanimated2/component/FlatList.tsx +8 -5
  183. package/src/reanimated2/core.ts +7 -48
  184. package/src/reanimated2/fabricUtils.ts +27 -0
  185. package/src/reanimated2/globals.d.ts +18 -3
  186. package/src/reanimated2/hook/commonTypes.ts +4 -2
  187. package/src/reanimated2/hook/index.ts +1 -1
  188. package/src/reanimated2/hook/useAnimatedGestureHandler.ts +2 -2
  189. package/src/reanimated2/hook/useAnimatedRef.ts +8 -3
  190. package/src/reanimated2/hook/useAnimatedScrollHandler.ts +2 -2
  191. package/src/reanimated2/hook/useAnimatedSensor.ts +1 -3
  192. package/src/reanimated2/hook/utils.ts +2 -11
  193. package/src/reanimated2/interpolateColor.ts +6 -2
  194. package/src/reanimated2/interpolation.ts +1 -26
  195. package/src/reanimated2/js-reanimated/index.ts +5 -0
  196. package/android/.gradle/7.2/dependencies-accessors/dependencies-accessors.lock +0 -0
  197. package/android/.gradle/7.2/dependencies-accessors/gc.properties +0 -0
  198. package/android/.gradle/7.2/executionHistory/executionHistory.bin +0 -0
  199. package/android/.gradle/7.2/executionHistory/executionHistory.lock +0 -0
  200. package/android/.gradle/7.2/fileChanges/last-build.bin +0 -0
  201. package/android/.gradle/7.2/fileHashes/fileHashes.bin +0 -0
  202. package/android/.gradle/7.2/fileHashes/fileHashes.lock +0 -0
  203. package/android/.gradle/7.2/fileHashes/resourceHashesCache.bin +0 -0
  204. package/android/.gradle/7.2/gc.properties +0 -0
  205. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  206. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  207. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  208. package/android/.gradle/checksums/checksums.lock +0 -0
  209. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  210. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  211. package/android/.gradle/vcs-1/gc.properties +0 -0
  212. package/android/react-native-reanimated-64-hermes.aar +0 -0
  213. package/android/react-native-reanimated-64-jsc.aar +0 -0
  214. package/android/react-native-reanimated-65-hermes.aar +0 -0
  215. package/android/react-native-reanimated-65-jsc.aar +0 -0
  216. package/android/react-native-reanimated-66-hermes.aar +0 -0
  217. package/android/react-native-reanimated-66-jsc.aar +0 -0
  218. package/android/react-native-reanimated-67-hermes.aar +0 -0
  219. package/android/react-native-reanimated-67-jsc.aar +0 -0
  220. package/android/react-native-reanimated-68-hermes.aar +0 -0
  221. package/android/react-native-reanimated-68-jsc.aar +0 -0
  222. package/android/src/main/java/com/swmansion/reanimated/UpdateContext.java +0 -11
  223. package/android/src/main/java/com/swmansion/reanimated/nodes/AlwaysNode.java +0 -29
  224. package/android/src/main/java/com/swmansion/reanimated/nodes/BezierNode.java +0 -87
  225. package/android/src/main/java/com/swmansion/reanimated/nodes/BlockNode.java +0 -24
  226. package/android/src/main/java/com/swmansion/reanimated/nodes/CallFuncNode.java +0 -49
  227. package/android/src/main/java/com/swmansion/reanimated/nodes/ClockNode.java +0 -38
  228. package/android/src/main/java/com/swmansion/reanimated/nodes/ClockOpNode.java +0 -73
  229. package/android/src/main/java/com/swmansion/reanimated/nodes/ConcatNode.java +0 -36
  230. package/android/src/main/java/com/swmansion/reanimated/nodes/CondNode.java +0 -41
  231. package/android/src/main/java/com/swmansion/reanimated/nodes/DebugNode.java +0 -33
  232. package/android/src/main/java/com/swmansion/reanimated/nodes/EventNode.java +0 -83
  233. package/android/src/main/java/com/swmansion/reanimated/nodes/FinalNode.java +0 -5
  234. package/android/src/main/java/com/swmansion/reanimated/nodes/FunctionNode.java +0 -20
  235. package/android/src/main/java/com/swmansion/reanimated/nodes/JSCallNode.java +0 -41
  236. package/android/src/main/java/com/swmansion/reanimated/nodes/Node.java +0 -139
  237. package/android/src/main/java/com/swmansion/reanimated/nodes/NoopNode.java +0 -37
  238. package/android/src/main/java/com/swmansion/reanimated/nodes/OperatorNode.java +0 -377
  239. package/android/src/main/java/com/swmansion/reanimated/nodes/ParamNode.java +0 -71
  240. package/android/src/main/java/com/swmansion/reanimated/nodes/PropsNode.java +0 -153
  241. package/android/src/main/java/com/swmansion/reanimated/nodes/SetNode.java +0 -32
  242. package/android/src/main/java/com/swmansion/reanimated/nodes/StyleNode.java +0 -40
  243. package/android/src/main/java/com/swmansion/reanimated/nodes/TransformNode.java +0 -84
  244. package/android/src/main/java/com/swmansion/reanimated/nodes/ValueNode.java +0 -40
  245. package/android/src/main/java/com/swmansion/reanimated/transitions/ChangeTransition.java +0 -84
  246. package/android/src/main/java/com/swmansion/reanimated/transitions/SaneSidePropagation.java +0 -25
  247. package/android/src/main/java/com/swmansion/reanimated/transitions/Scale.java +0 -86
  248. package/android/src/main/java/com/swmansion/reanimated/transitions/TransitionModule.java +0 -41
  249. package/android/src/main/java/com/swmansion/reanimated/transitions/TransitionUtils.java +0 -161
  250. package/ios/Nodes/REAAlwaysNode.h +0 -4
  251. package/ios/Nodes/REAAlwaysNode.m +0 -35
  252. package/ios/Nodes/REABezierNode.h +0 -5
  253. package/ios/Nodes/REABezierNode.m +0 -104
  254. package/ios/Nodes/REABlockNode.h +0 -5
  255. package/ios/Nodes/REABlockNode.m +0 -25
  256. package/ios/Nodes/REACallFuncNode.h +0 -6
  257. package/ios/Nodes/REACallFuncNode.m +0 -69
  258. package/ios/Nodes/REAClockNodes.h +0 -19
  259. package/ios/Nodes/REAClockNodes.m +0 -118
  260. package/ios/Nodes/REAConcatNode.h +0 -5
  261. package/ios/Nodes/REAConcatNode.m +0 -32
  262. package/ios/Nodes/REACondNode.h +0 -5
  263. package/ios/Nodes/REACondNode.m +0 -36
  264. package/ios/Nodes/READebugNode.h +0 -5
  265. package/ios/Nodes/READebugNode.m +0 -30
  266. package/ios/Nodes/REAEventNode.h +0 -9
  267. package/ios/Nodes/REAEventNode.m +0 -35
  268. package/ios/Nodes/REAFunctionNode.h +0 -6
  269. package/ios/Nodes/REAFunctionNode.m +0 -24
  270. package/ios/Nodes/REAJSCallNode.h +0 -5
  271. package/ios/Nodes/REAJSCallNode.m +0 -30
  272. package/ios/Nodes/REANode.h +0 -40
  273. package/ios/Nodes/REANode.m +0 -155
  274. package/ios/Nodes/REAOperatorNode.h +0 -5
  275. package/ios/Nodes/REAOperatorNode.m +0 -115
  276. package/ios/Nodes/REAParamNode.h +0 -10
  277. package/ios/Nodes/REAParamNode.m +0 -79
  278. package/ios/Nodes/REAPropsNode.h +0 -9
  279. package/ios/Nodes/REAPropsNode.m +0 -98
  280. package/ios/Nodes/REASetNode.h +0 -5
  281. package/ios/Nodes/REASetNode.m +0 -34
  282. package/ios/Nodes/REAStyleNode.h +0 -5
  283. package/ios/Nodes/REAStyleNode.m +0 -28
  284. package/ios/Nodes/REATransformNode.h +0 -5
  285. package/ios/Nodes/REATransformNode.m +0 -36
  286. package/ios/Nodes/REAValueNode.h +0 -11
  287. package/ios/Nodes/REAValueNode.m +0 -26
  288. package/ios/REAModule.m +0 -185
  289. package/ios/Transitioning/RCTConvert+REATransition.h +0 -12
  290. package/ios/Transitioning/RCTConvert+REATransition.m +0 -53
  291. package/ios/Transitioning/REAAllTransitions.h +0 -26
  292. package/ios/Transitioning/REAAllTransitions.m +0 -297
  293. package/ios/Transitioning/REATransition.h +0 -65
  294. package/ios/Transitioning/REATransition.m +0 -211
  295. package/ios/Transitioning/REATransitionAnimation.h +0 -17
  296. package/ios/Transitioning/REATransitionAnimation.m +0 -80
  297. package/ios/Transitioning/REATransitionManager.h +0 -9
  298. package/ios/Transitioning/REATransitionManager.m +0 -62
  299. package/ios/Transitioning/REATransitionValues.h +0 -15
  300. package/ios/Transitioning/REATransitionValues.m +0 -26
  301. package/lib/reanimated1/Easing.js +0 -231
  302. package/lib/reanimated1/SpringConfig.js +0 -79
  303. package/lib/reanimated1/Transitioning.js +0 -158
  304. package/lib/reanimated1/animations/Animation.js +0 -32
  305. package/lib/reanimated1/animations/SpringUtils.js +0 -199
  306. package/lib/reanimated1/animations/backwardCompatibleAnimWrapper.js +0 -117
  307. package/lib/reanimated1/animations/decay.js +0 -54
  308. package/lib/reanimated1/animations/spring.js +0 -198
  309. package/lib/reanimated1/animations/timing.js +0 -74
  310. package/lib/reanimated1/base.js +0 -13
  311. package/lib/reanimated1/core/AnimatedAlways.js +0 -33
  312. package/lib/reanimated1/core/AnimatedBezier.js +0 -150
  313. package/lib/reanimated1/core/AnimatedBlock.js +0 -52
  314. package/lib/reanimated1/core/AnimatedCall.js +0 -55
  315. package/lib/reanimated1/core/AnimatedCallFunc.js +0 -72
  316. package/lib/reanimated1/core/AnimatedClock.js +0 -90
  317. package/lib/reanimated1/core/AnimatedClockTest.js +0 -22
  318. package/lib/reanimated1/core/AnimatedCode.js +0 -32
  319. package/lib/reanimated1/core/AnimatedConcat.js +0 -32
  320. package/lib/reanimated1/core/AnimatedCond.js +0 -57
  321. package/lib/reanimated1/core/AnimatedDebug.js +0 -62
  322. package/lib/reanimated1/core/AnimatedEvent.js +0 -126
  323. package/lib/reanimated1/core/AnimatedFunction.js +0 -55
  324. package/lib/reanimated1/core/AnimatedNode.js +0 -223
  325. package/lib/reanimated1/core/AnimatedOperator.js +0 -103
  326. package/lib/reanimated1/core/AnimatedParam.js +0 -88
  327. package/lib/reanimated1/core/AnimatedProps.js +0 -108
  328. package/lib/reanimated1/core/AnimatedSet.js +0 -38
  329. package/lib/reanimated1/core/AnimatedStartClock.js +0 -30
  330. package/lib/reanimated1/core/AnimatedStopClock.js +0 -30
  331. package/lib/reanimated1/core/AnimatedStyle.js +0 -78
  332. package/lib/reanimated1/core/AnimatedTransform.js +0 -78
  333. package/lib/reanimated1/core/AnimatedValue.js +0 -38
  334. package/lib/reanimated1/core/Core.test.js +0 -30
  335. package/lib/reanimated1/core/InternalAnimatedValue.js +0 -87
  336. package/lib/reanimated1/core/__mocks__/AnimatedProps.js +0 -86
  337. package/lib/reanimated1/core/createEventObjectProxyPolyfill.js +0 -44
  338. package/lib/reanimated1/derived/__mocks__/evaluateOnce.js +0 -14
  339. package/lib/reanimated1/derived/acc.js +0 -11
  340. package/lib/reanimated1/derived/color.js +0 -47
  341. package/lib/reanimated1/derived/diff.js +0 -16
  342. package/lib/reanimated1/derived/diffClamp.js +0 -11
  343. package/lib/reanimated1/derived/evaluateOnce.js +0 -35
  344. package/lib/reanimated1/derived/index.js +0 -8
  345. package/lib/reanimated1/derived/interpolate.js +0 -152
  346. package/lib/reanimated1/derived/interpolateColors.js +0 -62
  347. package/lib/reanimated1/derived/onChange.js +0 -14
  348. package/lib/reanimated1/derived/useCode.js +0 -41
  349. package/lib/reanimated1/index.js +0 -53
  350. package/lib/reanimated1/operators.js +0 -35
  351. package/lib/reanimated1/useValue.js +0 -10
  352. package/lib/reanimated1/val.js +0 -3
  353. package/lib/types/react-native-reanimated-tests.d.ts +0 -1
  354. package/src/reanimated1/Easing.js +0 -231
  355. package/src/reanimated1/SpringConfig.js +0 -79
  356. package/src/reanimated1/Transitioning.js +0 -158
  357. package/src/reanimated1/animations/Animation.js +0 -32
  358. package/src/reanimated1/animations/SpringUtils.js +0 -199
  359. package/src/reanimated1/animations/backwardCompatibleAnimWrapper.js +0 -117
  360. package/src/reanimated1/animations/decay.js +0 -54
  361. package/src/reanimated1/animations/spring.js +0 -198
  362. package/src/reanimated1/animations/timing.js +0 -74
  363. package/src/reanimated1/base.js +0 -13
  364. package/src/reanimated1/core/AnimatedAlways.js +0 -33
  365. package/src/reanimated1/core/AnimatedBezier.js +0 -150
  366. package/src/reanimated1/core/AnimatedBlock.js +0 -52
  367. package/src/reanimated1/core/AnimatedCall.js +0 -55
  368. package/src/reanimated1/core/AnimatedCallFunc.js +0 -72
  369. package/src/reanimated1/core/AnimatedClock.js +0 -90
  370. package/src/reanimated1/core/AnimatedClockTest.js +0 -22
  371. package/src/reanimated1/core/AnimatedCode.js +0 -32
  372. package/src/reanimated1/core/AnimatedConcat.js +0 -32
  373. package/src/reanimated1/core/AnimatedCond.js +0 -57
  374. package/src/reanimated1/core/AnimatedDebug.js +0 -62
  375. package/src/reanimated1/core/AnimatedEvent.js +0 -126
  376. package/src/reanimated1/core/AnimatedFunction.js +0 -55
  377. package/src/reanimated1/core/AnimatedNode.js +0 -223
  378. package/src/reanimated1/core/AnimatedOperator.js +0 -103
  379. package/src/reanimated1/core/AnimatedParam.js +0 -88
  380. package/src/reanimated1/core/AnimatedProps.js +0 -108
  381. package/src/reanimated1/core/AnimatedSet.js +0 -38
  382. package/src/reanimated1/core/AnimatedStartClock.js +0 -30
  383. package/src/reanimated1/core/AnimatedStopClock.js +0 -30
  384. package/src/reanimated1/core/AnimatedStyle.js +0 -78
  385. package/src/reanimated1/core/AnimatedTransform.js +0 -78
  386. package/src/reanimated1/core/AnimatedValue.js +0 -38
  387. package/src/reanimated1/core/Core.test.js +0 -30
  388. package/src/reanimated1/core/InternalAnimatedValue.js +0 -87
  389. package/src/reanimated1/core/__mocks__/AnimatedProps.js +0 -86
  390. package/src/reanimated1/core/createEventObjectProxyPolyfill.js +0 -44
  391. package/src/reanimated1/derived/__mocks__/evaluateOnce.js +0 -14
  392. package/src/reanimated1/derived/acc.js +0 -11
  393. package/src/reanimated1/derived/color.js +0 -47
  394. package/src/reanimated1/derived/diff.js +0 -16
  395. package/src/reanimated1/derived/diffClamp.js +0 -11
  396. package/src/reanimated1/derived/evaluateOnce.js +0 -35
  397. package/src/reanimated1/derived/index.js +0 -8
  398. package/src/reanimated1/derived/interpolate.js +0 -152
  399. package/src/reanimated1/derived/interpolateColors.js +0 -62
  400. package/src/reanimated1/derived/onChange.js +0 -14
  401. package/src/reanimated1/derived/useCode.js +0 -41
  402. package/src/reanimated1/index.js +0 -53
  403. package/src/reanimated1/operators.js +0 -35
  404. package/src/reanimated1/useValue.js +0 -10
  405. package/src/reanimated1/val.js +0 -3
@@ -1,139 +0,0 @@
1
- package com.swmansion.reanimated.nodes;
2
-
3
- import com.facebook.react.bridge.ReadableMap;
4
- import com.facebook.react.bridge.UiThreadUtil;
5
- import com.swmansion.reanimated.NodesManager;
6
- import com.swmansion.reanimated.UpdateContext;
7
- import java.util.ArrayList;
8
- import java.util.HashMap;
9
- import java.util.HashSet;
10
- import java.util.List;
11
- import java.util.Map;
12
- import java.util.Set;
13
- import java.util.Stack;
14
- import javax.annotation.Nullable;
15
-
16
- public abstract class Node {
17
-
18
- public static final Double ZERO = Double.valueOf(0);
19
- public static final Double ONE = Double.valueOf(1);
20
-
21
- protected final int mNodeID;
22
- protected final NodesManager mNodesManager;
23
-
24
- protected final UpdateContext mUpdateContext;
25
-
26
- private final Map<String, Long> mLastLoopID = new HashMap<>();
27
- private final Map<String, Object> mMemoizedValue = new HashMap<>();
28
- private @Nullable List<Node> mChildren; /* lazy-initialized when a child is added */
29
-
30
- public Node(int nodeID, @Nullable ReadableMap config, NodesManager nodesManager) {
31
- mLastLoopID.put("", -1L);
32
- mNodeID = nodeID;
33
- mNodesManager = nodesManager;
34
- mUpdateContext = nodesManager.updateContext;
35
- }
36
-
37
- protected abstract @Nullable Object evaluate();
38
-
39
- public final @Nullable Object value() {
40
- if (!mLastLoopID.containsKey(mUpdateContext.callID)
41
- || mLastLoopID.get(mUpdateContext.callID) < mUpdateContext.updateLoopID) {
42
- mLastLoopID.put(mUpdateContext.callID, mUpdateContext.updateLoopID);
43
- Object result = evaluate();
44
- mMemoizedValue.put(mUpdateContext.callID, result);
45
-
46
- return result;
47
- }
48
- return mMemoizedValue.get(mUpdateContext.callID);
49
- }
50
-
51
- /**
52
- * This method will never return null. If value is null or of a different type we try to cast and
53
- * return 0 if we fail to properly cast the value. This is to match iOS behavior where the node
54
- * would not throw even if the value was not set.
55
- */
56
- public final Double doubleValue() {
57
- Object value = value();
58
- if (value == null) {
59
- return ZERO;
60
- } else if (value instanceof Double) {
61
- return (Double) value;
62
- } else if (value instanceof Number) {
63
- return Double.valueOf(((Number) value).doubleValue());
64
- } else if (value instanceof Boolean) {
65
- return ((Boolean) value).booleanValue() ? ONE : ZERO;
66
- }
67
- throw new IllegalStateException("Value of node " + this + " cannot be cast to a number");
68
- }
69
-
70
- public void addChild(Node child) {
71
- if (mChildren == null) {
72
- mChildren = new ArrayList<>();
73
- }
74
- mChildren.add(child);
75
- child.dangerouslyRescheduleEvaluate();
76
- }
77
-
78
- public void removeChild(Node child) {
79
- if (mChildren != null) {
80
- mChildren.remove(child);
81
- }
82
- }
83
-
84
- protected void markUpdated() {
85
- UiThreadUtil.assertOnUiThread();
86
- mUpdateContext.updatedNodes.add(this);
87
- mNodesManager.postRunUpdatesAfterAnimation();
88
- }
89
-
90
- public void onDrop() {
91
- // noop
92
- }
93
-
94
- protected final void dangerouslyRescheduleEvaluate() {
95
- mLastLoopID.put(mUpdateContext.callID, -1L);
96
- markUpdated();
97
- }
98
-
99
- protected final void forceUpdateMemoizedValue(Object value) {
100
- mMemoizedValue.put(mUpdateContext.callID, value);
101
- markUpdated();
102
- }
103
-
104
- private static void findAndUpdateNodes(
105
- Node node, Set<Node> visitedNodes, Stack<FinalNode> finalNodes) {
106
- if (visitedNodes.contains(node)) {
107
- return;
108
- } else {
109
- visitedNodes.add(node);
110
- }
111
-
112
- List<Node> children = node.mChildren;
113
- if (children != null) {
114
- for (Node child : children) {
115
- findAndUpdateNodes(child, visitedNodes, finalNodes);
116
- }
117
- }
118
- if (node instanceof FinalNode) {
119
- finalNodes.push((FinalNode) node);
120
- }
121
- }
122
-
123
- public static void runUpdates(UpdateContext updateContext) {
124
- UiThreadUtil.assertOnUiThread();
125
- ArrayList<Node> updatedNodes = updateContext.updatedNodes;
126
- Set<Node> visitedNodes = new HashSet<>();
127
- Stack<FinalNode> finalNodes = new Stack<>();
128
- for (int i = 0; i < updatedNodes.size(); i++) {
129
- findAndUpdateNodes(updatedNodes.get(i), visitedNodes, finalNodes);
130
- if (i == updatedNodes.size() - 1) {
131
- while (!finalNodes.isEmpty()) {
132
- finalNodes.pop().update();
133
- }
134
- }
135
- }
136
- updatedNodes.clear();
137
- updateContext.updateLoopID++;
138
- }
139
- }
@@ -1,37 +0,0 @@
1
- package com.swmansion.reanimated.nodes;
2
-
3
- import com.swmansion.reanimated.NodesManager;
4
-
5
- /**
6
- * This node is used by {@link NodesManager} to return in place of a missing node that might have
7
- * been requested. This way we avoid a top of null-checks and we make nodes manager compatible with
8
- * the iOS code which does not crash for missing nodes. In most of the cases it is desirable to
9
- * handle missing nodes gracefully as it usually means the node hasn't been hooked under animated
10
- * view prop but is referenced in the graph (e.g. to support some edge case).
11
- */
12
- public class NoopNode extends ValueNode {
13
-
14
- public NoopNode(NodesManager nodesManager) {
15
- super(-2, null, nodesManager);
16
- }
17
-
18
- @Override
19
- public void setValue(Object value) {
20
- // no-op
21
- }
22
-
23
- @Override
24
- public void addChild(Node child) {
25
- // no-op
26
- }
27
-
28
- @Override
29
- public void removeChild(Node child) {
30
- // no-op
31
- }
32
-
33
- @Override
34
- protected void markUpdated() {
35
- // no-op
36
- }
37
- }
@@ -1,377 +0,0 @@
1
- package com.swmansion.reanimated.nodes;
2
-
3
- import com.facebook.react.bridge.JSApplicationIllegalArgumentException;
4
- import com.facebook.react.bridge.ReadableMap;
5
- import com.swmansion.reanimated.NodesManager;
6
- import com.swmansion.reanimated.Utils;
7
-
8
- public class OperatorNode extends Node {
9
-
10
- private static boolean truthy(Object value) {
11
- return value != null && !value.equals(0.);
12
- }
13
-
14
- private interface Operator {
15
- double evaluate(Node[] input);
16
- }
17
-
18
- private abstract static class ReduceOperator implements Operator {
19
- @Override
20
- public double evaluate(Node[] input) {
21
- double acc = input[0].doubleValue();
22
- for (int i = 1; i < input.length; i++) {
23
- acc = reduce(acc, input[i].doubleValue());
24
- }
25
- return acc;
26
- }
27
-
28
- public abstract double reduce(Double x, Double y);
29
- }
30
-
31
- private abstract static class SingleOperator implements Operator {
32
- @Override
33
- public double evaluate(Node[] input) {
34
- return eval((Double) input[0].value());
35
- }
36
-
37
- public abstract double eval(Double x);
38
- }
39
-
40
- private abstract static class CompOperator implements Operator {
41
- @Override
42
- public double evaluate(Node[] input) {
43
- return eval((Double) input[0].value(), (Double) input[1].value()) ? 1. : 0.;
44
- }
45
-
46
- public abstract boolean eval(Double x, Double y);
47
- }
48
-
49
- // arithmetic
50
- private static final Operator ADD =
51
- new ReduceOperator() {
52
- @Override
53
- public double reduce(Double x, Double y) {
54
- return x + y;
55
- }
56
- };
57
- private static final Operator SUB =
58
- new ReduceOperator() {
59
- @Override
60
- public double reduce(Double x, Double y) {
61
- return x - y;
62
- }
63
- };
64
- private static final Operator MULTIPLY =
65
- new ReduceOperator() {
66
- @Override
67
- public double reduce(Double x, Double y) {
68
- return x * y;
69
- }
70
- };
71
- private static final Operator DIVIDE =
72
- new ReduceOperator() {
73
- @Override
74
- public double reduce(Double x, Double y) {
75
- return x / y;
76
- }
77
- };
78
- private static final Operator POW =
79
- new ReduceOperator() {
80
- @Override
81
- public double reduce(Double x, Double y) {
82
- return Math.pow(x, y);
83
- }
84
- };
85
- private static final Operator MODULO =
86
- new ReduceOperator() {
87
- @Override
88
- public double reduce(Double x, Double y) {
89
- return ((x % y) + y) % y;
90
- }
91
- };
92
- private static final Operator SQRT =
93
- new SingleOperator() {
94
- @Override
95
- public double eval(Double x) {
96
- return Math.sqrt(x);
97
- }
98
- };
99
- private static final Operator LOG =
100
- new SingleOperator() {
101
- @Override
102
- public double eval(Double x) {
103
- return Math.log(x);
104
- }
105
- };
106
- private static final Operator SIN =
107
- new SingleOperator() {
108
- @Override
109
- public double eval(Double x) {
110
- return Math.sin(x);
111
- }
112
- };
113
- private static final Operator COS =
114
- new SingleOperator() {
115
- @Override
116
- public double eval(Double x) {
117
- return Math.cos(x);
118
- }
119
- };
120
- private static final Operator TAN =
121
- new SingleOperator() {
122
- @Override
123
- public double eval(Double x) {
124
- return Math.tan(x);
125
- }
126
- };
127
- private static final Operator ACOS =
128
- new SingleOperator() {
129
- @Override
130
- public double eval(Double x) {
131
- return Math.acos(x);
132
- }
133
- };
134
- private static final Operator ASIN =
135
- new SingleOperator() {
136
- @Override
137
- public double eval(Double x) {
138
- return Math.asin(x);
139
- }
140
- };
141
- private static final Operator ATAN =
142
- new SingleOperator() {
143
- @Override
144
- public double eval(Double x) {
145
- return Math.atan(x);
146
- }
147
- };
148
- private static final Operator EXP =
149
- new SingleOperator() {
150
- @Override
151
- public double eval(Double x) {
152
- return Math.exp(x);
153
- }
154
- };
155
- private static final Operator ROUND =
156
- new SingleOperator() {
157
- @Override
158
- public double eval(Double x) {
159
- return Math.round(x);
160
- }
161
- };
162
- private static final Operator ABS =
163
- new SingleOperator() {
164
- @Override
165
- public double eval(Double x) {
166
- return Math.abs(x);
167
- }
168
- };
169
- private static final Operator FLOOR =
170
- new SingleOperator() {
171
- @Override
172
- public double eval(Double x) {
173
- return Math.floor(x);
174
- }
175
- };
176
- private static final Operator CEIL =
177
- new SingleOperator() {
178
- @Override
179
- public double eval(Double x) {
180
- return Math.ceil(x);
181
- }
182
- };
183
- private static final Operator MIN =
184
- new ReduceOperator() {
185
- @Override
186
- public double reduce(Double x, Double y) {
187
- return Math.min(x, y);
188
- }
189
- };
190
- private static final Operator MAX =
191
- new ReduceOperator() {
192
- @Override
193
- public double reduce(Double x, Double y) {
194
- return Math.max(x, y);
195
- }
196
- };
197
-
198
- // logical
199
- private static final Operator AND =
200
- new Operator() {
201
- @Override
202
- public double evaluate(Node[] input) {
203
- boolean res = truthy(input[0].value());
204
- for (int i = 1; i < input.length && res; i++) {
205
- res = res && truthy(input[i].value());
206
- }
207
- return res ? 1. : 0.;
208
- }
209
- };
210
- private static final Operator OR =
211
- new Operator() {
212
- @Override
213
- public double evaluate(Node[] input) {
214
- boolean res = truthy(input[0].value());
215
- for (int i = 1; i < input.length && !res; i++) {
216
- res = res || truthy(input[i].value());
217
- }
218
- return res ? 1. : 0.;
219
- }
220
- };
221
- private static final Operator NOT =
222
- new Operator() {
223
- @Override
224
- public double evaluate(Node[] input) {
225
- return truthy(input[0].value()) ? 0. : 1.;
226
- }
227
- };
228
- private static final Operator DEFINED =
229
- new Operator() {
230
- @Override
231
- public double evaluate(Node[] input) {
232
- Object res = input[0].value();
233
- return (res != null && !(res instanceof Double && ((Double) res).isNaN())) ? 1. : 0.;
234
- }
235
- };
236
-
237
- // comparison
238
- private static final Operator LESS_THAN =
239
- new CompOperator() {
240
- @Override
241
- public boolean eval(Double x, Double y) {
242
- if (x == null || y == null) {
243
- return false;
244
- }
245
- return x < y;
246
- }
247
- };
248
- private static final Operator EQ =
249
- new CompOperator() {
250
- @Override
251
- public boolean eval(Double x, Double y) {
252
- if (x == null || y == null) {
253
- return x == y;
254
- }
255
- return x.doubleValue() == y.doubleValue();
256
- }
257
- };
258
- private static final Operator GREATER_THAN =
259
- new CompOperator() {
260
- @Override
261
- public boolean eval(Double x, Double y) {
262
- if (x == null || y == null) {
263
- return false;
264
- }
265
- return x > y;
266
- }
267
- };
268
- private static final Operator LESS_OR_EQ =
269
- new CompOperator() {
270
- @Override
271
- public boolean eval(Double x, Double y) {
272
- return x <= y;
273
- }
274
- };
275
- private static final Operator GREATER_OR_EQ =
276
- new CompOperator() {
277
- @Override
278
- public boolean eval(Double x, Double y) {
279
- return x >= y;
280
- }
281
- };
282
- private static final Operator NEQ =
283
- new CompOperator() {
284
- @Override
285
- public boolean eval(Double x, Double y) {
286
- if (x == null || y == null) {
287
- return x == y;
288
- }
289
- return x.doubleValue() != y.doubleValue();
290
- }
291
- };
292
-
293
- private final int[] mInputIDs;
294
- private final Node[] mInputNodes;
295
- private final Operator mOperator;
296
-
297
- public OperatorNode(int nodeID, ReadableMap config, NodesManager nodesManager) {
298
- super(nodeID, config, nodesManager);
299
- mInputIDs = Utils.processIntArray(config.getArray("input"));
300
- mInputNodes = new Node[mInputIDs.length];
301
-
302
- String op = config.getString("op");
303
- if ("add".equals(op)) {
304
- mOperator = ADD;
305
- } else if ("sub".equals(op)) {
306
- mOperator = SUB;
307
- } else if ("multiply".equals(op)) {
308
- mOperator = MULTIPLY;
309
- } else if ("divide".equals(op)) {
310
- mOperator = DIVIDE;
311
- } else if ("pow".equals(op)) {
312
- mOperator = POW;
313
- } else if ("modulo".equals(op)) {
314
- mOperator = MODULO;
315
- } else if ("sqrt".equals(op)) {
316
- mOperator = SQRT;
317
- } else if ("log".equals(op)) {
318
- mOperator = LOG;
319
- } else if ("sin".equals(op)) {
320
- mOperator = SIN;
321
- } else if ("cos".equals(op)) {
322
- mOperator = COS;
323
- } else if ("tan".equals(op)) {
324
- mOperator = TAN;
325
- } else if ("acos".equals(op)) {
326
- mOperator = ACOS;
327
- } else if ("asin".equals(op)) {
328
- mOperator = ASIN;
329
- } else if ("atan".equals(op)) {
330
- mOperator = ATAN;
331
- } else if ("exp".equals(op)) {
332
- mOperator = EXP;
333
- } else if ("round".equals(op)) {
334
- mOperator = ROUND;
335
- } else if ("and".equals(op)) {
336
- mOperator = AND;
337
- } else if ("or".equals(op)) {
338
- mOperator = OR;
339
- } else if ("not".equals(op)) {
340
- mOperator = NOT;
341
- } else if ("defined".equals(op)) {
342
- mOperator = DEFINED;
343
- } else if ("lessThan".equals(op)) {
344
- mOperator = LESS_THAN;
345
- } else if ("eq".equals(op)) {
346
- mOperator = EQ;
347
- } else if ("greaterThan".equals(op)) {
348
- mOperator = GREATER_THAN;
349
- } else if ("lessOrEq".equals(op)) {
350
- mOperator = LESS_OR_EQ;
351
- } else if ("greaterOrEq".equals(op)) {
352
- mOperator = GREATER_OR_EQ;
353
- } else if ("neq".equals(op)) {
354
- mOperator = NEQ;
355
- } else if ("abs".equals(op)) {
356
- mOperator = ABS;
357
- } else if ("floor".equals(op)) {
358
- mOperator = FLOOR;
359
- } else if ("ceil".equals(op)) {
360
- mOperator = CEIL;
361
- } else if ("max".equals(op)) {
362
- mOperator = MAX;
363
- } else if ("min".equals(op)) {
364
- mOperator = MIN;
365
- } else {
366
- throw new JSApplicationIllegalArgumentException("Unrecognized operator " + op);
367
- }
368
- }
369
-
370
- @Override
371
- protected Object evaluate() {
372
- for (int i = 0; i < mInputIDs.length; i++) {
373
- mInputNodes[i] = mNodesManager.findNodeById(mInputIDs[i], Node.class);
374
- }
375
- return mOperator.evaluate(mInputNodes);
376
- }
377
- }
@@ -1,71 +0,0 @@
1
- package com.swmansion.reanimated.nodes;
2
-
3
- import com.facebook.react.bridge.ReadableMap;
4
- import com.swmansion.reanimated.NodesManager;
5
- import java.util.Stack;
6
-
7
- public class ParamNode extends ValueNode {
8
-
9
- private final Stack<Integer> mArgsStack;
10
- private String mPrevCallID;
11
-
12
- public ParamNode(int nodeID, ReadableMap config, NodesManager nodesManager) {
13
- super(nodeID, config, nodesManager);
14
- mArgsStack = new Stack<>();
15
- }
16
-
17
- @Override
18
- public void setValue(Object value) {
19
- Node node = mNodesManager.findNodeById(mArgsStack.peek(), Node.class);
20
- String callID = mUpdateContext.callID;
21
- mUpdateContext.callID = mPrevCallID;
22
- ((ValueNode) node).setValue(value);
23
- mUpdateContext.callID = callID;
24
- forceUpdateMemoizedValue(value);
25
- }
26
-
27
- public void beginContext(Integer ref, String prevCallID) {
28
- mPrevCallID = prevCallID;
29
- mArgsStack.push(ref);
30
- }
31
-
32
- public void endContext() {
33
- mArgsStack.pop();
34
- }
35
-
36
- @Override
37
- protected Object evaluate() {
38
- String callID = mUpdateContext.callID;
39
- mUpdateContext.callID = mPrevCallID;
40
- Node node = mNodesManager.findNodeById(mArgsStack.peek(), Node.class);
41
- Object val = node.value();
42
- mUpdateContext.callID = callID;
43
- return val;
44
- }
45
-
46
- public void start() {
47
- Node node = mNodesManager.findNodeById(mArgsStack.peek(), Node.class);
48
- if (node instanceof ParamNode) {
49
- ((ParamNode) node).start();
50
- } else {
51
- ((ClockNode) node).start();
52
- }
53
- }
54
-
55
- public void stop() {
56
- Node node = mNodesManager.findNodeById(mArgsStack.peek(), Node.class);
57
- if (node instanceof ParamNode) {
58
- ((ParamNode) node).stop();
59
- } else {
60
- ((ClockNode) node).stop();
61
- }
62
- }
63
-
64
- public boolean isRunning() {
65
- Node node = mNodesManager.findNodeById(mArgsStack.peek(), Node.class);
66
- if (node instanceof ParamNode) {
67
- return ((ParamNode) node).isRunning();
68
- }
69
- return ((ClockNode) node).isRunning;
70
- }
71
- }