react-native-reanimated 2.8.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 (381) 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 +18 -0
  7. package/Common/cpp/Tools/Mapper.cpp +23 -4
  8. package/Common/cpp/Tools/RuntimeDecorator.cpp +92 -32
  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 +178 -33
  29. package/android/src/main/cpp/headers/NativeProxy.h +43 -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/LayoutAnimations.java +2 -1
  33. package/android/src/{main → paper}/java/com/swmansion/reanimated/NativeProxy.java +15 -2
  34. package/android/src/paper/java/com/swmansion/reanimated/ReaCompatibility.java +17 -0
  35. package/ios/Fabric/REAInitializerRCTFabricSurface.h +12 -0
  36. package/ios/Fabric/REAInitializerRCTFabricSurface.mm +73 -0
  37. package/ios/REAEventDispatcher.m +0 -1
  38. package/ios/REAModule.h +10 -1
  39. package/ios/REAModule.mm +284 -0
  40. package/ios/REANodesManager.h +27 -51
  41. package/ios/{REANodesManager.m → REANodesManager.mm} +91 -223
  42. package/ios/native/NativeProxy.mm +144 -17
  43. package/ios/native/REAInitializer.mm +12 -4
  44. package/ios/native/UIResponder+Reanimated.h +3 -1
  45. package/ios/native/UIResponder+Reanimated.mm +3 -1
  46. package/lib/Animated.js +0 -4
  47. package/lib/createAnimatedComponent.js +30 -169
  48. package/lib/index.js +0 -4
  49. package/lib/reanimated2/Easing.js +0 -42
  50. package/lib/reanimated2/NativeMethods.js +20 -3
  51. package/lib/reanimated2/UpdateProps.js +25 -10
  52. package/lib/reanimated2/core.js +4 -1
  53. package/lib/reanimated2/fabricUtils.js +18 -0
  54. package/lib/reanimated2/globals.d.ts +17 -1
  55. package/lib/reanimated2/hook/useAnimatedRef.js +6 -2
  56. package/lib/reanimated2/hook/utils.js +0 -5
  57. package/lib/reanimated2/interpolateColor.js +5 -2
  58. package/lib/reanimated2/interpolation.js +0 -15
  59. package/lib/reanimated2/js-reanimated/index.js +3 -0
  60. package/lib/types/{lib/ConfigHelper.d.ts → ConfigHelper.d.ts} +0 -0
  61. package/lib/types/{lib/ReanimatedEventEmitter.d.ts → ReanimatedEventEmitter.d.ts} +0 -0
  62. package/lib/types/{lib/ReanimatedModule.d.ts → ReanimatedModule.d.ts} +0 -0
  63. package/lib/types/{lib/ReanimatedModule.macos.d.ts → ReanimatedModule.macos.d.ts} +0 -0
  64. package/lib/types/{lib/ReanimatedModule.native.d.ts → ReanimatedModule.native.d.ts} +0 -0
  65. package/lib/types/{lib/ReanimatedModule.windows.d.ts → ReanimatedModule.windows.d.ts} +0 -0
  66. package/lib/types/{lib/ReanimatedModuleCompat.d.ts → ReanimatedModuleCompat.d.ts} +0 -0
  67. package/lib/types/{lib/createAnimatedComponent.d.ts → createAnimatedComponent.d.ts} +0 -0
  68. package/lib/types/{lib/reanimated2 → reanimated2}/Bezier.d.ts +0 -0
  69. package/lib/types/{lib/reanimated2 → reanimated2}/Colors.d.ts +0 -0
  70. package/lib/types/{lib/reanimated2 → reanimated2}/Easing.d.ts +0 -0
  71. package/lib/types/{lib/reanimated2 → reanimated2}/NativeMethods.d.ts +2 -1
  72. package/lib/types/{lib/reanimated2 → reanimated2}/NativeReanimated/NativeReanimated.d.ts +0 -0
  73. package/lib/types/{lib/reanimated2 → reanimated2}/NativeReanimated/index.d.ts +0 -0
  74. package/lib/types/{lib/reanimated2 → reanimated2}/PlatformChecker.d.ts +0 -0
  75. package/lib/types/{lib/reanimated2 → reanimated2}/PropAdapters.d.ts +0 -0
  76. package/lib/types/{lib/reanimated2 → reanimated2}/UpdateProps.d.ts +0 -0
  77. package/lib/types/{lib/reanimated2 → reanimated2}/ViewDescriptorsSet.d.ts +0 -0
  78. package/lib/types/{lib/reanimated2 → reanimated2}/WorkletEventHandler.d.ts +0 -0
  79. package/lib/types/{lib/reanimated2 → reanimated2}/__mocks__/MutableValue.d.ts +0 -0
  80. package/lib/types/{lib/reanimated2 → reanimated2}/__mocks__/NativeReanimated.d.ts +0 -0
  81. package/lib/types/{lib/reanimated2 → reanimated2}/__mocks__/NativeReanimated.native.d.ts +0 -0
  82. package/lib/types/{lib/reanimated2 → reanimated2}/animation/commonTypes.d.ts +0 -0
  83. package/lib/types/{lib/reanimated2 → reanimated2}/animation/decay.d.ts +0 -0
  84. package/lib/types/{lib/reanimated2 → reanimated2}/animation/delay.d.ts +0 -0
  85. package/lib/types/{lib/reanimated2 → reanimated2}/animation/index.d.ts +0 -0
  86. package/lib/types/{lib/reanimated2 → reanimated2}/animation/repeat.d.ts +0 -0
  87. package/lib/types/{lib/reanimated2 → reanimated2}/animation/sequence.d.ts +0 -0
  88. package/lib/types/{lib/reanimated2 → reanimated2}/animation/spring.d.ts +0 -0
  89. package/lib/types/{lib/reanimated2 → reanimated2}/animation/styleAnimation.d.ts +0 -0
  90. package/lib/types/{lib/reanimated2 → reanimated2}/animation/timing.d.ts +0 -0
  91. package/lib/types/{lib/reanimated2 → reanimated2}/animation/util.d.ts +0 -0
  92. package/lib/types/{lib/reanimated2 → reanimated2}/commonTypes.d.ts +2 -1
  93. package/lib/types/{lib/reanimated2 → reanimated2}/component/FlatList.d.ts +0 -0
  94. package/lib/types/{lib/reanimated2 → reanimated2}/component/WrappedComponents.d.ts +0 -0
  95. package/lib/types/{lib/reanimated2 → reanimated2}/component/index.d.ts +0 -0
  96. package/lib/types/{lib/reanimated2 → reanimated2}/core.d.ts +0 -0
  97. package/lib/types/reanimated2/fabricUtils.d.ts +4 -0
  98. package/lib/types/{lib/reanimated2 → reanimated2}/hook/Hooks.d.ts +0 -0
  99. package/lib/types/{lib/reanimated2 → reanimated2}/hook/commonTypes.d.ts +2 -1
  100. package/lib/types/{lib/reanimated2 → reanimated2}/hook/index.d.ts +1 -1
  101. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedGestureHandler.d.ts +2 -2
  102. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedReaction.d.ts +0 -0
  103. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedRef.d.ts +0 -0
  104. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedScrollHandler.d.ts +2 -2
  105. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedSensor.d.ts +0 -0
  106. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedStyle.d.ts +0 -0
  107. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useDerivedValue.d.ts +0 -0
  108. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useSharedValue.d.ts +0 -0
  109. package/lib/types/{lib/reanimated2 → reanimated2}/hook/utils.d.ts +2 -2
  110. package/lib/types/{lib/reanimated2 → reanimated2}/index.d.ts +0 -0
  111. package/lib/types/{lib/reanimated2 → reanimated2}/interpolateColor.d.ts +5 -0
  112. package/lib/types/{lib/reanimated2 → reanimated2}/interpolation.d.ts +1 -4
  113. package/lib/types/{lib/reanimated2 → reanimated2}/jestUtils.d.ts +0 -0
  114. package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/JSReanimated.d.ts +0 -0
  115. package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/Mapper.d.ts +0 -0
  116. package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/MapperRegistry.d.ts +0 -0
  117. package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/MutableValue.d.ts +0 -0
  118. package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/commonTypes.d.ts +0 -0
  119. package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/index.d.ts +0 -0
  120. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/LayoutAnimationRepository.d.ts +0 -0
  121. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/BaseAnimationBuilder.d.ts +0 -0
  122. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/ComplexAnimationBuilder.d.ts +0 -0
  123. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/Keyframe.d.ts +0 -0
  124. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/commonTypes.d.ts +0 -0
  125. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/index.d.ts +0 -0
  126. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Bounce.d.ts +0 -0
  127. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Default.d.ts +0 -0
  128. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Fade.d.ts +0 -0
  129. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Flip.d.ts +0 -0
  130. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Lightspeed.d.ts +0 -0
  131. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Pinwheel.d.ts +0 -0
  132. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Roll.d.ts +0 -0
  133. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Rotate.d.ts +0 -0
  134. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Slide.d.ts +0 -0
  135. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Stretch.d.ts +0 -0
  136. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Zoom.d.ts +0 -0
  137. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/index.d.ts +0 -0
  138. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/CurvedTransition.d.ts +0 -0
  139. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/EntryExitTransition.d.ts +0 -0
  140. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/FadingTransition.d.ts +0 -0
  141. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/JumpingTransition.d.ts +0 -0
  142. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/LinearTransition.d.ts +0 -0
  143. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/SequencedTransition.d.ts +0 -0
  144. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/index.d.ts +0 -0
  145. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/index.d.ts +0 -0
  146. package/lib/types/{lib/reanimated2 → reanimated2}/mock.d.ts +0 -0
  147. package/lib/types/{lib/reanimated2 → reanimated2}/platform-specific/RNRenderer.d.ts +0 -0
  148. package/lib/types/{lib/reanimated2 → reanimated2}/platform-specific/RNRenderer.web.d.ts +0 -0
  149. package/lib/types/{lib/reanimated2 → reanimated2}/utils.d.ts +0 -0
  150. package/lib/types/{lib/setAndForwardRef.d.ts → setAndForwardRef.d.ts} +0 -0
  151. package/package.json +7 -5
  152. package/plugin.js +4 -1
  153. package/src/Animated.js +0 -4
  154. package/src/createAnimatedComponent.tsx +37 -197
  155. package/src/reanimated2/Easing.ts +0 -53
  156. package/src/reanimated2/NativeMethods.ts +39 -7
  157. package/src/reanimated2/UpdateProps.ts +38 -19
  158. package/src/reanimated2/commonTypes.ts +4 -1
  159. package/src/reanimated2/component/FlatList.tsx +8 -5
  160. package/src/reanimated2/core.ts +7 -1
  161. package/src/reanimated2/fabricUtils.ts +27 -0
  162. package/src/reanimated2/globals.d.ts +17 -1
  163. package/src/reanimated2/hook/commonTypes.ts +4 -2
  164. package/src/reanimated2/hook/index.ts +1 -1
  165. package/src/reanimated2/hook/useAnimatedGestureHandler.ts +2 -2
  166. package/src/reanimated2/hook/useAnimatedRef.ts +8 -3
  167. package/src/reanimated2/hook/useAnimatedScrollHandler.ts +2 -2
  168. package/src/reanimated2/hook/utils.ts +2 -11
  169. package/src/reanimated2/interpolateColor.ts +6 -2
  170. package/src/reanimated2/interpolation.ts +1 -26
  171. package/src/reanimated2/js-reanimated/index.ts +5 -0
  172. package/android/.gradle/7.2/dependencies-accessors/dependencies-accessors.lock +0 -0
  173. package/android/.gradle/7.2/dependencies-accessors/gc.properties +0 -0
  174. package/android/.gradle/7.2/executionHistory/executionHistory.bin +0 -0
  175. package/android/.gradle/7.2/executionHistory/executionHistory.lock +0 -0
  176. package/android/.gradle/7.2/fileChanges/last-build.bin +0 -0
  177. package/android/.gradle/7.2/fileHashes/fileHashes.bin +0 -0
  178. package/android/.gradle/7.2/fileHashes/fileHashes.lock +0 -0
  179. package/android/.gradle/7.2/fileHashes/resourceHashesCache.bin +0 -0
  180. package/android/.gradle/7.2/gc.properties +0 -0
  181. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  182. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  183. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  184. package/android/.gradle/checksums/checksums.lock +0 -0
  185. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  186. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  187. package/android/.gradle/vcs-1/gc.properties +0 -0
  188. package/android/react-native-reanimated-64-hermes.aar +0 -0
  189. package/android/react-native-reanimated-64-jsc.aar +0 -0
  190. package/android/react-native-reanimated-65-hermes.aar +0 -0
  191. package/android/react-native-reanimated-65-jsc.aar +0 -0
  192. package/android/react-native-reanimated-66-hermes.aar +0 -0
  193. package/android/react-native-reanimated-66-jsc.aar +0 -0
  194. package/android/react-native-reanimated-67-hermes.aar +0 -0
  195. package/android/react-native-reanimated-67-jsc.aar +0 -0
  196. package/android/react-native-reanimated-68-hermes.aar +0 -0
  197. package/android/react-native-reanimated-68-jsc.aar +0 -0
  198. package/android/src/main/java/com/swmansion/reanimated/UpdateContext.java +0 -11
  199. package/android/src/main/java/com/swmansion/reanimated/nodes/AlwaysNode.java +0 -29
  200. package/android/src/main/java/com/swmansion/reanimated/nodes/BezierNode.java +0 -87
  201. package/android/src/main/java/com/swmansion/reanimated/nodes/BlockNode.java +0 -24
  202. package/android/src/main/java/com/swmansion/reanimated/nodes/CallFuncNode.java +0 -49
  203. package/android/src/main/java/com/swmansion/reanimated/nodes/ClockNode.java +0 -38
  204. package/android/src/main/java/com/swmansion/reanimated/nodes/ClockOpNode.java +0 -73
  205. package/android/src/main/java/com/swmansion/reanimated/nodes/ConcatNode.java +0 -36
  206. package/android/src/main/java/com/swmansion/reanimated/nodes/CondNode.java +0 -41
  207. package/android/src/main/java/com/swmansion/reanimated/nodes/DebugNode.java +0 -33
  208. package/android/src/main/java/com/swmansion/reanimated/nodes/EventNode.java +0 -83
  209. package/android/src/main/java/com/swmansion/reanimated/nodes/FinalNode.java +0 -5
  210. package/android/src/main/java/com/swmansion/reanimated/nodes/FunctionNode.java +0 -20
  211. package/android/src/main/java/com/swmansion/reanimated/nodes/JSCallNode.java +0 -41
  212. package/android/src/main/java/com/swmansion/reanimated/nodes/Node.java +0 -139
  213. package/android/src/main/java/com/swmansion/reanimated/nodes/NoopNode.java +0 -37
  214. package/android/src/main/java/com/swmansion/reanimated/nodes/OperatorNode.java +0 -377
  215. package/android/src/main/java/com/swmansion/reanimated/nodes/ParamNode.java +0 -71
  216. package/android/src/main/java/com/swmansion/reanimated/nodes/PropsNode.java +0 -153
  217. package/android/src/main/java/com/swmansion/reanimated/nodes/SetNode.java +0 -32
  218. package/android/src/main/java/com/swmansion/reanimated/nodes/StyleNode.java +0 -40
  219. package/android/src/main/java/com/swmansion/reanimated/nodes/TransformNode.java +0 -84
  220. package/android/src/main/java/com/swmansion/reanimated/nodes/ValueNode.java +0 -40
  221. package/android/src/main/java/com/swmansion/reanimated/transitions/ChangeTransition.java +0 -84
  222. package/android/src/main/java/com/swmansion/reanimated/transitions/SaneSidePropagation.java +0 -25
  223. package/android/src/main/java/com/swmansion/reanimated/transitions/Scale.java +0 -86
  224. package/android/src/main/java/com/swmansion/reanimated/transitions/TransitionModule.java +0 -41
  225. package/android/src/main/java/com/swmansion/reanimated/transitions/TransitionUtils.java +0 -161
  226. package/ios/Nodes/REAAlwaysNode.h +0 -4
  227. package/ios/Nodes/REAAlwaysNode.m +0 -35
  228. package/ios/Nodes/REABezierNode.h +0 -5
  229. package/ios/Nodes/REABezierNode.m +0 -103
  230. package/ios/Nodes/REABlockNode.h +0 -5
  231. package/ios/Nodes/REABlockNode.m +0 -25
  232. package/ios/Nodes/REACallFuncNode.h +0 -6
  233. package/ios/Nodes/REACallFuncNode.m +0 -69
  234. package/ios/Nodes/REAClockNodes.h +0 -19
  235. package/ios/Nodes/REAClockNodes.m +0 -118
  236. package/ios/Nodes/REAConcatNode.h +0 -5
  237. package/ios/Nodes/REAConcatNode.m +0 -32
  238. package/ios/Nodes/REACondNode.h +0 -5
  239. package/ios/Nodes/REACondNode.m +0 -36
  240. package/ios/Nodes/READebugNode.h +0 -5
  241. package/ios/Nodes/READebugNode.m +0 -30
  242. package/ios/Nodes/REAEventNode.h +0 -8
  243. package/ios/Nodes/REAEventNode.m +0 -35
  244. package/ios/Nodes/REAFunctionNode.h +0 -6
  245. package/ios/Nodes/REAFunctionNode.m +0 -24
  246. package/ios/Nodes/REAJSCallNode.h +0 -5
  247. package/ios/Nodes/REAJSCallNode.m +0 -30
  248. package/ios/Nodes/REANode.h +0 -40
  249. package/ios/Nodes/REANode.m +0 -155
  250. package/ios/Nodes/REAOperatorNode.h +0 -5
  251. package/ios/Nodes/REAOperatorNode.m +0 -114
  252. package/ios/Nodes/REAParamNode.h +0 -10
  253. package/ios/Nodes/REAParamNode.m +0 -79
  254. package/ios/Nodes/REAPropsNode.h +0 -9
  255. package/ios/Nodes/REAPropsNode.m +0 -96
  256. package/ios/Nodes/REASetNode.h +0 -5
  257. package/ios/Nodes/REASetNode.m +0 -34
  258. package/ios/Nodes/REAStyleNode.h +0 -5
  259. package/ios/Nodes/REAStyleNode.m +0 -27
  260. package/ios/Nodes/REATransformNode.h +0 -5
  261. package/ios/Nodes/REATransformNode.m +0 -36
  262. package/ios/Nodes/REAValueNode.h +0 -9
  263. package/ios/Nodes/REAValueNode.m +0 -26
  264. package/ios/REAModule.m +0 -184
  265. package/ios/Transitioning/RCTConvert+REATransition.h +0 -11
  266. package/ios/Transitioning/RCTConvert+REATransition.m +0 -53
  267. package/ios/Transitioning/REAAllTransitions.h +0 -26
  268. package/ios/Transitioning/REAAllTransitions.m +0 -296
  269. package/ios/Transitioning/REATransition.h +0 -64
  270. package/ios/Transitioning/REATransition.m +0 -210
  271. package/ios/Transitioning/REATransitionAnimation.h +0 -17
  272. package/ios/Transitioning/REATransitionAnimation.m +0 -79
  273. package/ios/Transitioning/REATransitionManager.h +0 -9
  274. package/ios/Transitioning/REATransitionManager.m +0 -60
  275. package/ios/Transitioning/REATransitionValues.h +0 -15
  276. package/ios/Transitioning/REATransitionValues.m +0 -25
  277. package/lib/reanimated1/Easing.js +0 -231
  278. package/lib/reanimated1/SpringConfig.js +0 -79
  279. package/lib/reanimated1/Transitioning.js +0 -158
  280. package/lib/reanimated1/animations/Animation.js +0 -32
  281. package/lib/reanimated1/animations/SpringUtils.js +0 -199
  282. package/lib/reanimated1/animations/backwardCompatibleAnimWrapper.js +0 -117
  283. package/lib/reanimated1/animations/decay.js +0 -54
  284. package/lib/reanimated1/animations/spring.js +0 -198
  285. package/lib/reanimated1/animations/timing.js +0 -74
  286. package/lib/reanimated1/base.js +0 -13
  287. package/lib/reanimated1/core/AnimatedAlways.js +0 -33
  288. package/lib/reanimated1/core/AnimatedBezier.js +0 -150
  289. package/lib/reanimated1/core/AnimatedBlock.js +0 -52
  290. package/lib/reanimated1/core/AnimatedCall.js +0 -55
  291. package/lib/reanimated1/core/AnimatedCallFunc.js +0 -72
  292. package/lib/reanimated1/core/AnimatedClock.js +0 -90
  293. package/lib/reanimated1/core/AnimatedClockTest.js +0 -22
  294. package/lib/reanimated1/core/AnimatedCode.js +0 -32
  295. package/lib/reanimated1/core/AnimatedConcat.js +0 -32
  296. package/lib/reanimated1/core/AnimatedCond.js +0 -57
  297. package/lib/reanimated1/core/AnimatedDebug.js +0 -62
  298. package/lib/reanimated1/core/AnimatedEvent.js +0 -126
  299. package/lib/reanimated1/core/AnimatedFunction.js +0 -55
  300. package/lib/reanimated1/core/AnimatedNode.js +0 -223
  301. package/lib/reanimated1/core/AnimatedOperator.js +0 -103
  302. package/lib/reanimated1/core/AnimatedParam.js +0 -88
  303. package/lib/reanimated1/core/AnimatedProps.js +0 -108
  304. package/lib/reanimated1/core/AnimatedSet.js +0 -38
  305. package/lib/reanimated1/core/AnimatedStartClock.js +0 -30
  306. package/lib/reanimated1/core/AnimatedStopClock.js +0 -30
  307. package/lib/reanimated1/core/AnimatedStyle.js +0 -78
  308. package/lib/reanimated1/core/AnimatedTransform.js +0 -78
  309. package/lib/reanimated1/core/AnimatedValue.js +0 -38
  310. package/lib/reanimated1/core/Core.test.js +0 -30
  311. package/lib/reanimated1/core/InternalAnimatedValue.js +0 -87
  312. package/lib/reanimated1/core/__mocks__/AnimatedProps.js +0 -86
  313. package/lib/reanimated1/core/createEventObjectProxyPolyfill.js +0 -44
  314. package/lib/reanimated1/derived/__mocks__/evaluateOnce.js +0 -14
  315. package/lib/reanimated1/derived/acc.js +0 -11
  316. package/lib/reanimated1/derived/color.js +0 -47
  317. package/lib/reanimated1/derived/diff.js +0 -16
  318. package/lib/reanimated1/derived/diffClamp.js +0 -11
  319. package/lib/reanimated1/derived/evaluateOnce.js +0 -35
  320. package/lib/reanimated1/derived/index.js +0 -8
  321. package/lib/reanimated1/derived/interpolate.js +0 -152
  322. package/lib/reanimated1/derived/interpolateColors.js +0 -62
  323. package/lib/reanimated1/derived/onChange.js +0 -14
  324. package/lib/reanimated1/derived/useCode.js +0 -41
  325. package/lib/reanimated1/index.js +0 -53
  326. package/lib/reanimated1/operators.js +0 -35
  327. package/lib/reanimated1/useValue.js +0 -10
  328. package/lib/reanimated1/val.js +0 -3
  329. package/lib/types/react-native-reanimated-tests.d.ts +0 -1
  330. package/src/reanimated1/Easing.js +0 -231
  331. package/src/reanimated1/SpringConfig.js +0 -79
  332. package/src/reanimated1/Transitioning.js +0 -158
  333. package/src/reanimated1/animations/Animation.js +0 -32
  334. package/src/reanimated1/animations/SpringUtils.js +0 -199
  335. package/src/reanimated1/animations/backwardCompatibleAnimWrapper.js +0 -117
  336. package/src/reanimated1/animations/decay.js +0 -54
  337. package/src/reanimated1/animations/spring.js +0 -198
  338. package/src/reanimated1/animations/timing.js +0 -74
  339. package/src/reanimated1/base.js +0 -13
  340. package/src/reanimated1/core/AnimatedAlways.js +0 -33
  341. package/src/reanimated1/core/AnimatedBezier.js +0 -150
  342. package/src/reanimated1/core/AnimatedBlock.js +0 -52
  343. package/src/reanimated1/core/AnimatedCall.js +0 -55
  344. package/src/reanimated1/core/AnimatedCallFunc.js +0 -72
  345. package/src/reanimated1/core/AnimatedClock.js +0 -90
  346. package/src/reanimated1/core/AnimatedClockTest.js +0 -22
  347. package/src/reanimated1/core/AnimatedCode.js +0 -32
  348. package/src/reanimated1/core/AnimatedConcat.js +0 -32
  349. package/src/reanimated1/core/AnimatedCond.js +0 -57
  350. package/src/reanimated1/core/AnimatedDebug.js +0 -62
  351. package/src/reanimated1/core/AnimatedEvent.js +0 -126
  352. package/src/reanimated1/core/AnimatedFunction.js +0 -55
  353. package/src/reanimated1/core/AnimatedNode.js +0 -223
  354. package/src/reanimated1/core/AnimatedOperator.js +0 -103
  355. package/src/reanimated1/core/AnimatedParam.js +0 -88
  356. package/src/reanimated1/core/AnimatedProps.js +0 -108
  357. package/src/reanimated1/core/AnimatedSet.js +0 -38
  358. package/src/reanimated1/core/AnimatedStartClock.js +0 -30
  359. package/src/reanimated1/core/AnimatedStopClock.js +0 -30
  360. package/src/reanimated1/core/AnimatedStyle.js +0 -78
  361. package/src/reanimated1/core/AnimatedTransform.js +0 -78
  362. package/src/reanimated1/core/AnimatedValue.js +0 -38
  363. package/src/reanimated1/core/Core.test.js +0 -30
  364. package/src/reanimated1/core/InternalAnimatedValue.js +0 -87
  365. package/src/reanimated1/core/__mocks__/AnimatedProps.js +0 -86
  366. package/src/reanimated1/core/createEventObjectProxyPolyfill.js +0 -44
  367. package/src/reanimated1/derived/__mocks__/evaluateOnce.js +0 -14
  368. package/src/reanimated1/derived/acc.js +0 -11
  369. package/src/reanimated1/derived/color.js +0 -47
  370. package/src/reanimated1/derived/diff.js +0 -16
  371. package/src/reanimated1/derived/diffClamp.js +0 -11
  372. package/src/reanimated1/derived/evaluateOnce.js +0 -35
  373. package/src/reanimated1/derived/index.js +0 -8
  374. package/src/reanimated1/derived/interpolate.js +0 -152
  375. package/src/reanimated1/derived/interpolateColors.js +0 -62
  376. package/src/reanimated1/derived/onChange.js +0 -14
  377. package/src/reanimated1/derived/useCode.js +0 -41
  378. package/src/reanimated1/index.js +0 -53
  379. package/src/reanimated1/operators.js +0 -35
  380. package/src/reanimated1/useValue.js +0 -10
  381. package/src/reanimated1/val.js +0 -3
@@ -1,25 +0,0 @@
1
- #import <RNReanimated/REABlockNode.h>
2
- #import <RNReanimated/REANodesManager.h>
3
-
4
- @implementation REABlockNode {
5
- NSArray<NSNumber *> *_block;
6
- }
7
-
8
- - (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary<NSString *, id> *)config
9
- {
10
- if ((self = [super initWithID:nodeID config:config])) {
11
- _block = config[@"block"];
12
- }
13
- return self;
14
- }
15
-
16
- - (id)evaluate
17
- {
18
- id result;
19
- for (NSNumber *inputID in _block) {
20
- result = [[self.nodesManager findNodeByID:inputID] value];
21
- }
22
- return result;
23
- }
24
-
25
- @end
@@ -1,6 +0,0 @@
1
-
2
- #import <RNReanimated/REANode.h>
3
-
4
- @interface REACallFuncNode : REANode
5
-
6
- @end
@@ -1,69 +0,0 @@
1
-
2
-
3
- #import <RNReanimated/REACallFuncNode.h>
4
- #import <RNReanimated/REAFunctionNode.h>
5
- #import <RNReanimated/REANodesManager.h>
6
- #import <RNReanimated/REAParamNode.h>
7
- #import <RNReanimated/REAUtils.h>
8
-
9
- @implementation REACallFuncNode {
10
- NSNumber *_whatNodeID;
11
- NSArray<NSNumber *> *_args;
12
- NSArray<NSNumber *> *_params;
13
- NSString *_prevCallID;
14
- }
15
-
16
- - (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary<NSString *, id> *)config
17
- {
18
- if ((self = [super initWithID:nodeID config:config])) {
19
- _whatNodeID = config[@"what"];
20
- REA_LOG_ERROR_IF_NIL(
21
- _whatNodeID, @"Reanimated: First argument passed to callFunc node is either of wrong type or is missing.");
22
- _args = config[@"args"];
23
- _params = config[@"params"];
24
- _prevCallID = NULL;
25
- }
26
- return self;
27
- }
28
-
29
- - (void)beginContext
30
- {
31
- // To ensure that functions can be called multiple times in the same animation frame
32
- // (functions might have different parameters and might be called multiple times)
33
- // we inform the current update context about where we are called from by setting the
34
- // current call id - this will ensure that memoization is correct for function nodes.
35
- _prevCallID = self.updateContext.callID;
36
- self.updateContext.callID =
37
- [NSString stringWithFormat:@"%@/%@", self.updateContext.callID, [self.nodeID stringValue]];
38
-
39
- // A CallFuncNode has a reference to a function node which holds the node graph that should
40
- // be updated. A Function node has a list of ParamNodes which are basically nodes that can
41
- // reference other nodes. When we start a new function call we update the parameter nodes
42
- // with the current arguments:
43
- for (NSUInteger i = 0; i < _params.count; i++) {
44
- NSNumber *paramID = [_params objectAtIndex:i];
45
- REAParamNode *param = (REAParamNode *)[self.nodesManager findNodeByID:paramID];
46
- [param beginContext:_args[i] prevCallID:_prevCallID];
47
- }
48
- }
49
-
50
- - (void)endContext
51
- {
52
- for (NSUInteger i = 0; i < _params.count; i++) {
53
- NSNumber *paramID = [_params objectAtIndex:i];
54
- REAParamNode *param = (REAParamNode *)[self.nodesManager findNodeByID:paramID];
55
- [param endContext];
56
- }
57
- self.updateContext.callID = _prevCallID;
58
- }
59
-
60
- - (id)evaluate
61
- {
62
- [self beginContext];
63
- REAFunctionNode *what = (REAFunctionNode *)[self.nodesManager findNodeByID:_whatNodeID];
64
- NSNumber *newValue = [what value];
65
- [self endContext];
66
- return newValue;
67
- }
68
-
69
- @end
@@ -1,19 +0,0 @@
1
- #import <RNReanimated/REANode.h>
2
-
3
- @interface REAClockNode : REANode
4
- @property (nonatomic, readonly) BOOL isRunning;
5
- - (void)start;
6
- - (void)stop;
7
- @end
8
-
9
- @interface REAClockOpNode : REANode
10
- @end
11
-
12
- @interface REAClockStartNode : REAClockOpNode
13
- @end
14
-
15
- @interface REAClockStopNode : REAClockOpNode
16
- @end
17
-
18
- @interface REAClockTestNode : REAClockOpNode
19
- @end
@@ -1,118 +0,0 @@
1
- #import <RNReanimated/REAClockNodes.h>
2
- #import <RNReanimated/REANodesManager.h>
3
- #import <RNReanimated/REAParamNode.h>
4
- #import <RNReanimated/REAUtils.h>
5
- #import <React/RCTConvert.h>
6
- #import <React/RCTLog.h>
7
-
8
- @interface REAClockNode ()
9
-
10
- @property (nonatomic) NSNumber *lastTimestampMs;
11
-
12
- @end
13
-
14
- @implementation REAClockNode
15
-
16
- - (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary<NSString *, id> *)config
17
- {
18
- if ((self = [super initWithID:nodeID config:config])) {
19
- _isRunning = NO;
20
- }
21
- return self;
22
- }
23
-
24
- - (void)start
25
- {
26
- if (_isRunning)
27
- return;
28
- _isRunning = YES;
29
-
30
- __block __weak void (^weak_animationClb)(CADisplayLink *displayLink);
31
- void (^animationClb)(CADisplayLink *displayLink);
32
- __weak REAClockNode *weakSelf = self;
33
-
34
- weak_animationClb = animationClb = ^(CADisplayLink *displayLink) {
35
- if (!weakSelf.isRunning)
36
- return;
37
- [weakSelf markUpdated];
38
- [weakSelf.nodesManager postOnAnimation:weak_animationClb];
39
- };
40
-
41
- [self.nodesManager postOnAnimation:animationClb];
42
- }
43
-
44
- - (void)stop
45
- {
46
- _isRunning = false;
47
- }
48
-
49
- - (id)evaluate
50
- {
51
- return @(self.nodesManager.currentAnimationTimestamp * 1000.);
52
- }
53
-
54
- @end
55
-
56
- @implementation REAClockOpNode {
57
- NSNumber *_clockNodeID;
58
- }
59
-
60
- - (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary<NSString *, id> *)config
61
- {
62
- if ((self = [super initWithID:nodeID config:config])) {
63
- _clockNodeID = [RCTConvert NSNumber:config[@"clock"]];
64
- REA_LOG_ERROR_IF_NIL(
65
- _clockNodeID, @"Reanimated: First argument passed to clock node is either of wrong type or is missing.");
66
- }
67
- return self;
68
- }
69
-
70
- - (REANode *)clockNode
71
- {
72
- return (REANode *)[self.nodesManager findNodeByID:_clockNodeID];
73
- }
74
-
75
- @end
76
-
77
- @implementation REAClockStartNode
78
-
79
- - (id)evaluate
80
- {
81
- REANode *node = [self clockNode];
82
- if ([node isKindOfClass:[REAParamNode class]]) {
83
- [(REAParamNode *)node start];
84
- } else {
85
- [(REAClockNode *)node start];
86
- }
87
- return @(0);
88
- }
89
-
90
- @end
91
-
92
- @implementation REAClockStopNode
93
-
94
- - (id)evaluate
95
- {
96
- REANode *node = [self clockNode];
97
- if ([node isKindOfClass:[REAParamNode class]]) {
98
- [(REAParamNode *)node stop];
99
- } else {
100
- [(REAClockNode *)node stop];
101
- }
102
- return @(0);
103
- }
104
-
105
- @end
106
-
107
- @implementation REAClockTestNode
108
-
109
- - (id)evaluate
110
- {
111
- REANode *node = [self clockNode];
112
- if ([node isKindOfClass:[REAParamNode class]]) {
113
- return @(((REAParamNode *)node).isRunning ? 1 : 0);
114
- }
115
- return @([(REAClockNode *)node isRunning] ? 1 : 0);
116
- }
117
-
118
- @end
@@ -1,5 +0,0 @@
1
- #import <RNReanimated/REANode.h>
2
-
3
- @interface REAConcatNode : REANode
4
-
5
- @end
@@ -1,32 +0,0 @@
1
- #import <RNReanimated/REAConcatNode.h>
2
- #import <RNReanimated/REANodesManager.h>
3
- #import <RNReanimated/REAValueNode.h>
4
-
5
- @implementation REAConcatNode {
6
- NSArray<NSNumber *> *_input;
7
- }
8
-
9
- - (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary<NSString *, id> *)config
10
- {
11
- if ((self = [super initWithID:nodeID config:config])) {
12
- _input = config[@"input"];
13
- }
14
- return self;
15
- }
16
-
17
- - (id)evaluate
18
- {
19
- NSMutableString *result = [NSMutableString new];
20
- for (int i = 0; i < _input.count; i++) {
21
- NSObject *val = [[self.nodesManager findNodeByID:_input[i]] value];
22
- if ([val isKindOfClass:[NSNumber class]]) {
23
- [result appendString:[(NSNumber *)val stringValue]];
24
- }
25
- if ([val isKindOfClass:[NSString class]]) {
26
- [result appendString:val];
27
- }
28
- }
29
- return result;
30
- }
31
-
32
- @end
@@ -1,5 +0,0 @@
1
- #import <RNReanimated/REANode.h>
2
-
3
- @interface REACondNode : REANode
4
-
5
- @end
@@ -1,36 +0,0 @@
1
- #import <RNReanimated/REACondNode.h>
2
- #import <RNReanimated/REANodesManager.h>
3
- #import <RNReanimated/REAUtils.h>
4
- #import <React/RCTConvert.h>
5
- #import <React/RCTLog.h>
6
-
7
- @implementation REACondNode {
8
- NSNumber *_condNodeID;
9
- NSNumber *_ifBlockID;
10
- NSNumber *_elseBlockID;
11
- }
12
-
13
- - (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary<NSString *, id> *)config
14
- {
15
- if ((self = [super initWithID:nodeID config:config])) {
16
- _condNodeID = [RCTConvert NSNumber:config[@"cond"]];
17
- REA_LOG_ERROR_IF_NIL(
18
- _condNodeID, @"Reanimated: First argument passed to cond node is either of wrong type or is missing.");
19
- _ifBlockID = [RCTConvert NSNumber:config[@"ifBlock"]];
20
- REA_LOG_ERROR_IF_NIL(
21
- _ifBlockID, @"Reanimated: Second argument passed to cond node is either of wrong type or is missing.");
22
- _elseBlockID = [RCTConvert NSNumber:config[@"elseBlock"]];
23
- }
24
- return self;
25
- }
26
-
27
- - (id)evaluate
28
- {
29
- id cond = [[self.nodesManager findNodeByID:_condNodeID] value];
30
- if ([cond doubleValue]) {
31
- return [[self.nodesManager findNodeByID:_ifBlockID] value];
32
- }
33
- return _elseBlockID != nil ? [[self.nodesManager findNodeByID:_elseBlockID] value] : @(0);
34
- }
35
-
36
- @end
@@ -1,5 +0,0 @@
1
- #import <RNReanimated/REANode.h>
2
-
3
- @interface READebugNode : REANode
4
-
5
- @end
@@ -1,30 +0,0 @@
1
- #import <RNReanimated/READebugNode.h>
2
- #import <RNReanimated/REANodesManager.h>
3
- #import <RNReanimated/REAUtils.h>
4
- #import <React/RCTConvert.h>
5
- #import <React/RCTLog.h>
6
-
7
- @implementation READebugNode {
8
- NSNumber *_valueNodeID;
9
- NSString *_message;
10
- }
11
-
12
- - (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary<NSString *, id> *)config
13
- {
14
- if ((self = [super initWithID:nodeID config:config])) {
15
- _message = [RCTConvert NSString:config[@"message"]];
16
- _valueNodeID = [RCTConvert NSNumber:config[@"value"]];
17
- REA_LOG_ERROR_IF_NIL(
18
- _valueNodeID, @"Reanimated: Second argument passed to debug node is either of wrong type or is missing.");
19
- }
20
- return self;
21
- }
22
-
23
- - (id)evaluate
24
- {
25
- id value = [[self.nodesManager findNodeByID:_valueNodeID] value];
26
- NSLog(@"%@ %@", _message, value);
27
- return value;
28
- }
29
-
30
- @end
@@ -1,8 +0,0 @@
1
- #import <RNReanimated/REANode.h>
2
- #import <React/RCTEventDispatcher.h>
3
-
4
- @interface REAEventNode : REANode
5
-
6
- - (void)processEvent:(id<RCTEvent>)event;
7
-
8
- @end
@@ -1,35 +0,0 @@
1
- #import <RNReanimated/REAEventNode.h>
2
- #import <RNReanimated/REANodesManager.h>
3
- #import <RNReanimated/REAValueNode.h>
4
-
5
- @implementation REAEventNode {
6
- NSArray *_argMapping;
7
- }
8
-
9
- - (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary<NSString *, id> *)config
10
- {
11
- if ((self = [super initWithID:nodeID config:config])) {
12
- _argMapping = config[@"argMapping"];
13
- }
14
- return self;
15
- }
16
-
17
- - (void)processEvent:(id<RCTEvent>)event
18
- {
19
- NSArray *args = event.arguments;
20
- // argMapping is an array of eventPaths, each even path ends with a target node ID
21
- for (NSArray *eventPath in _argMapping) {
22
- // Supported events args are in the following order: viewTag, eventName, eventData.
23
- id value = args[2];
24
- for (NSUInteger i = 0; i < eventPath.count; i++) {
25
- if (i < eventPath.count - 1) {
26
- value = [value valueForKey:eventPath[i]];
27
- } else {
28
- REAValueNode *node = (REAValueNode *)[self.nodesManager findNodeByID:eventPath[i]];
29
- [node setValue:value];
30
- }
31
- }
32
- }
33
- }
34
-
35
- @end
@@ -1,6 +0,0 @@
1
-
2
- #import <RNReanimated/REANode.h>
3
-
4
- @interface REAFunctionNode : REANode
5
-
6
- @end
@@ -1,24 +0,0 @@
1
-
2
- #import <RNReanimated/REAFunctionNode.h>
3
- #import <RNReanimated/REANodesManager.h>
4
- #import <RNReanimated/REAParamNode.h>
5
-
6
- @implementation REAFunctionNode {
7
- NSNumber *_nodeToBeEvaluated;
8
- }
9
-
10
- - (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary<NSString *, id> *)config
11
- {
12
- if ((self = [super initWithID:nodeID config:config])) {
13
- _nodeToBeEvaluated = config[@"what"];
14
- }
15
- return self;
16
- }
17
-
18
- - (id)evaluate
19
- {
20
- REANode *node = [self.nodesManager findNodeByID:_nodeToBeEvaluated];
21
- return [node value];
22
- }
23
-
24
- @end
@@ -1,5 +0,0 @@
1
- #import <RNReanimated/REANode.h>
2
-
3
- @interface REAJSCallNode : REANode
4
-
5
- @end
@@ -1,30 +0,0 @@
1
- #import <RNReanimated/REAJSCallNode.h>
2
- #import <RNReanimated/REAModule.h>
3
- #import <RNReanimated/REANodesManager.h>
4
-
5
- @implementation REAJSCallNode {
6
- NSArray<NSNumber *> *_input;
7
- }
8
-
9
- - (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary<NSString *, id> *)config
10
- {
11
- if ((self = [super initWithID:nodeID config:config])) {
12
- _input = config[@"input"];
13
- }
14
- return self;
15
- }
16
-
17
- - (id)evaluate
18
- {
19
- NSMutableArray *args = [NSMutableArray arrayWithCapacity:_input.count];
20
- for (NSUInteger i = 0; i < _input.count; i++) {
21
- args[i] = [[self.nodesManager findNodeByID:_input[i]] value];
22
- }
23
-
24
- [self.nodesManager.reanimatedModule sendEventWithName:@"onReanimatedCall"
25
- body:@{@"id" : self.nodeID, @"args" : args}];
26
-
27
- return @(0);
28
- }
29
-
30
- @end
@@ -1,40 +0,0 @@
1
- #import <Foundation/Foundation.h>
2
- #import <UIKit/UIKit.h>
3
-
4
- @class REANodesManager;
5
-
6
- typedef NSNumber *REANodeID;
7
-
8
- @protocol REAFinalNode
9
-
10
- - (void)update;
11
-
12
- @end
13
-
14
- @interface REAUpdateContext : NSObject
15
- @property (nonatomic) NSString *callID;
16
- @end
17
-
18
- @interface REANode : NSObject
19
-
20
- + (void)runPropUpdates:(nonnull REAUpdateContext *)context;
21
-
22
- - (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary<NSString *, id> *)config NS_DESIGNATED_INITIALIZER;
23
-
24
- @property (nonatomic, weak, nullable) REANodesManager *nodesManager;
25
- @property (nonatomic, nullable) REAUpdateContext *updateContext;
26
- @property (nonatomic, readonly, nonnull) REANodeID nodeID;
27
-
28
- - (_Nullable id)evaluate;
29
- - (_Nullable id)value;
30
- - (void)markUpdated;
31
-
32
- - (void)addChild:(REANode *)child NS_REQUIRES_SUPER;
33
- - (void)removeChild:(REANode *)child NS_REQUIRES_SUPER;
34
-
35
- - (void)dangerouslyRescheduleEvaluate;
36
- - (void)forceUpdateMemoizedValue:(id)value;
37
-
38
- - (void)onDrop;
39
-
40
- @end
@@ -1,155 +0,0 @@
1
- #import <RNReanimated/REANode.h>
2
- #import <RNReanimated/REANodesManager.h>
3
-
4
- #import <React/RCTDefines.h>
5
-
6
- @interface REAUpdateContext ()
7
-
8
- @property (nonatomic, nonnull) NSMutableArray<REANode *> *updatedNodes;
9
- @property (nonatomic) NSNumber *loopID;
10
-
11
- @end
12
-
13
- @implementation REAUpdateContext
14
-
15
- - (instancetype)init
16
- {
17
- if ((self = [super init])) {
18
- _loopID = [[NSNumber alloc] initWithInt:1];
19
- _updatedNodes = [NSMutableArray new];
20
- _callID = @"";
21
- }
22
- return self;
23
- }
24
-
25
- @end
26
-
27
- @interface REANode ()
28
-
29
- @property (nonatomic) NSMutableDictionary<REANodeID, NSNumber *> *lastLoopID;
30
- @property (nonatomic) NSMutableDictionary<REANodeID, id> *memoizedValue;
31
- @property (nonatomic, nullable) NSMutableArray<REANode *> *childNodes;
32
-
33
- @end
34
-
35
- @implementation REANode
36
-
37
- - (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary<NSString *, id> *)config
38
- {
39
- if ((self = [super init])) {
40
- _nodeID = nodeID;
41
- _lastLoopID = [NSMutableDictionary dictionary];
42
- _memoizedValue = [NSMutableDictionary dictionary];
43
- _lastLoopID[@""] = 0;
44
- }
45
- return self;
46
- }
47
-
48
- RCT_NOT_IMPLEMENTED(-(instancetype)init)
49
-
50
- - (void)dangerouslyRescheduleEvaluate
51
- {
52
- _lastLoopID[self.updateContext.callID] = 0;
53
- [self markUpdated];
54
- }
55
-
56
- - (void)forceUpdateMemoizedValue:(id)value
57
- {
58
- _memoizedValue[self.updateContext.callID] = value;
59
- [self markUpdated];
60
- }
61
-
62
- - (id)evaluate
63
- {
64
- return 0;
65
- }
66
-
67
- - (id)value
68
- {
69
- if (![_lastLoopID objectForKey:_updateContext.callID] ||
70
- [[_lastLoopID objectForKey:_updateContext.callID] longValue] < [_updateContext.loopID longValue]) {
71
- [_lastLoopID setObject:_updateContext.loopID forKey:_updateContext.callID];
72
- id val = [self evaluate];
73
- [_memoizedValue setObject:(val == nil ? [NSNull null] : val) forKey:_updateContext.callID];
74
- return val;
75
- }
76
- id memoizedValue = [_memoizedValue objectForKey:_updateContext.callID];
77
- return [memoizedValue isKindOfClass:[NSNull class]] ? nil : memoizedValue;
78
- }
79
-
80
- - (void)addChild:(REANode *)child
81
- {
82
- if (!_childNodes) {
83
- _childNodes = [NSMutableArray new];
84
- }
85
- if (child) {
86
- [_childNodes addObject:child];
87
- [child dangerouslyRescheduleEvaluate];
88
- }
89
- }
90
-
91
- - (void)removeChild:(REANode *)child
92
- {
93
- if (child) {
94
- [_childNodes removeObject:child];
95
- }
96
- }
97
-
98
- - (void)markUpdated
99
- {
100
- [_updateContext.updatedNodes addObject:self];
101
- [self.nodesManager postRunUpdatesAfterAnimation];
102
- }
103
-
104
- + (NSMutableArray<REANode *> *)updatedNodes
105
- {
106
- static NSMutableArray<REANode *> *updatedNodes;
107
- static dispatch_once_t onceToken;
108
- dispatch_once(&onceToken, ^{
109
- updatedNodes = [NSMutableArray new];
110
- });
111
- return updatedNodes;
112
- }
113
-
114
- + (void)findAndUpdateNodes:(nonnull REANode *)node
115
- withVisitedSet:(NSMutableSet<REANode *> *)visitedNodes
116
- withFinalNodes:(NSMutableArray<id<REAFinalNode>> *)finalNodes
117
- {
118
- if ([visitedNodes containsObject:node]) {
119
- return;
120
- } else {
121
- [visitedNodes addObject:node];
122
- }
123
- for (REANode *child in node.childNodes) {
124
- [self findAndUpdateNodes:child withVisitedSet:visitedNodes withFinalNodes:finalNodes];
125
- }
126
- if ([node conformsToProtocol:@protocol(REAFinalNode)]) {
127
- [finalNodes addObject:(id<REAFinalNode>)node];
128
- }
129
- }
130
-
131
- + (void)runPropUpdates:(REAUpdateContext *)context
132
- {
133
- NSMutableSet<REANode *> *visitedNodes = [NSMutableSet new];
134
- NSMutableArray<id<REAFinalNode>> *finalNodes = [NSMutableArray new];
135
- for (NSUInteger i = 0; i < context.updatedNodes.count; i++) {
136
- [self findAndUpdateNodes:context.updatedNodes[i] withVisitedSet:visitedNodes withFinalNodes:finalNodes];
137
- if (i == context.updatedNodes.count - 1) {
138
- while (finalNodes.count > 0) {
139
- // NSMutableArray used for stack implementation
140
- [[finalNodes lastObject] update];
141
- [finalNodes removeLastObject];
142
- }
143
- }
144
- }
145
-
146
- [context.updatedNodes removeAllObjects];
147
- context.loopID = [[NSNumber alloc] initWithLong:context.loopID.longValue + 1];
148
- }
149
-
150
- - (void)onDrop
151
- {
152
- // noop
153
- }
154
-
155
- @end
@@ -1,5 +0,0 @@
1
- #import <RNReanimated/REANode.h>
2
-
3
- @interface REAOperatorNode : REANode
4
-
5
- @end