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,198 +0,0 @@
1
- import {
2
- cond,
3
- sub,
4
- divide,
5
- multiply,
6
- sqrt,
7
- add,
8
- block,
9
- set,
10
- exp,
11
- sin,
12
- cos,
13
- eq,
14
- or,
15
- neq,
16
- and,
17
- lessThan,
18
- greaterThan,
19
- proc,
20
- min,
21
- abs,
22
- } from '../base';
23
- import AnimatedValue from '../core/InternalAnimatedValue';
24
-
25
- const MAX_STEPS_MS = 64;
26
-
27
- function spring(clock, state, config) {
28
- const lastTime = cond(state.time, state.time, clock);
29
-
30
- const deltaTime = min(sub(clock, lastTime), MAX_STEPS_MS);
31
-
32
- const c = config.damping;
33
- const m = config.mass;
34
- const k = config.stiffness;
35
-
36
- const v0 = multiply(-1, state.velocity);
37
- const x0 = sub(config.toValue, state.position);
38
-
39
- const zeta = divide(c, multiply(2, sqrt(multiply(k, m)))); // damping ratio
40
- const omega0 = sqrt(divide(k, m)); // undamped angular frequency of the oscillator (rad/ms)
41
- const omega1 = multiply(omega0, sqrt(sub(1, multiply(zeta, zeta)))); // exponential decay
42
-
43
- const t = divide(deltaTime, 1000); // in seconds
44
-
45
- const sin1 = sin(multiply(omega1, t));
46
- const cos1 = cos(multiply(omega1, t));
47
-
48
- // under damped
49
- const underDampedEnvelope = exp(multiply(-1, zeta, omega0, t));
50
- const underDampedFrag1 = multiply(
51
- underDampedEnvelope,
52
- add(
53
- multiply(sin1, divide(add(v0, multiply(zeta, omega0, x0)), omega1)),
54
- multiply(x0, cos1)
55
- )
56
- );
57
- const underDampedPosition = sub(config.toValue, underDampedFrag1);
58
- // This looks crazy -- it's actually just the derivative of the oscillation function
59
- const underDampedVelocity = sub(
60
- multiply(zeta, omega0, underDampedFrag1),
61
- multiply(
62
- underDampedEnvelope,
63
- sub(
64
- multiply(cos1, add(v0, multiply(zeta, omega0, x0))),
65
- multiply(omega1, x0, sin1)
66
- )
67
- )
68
- );
69
-
70
- // critically damped
71
- const criticallyDampedEnvelope = exp(multiply(-1, omega0, t));
72
- const criticallyDampedPosition = sub(
73
- config.toValue,
74
- multiply(
75
- criticallyDampedEnvelope,
76
- add(x0, multiply(add(v0, multiply(omega0, x0)), t))
77
- )
78
- );
79
- const criticallyDampedVelocity = multiply(
80
- criticallyDampedEnvelope,
81
- add(
82
- multiply(v0, sub(multiply(t, omega0), 1)),
83
- multiply(t, x0, omega0, omega0)
84
- )
85
- );
86
-
87
- // conditions for stopping the spring animations
88
- const prevPosition = state.prevPosition
89
- ? state.prevPosition
90
- : new AnimatedValue(0);
91
-
92
- const isOvershooting = cond(
93
- and(config.overshootClamping, neq(config.stiffness, 0)),
94
- cond(
95
- lessThan(prevPosition, config.toValue),
96
- greaterThan(state.position, config.toValue),
97
- lessThan(state.position, config.toValue)
98
- )
99
- );
100
- const isVelocity = lessThan(abs(state.velocity), config.restSpeedThreshold);
101
- const isDisplacement = or(
102
- eq(config.stiffness, 0),
103
- lessThan(
104
- abs(sub(config.toValue, state.position)),
105
- config.restDisplacementThreshold
106
- )
107
- );
108
-
109
- return block([
110
- set(prevPosition, state.position),
111
- cond(
112
- lessThan(zeta, 1),
113
- [
114
- set(state.position, underDampedPosition),
115
- set(state.velocity, underDampedVelocity),
116
- ],
117
- [
118
- set(state.position, criticallyDampedPosition),
119
- set(state.velocity, criticallyDampedVelocity),
120
- ]
121
- ),
122
- set(state.time, clock),
123
- cond(or(isOvershooting, and(isVelocity, isDisplacement)), [
124
- cond(neq(config.stiffness, 0), [
125
- set(state.velocity, 0),
126
- set(state.position, config.toValue),
127
- ]),
128
- set(state.finished, 1),
129
- ]),
130
- ]);
131
- }
132
-
133
- const procSpring = proc(
134
- (
135
- finished,
136
- velocity,
137
- position,
138
- time,
139
- prevPosition,
140
- toValue,
141
- damping,
142
- mass,
143
- stiffness,
144
- overshootClamping,
145
- restSpeedThreshold,
146
- restDisplacementThreshold,
147
- clock
148
- ) =>
149
- spring(
150
- clock,
151
- {
152
- finished,
153
- velocity,
154
- position,
155
- time,
156
- prevPosition,
157
- },
158
- {
159
- toValue,
160
- damping,
161
- mass,
162
- stiffness,
163
- overshootClamping,
164
- restDisplacementThreshold,
165
- restSpeedThreshold,
166
- }
167
- )
168
- );
169
-
170
- export default function springAnimation(
171
- clock,
172
- { finished, velocity, position, time, prevPosition },
173
- {
174
- toValue,
175
- damping,
176
- mass,
177
- stiffness,
178
- overshootClamping,
179
- restDisplacementThreshold,
180
- restSpeedThreshold,
181
- }
182
- ) {
183
- return procSpring(
184
- finished,
185
- velocity,
186
- position,
187
- time,
188
- prevPosition,
189
- toValue,
190
- damping,
191
- mass,
192
- stiffness,
193
- overshootClamping,
194
- restSpeedThreshold,
195
- restDisplacementThreshold,
196
- clock
197
- );
198
- }
@@ -1,74 +0,0 @@
1
- import {
2
- cond,
3
- sub,
4
- divide,
5
- multiply,
6
- add,
7
- block,
8
- set,
9
- greaterOrEq,
10
- proc,
11
- } from '../base';
12
-
13
- const internalTiming = proc(function (
14
- clock,
15
- time,
16
- frameTime,
17
- position,
18
- finished,
19
- toValue,
20
- duration,
21
- nextProgress,
22
- progress,
23
- newFrameTime
24
- ) {
25
- const state = {
26
- time,
27
- finished,
28
- frameTime,
29
- position,
30
- };
31
-
32
- const config = {
33
- duration,
34
- toValue,
35
- };
36
-
37
- const distanceLeft = sub(config.toValue, state.position);
38
- const fullDistance = divide(distanceLeft, sub(1, progress));
39
- const startPosition = sub(config.toValue, fullDistance);
40
- const nextPosition = add(startPosition, multiply(fullDistance, nextProgress));
41
-
42
- return block([
43
- cond(
44
- greaterOrEq(newFrameTime, config.duration),
45
- [set(state.position, config.toValue), set(state.finished, 1)],
46
- set(state.position, nextPosition)
47
- ),
48
- set(state.frameTime, newFrameTime),
49
- set(state.time, clock),
50
- ]);
51
- });
52
-
53
- export default function timing(clock, state, config) {
54
- if (config.duration === 0) {
55
- // when duration is zero we end the timing immediately
56
- return block([set(state.position, config.toValue), set(state.finished, 1)]);
57
- }
58
- const lastTime = cond(state.time, state.time, clock);
59
- const newFrameTime = add(state.frameTime, sub(clock, lastTime));
60
- const nextProgress = config.easing(divide(newFrameTime, config.duration));
61
- const progress = config.easing(divide(state.frameTime, config.duration));
62
- return internalTiming(
63
- clock,
64
- state.time,
65
- state.frameTime,
66
- state.position,
67
- state.finished,
68
- config.toValue,
69
- config.duration,
70
- nextProgress,
71
- progress,
72
- newFrameTime
73
- );
74
- }
@@ -1,13 +0,0 @@
1
- export { createAnimatedCond as cond } from './core/AnimatedCond';
2
- export { createAnimatedSet as set } from './core/AnimatedSet';
3
- export { createAnimatedStartClock as startClock } from './core/AnimatedStartClock';
4
- export { createAnimatedStopClock as stopClock } from './core/AnimatedStopClock';
5
- export { createAnimatedClockTest as clockRunning } from './core/AnimatedClockTest';
6
- export { createAnimatedDebug as debug } from './core/AnimatedDebug';
7
- export { createAnimatedCall as call } from './core/AnimatedCall';
8
- export { createAnimatedEvent as event } from './core/AnimatedEvent';
9
- export { createAnimatedAlways as always } from './core/AnimatedAlways';
10
- export { createAnimatedConcat as concat } from './core/AnimatedConcat';
11
- export { createAnimatedBlock as block, adapt } from './core/AnimatedBlock';
12
- export { createAnimatedFunction as proc } from './core/AnimatedFunction';
13
- export * from './operators';
@@ -1,33 +0,0 @@
1
- import AnimatedNode from './AnimatedNode';
2
- import invariant from 'invariant';
3
- import { val } from '../val';
4
-
5
- class AnimatedAlways extends AnimatedNode {
6
- _what;
7
-
8
- constructor(what) {
9
- invariant(
10
- what instanceof AnimatedNode,
11
- `Reanimated: Animated.always node argument should be of type AnimatedNode but got ${what}`
12
- );
13
- super({ type: 'always', what }, [what]);
14
- this._what = what;
15
- }
16
-
17
- toString() {
18
- return `AnimatedAlways, id: ${this.__nodeID}`;
19
- }
20
-
21
- update() {
22
- this.__getValue();
23
- }
24
-
25
- __onEvaluate() {
26
- val(this._what);
27
- return 0;
28
- }
29
- }
30
-
31
- export function createAnimatedAlways(item) {
32
- return new AnimatedAlways(item);
33
- }
@@ -1,150 +0,0 @@
1
- import { val } from '../val';
2
- import AnimatedNode from './AnimatedNode';
3
- import invariant from 'invariant';
4
-
5
- // These values are established by empiricism with tests (tradeoff: performance VS precision)
6
- var NEWTON_ITERATIONS = 4;
7
- var NEWTON_MIN_SLOPE = 0.001;
8
- var SUBDIVISION_PRECISION = 0.0000001;
9
- var SUBDIVISION_MAX_ITERATIONS = 10;
10
-
11
- var kSplineTableSize = 11;
12
- var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);
13
-
14
- var float32ArraySupported = typeof Float32Array === 'function';
15
-
16
- function A(aA1, aA2) {
17
- return 1.0 - 3.0 * aA2 + 3.0 * aA1;
18
- }
19
- function B(aA1, aA2) {
20
- return 3.0 * aA2 - 6.0 * aA1;
21
- }
22
- function C(aA1) {
23
- return 3.0 * aA1;
24
- }
25
-
26
- // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.
27
- function calcBezier(aT, aA1, aA2) {
28
- return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;
29
- }
30
-
31
- // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.
32
- function getSlope(aT, aA1, aA2) {
33
- return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1);
34
- }
35
-
36
- function binarySubdivide(aX, aA, aB, mX1, mX2) {
37
- var currentX = 0;
38
- var currentT = 0;
39
- var i = 0;
40
- do {
41
- currentT = aA + (aB - aA) / 2.0;
42
- currentX = calcBezier(currentT, mX1, mX2) - aX;
43
- if (currentX > 0.0) {
44
- aB = currentT;
45
- } else {
46
- aA = currentT;
47
- }
48
- } while (
49
- Math.abs(currentX) > SUBDIVISION_PRECISION &&
50
- ++i < SUBDIVISION_MAX_ITERATIONS
51
- );
52
- return currentT;
53
- }
54
-
55
- function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {
56
- for (var i = 0; i < NEWTON_ITERATIONS; ++i) {
57
- var currentSlope = getSlope(aGuessT, mX1, mX2);
58
- if (currentSlope === 0.0) {
59
- return aGuessT;
60
- }
61
- var currentX = calcBezier(aGuessT, mX1, mX2) - aX;
62
- aGuessT -= currentX / currentSlope;
63
- }
64
- return aGuessT;
65
- }
66
-
67
- function bezier(mX1, mY1, mX2, mY2) {
68
- // Precompute samples table
69
- var sampleValues = float32ArraySupported
70
- ? new Float32Array(kSplineTableSize)
71
- : new Array(kSplineTableSize);
72
- if (mX1 !== mY1 || mX2 !== mY2) {
73
- for (var i = 0; i < kSplineTableSize; ++i) {
74
- sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);
75
- }
76
- }
77
-
78
- function getTForX(aX) {
79
- var intervalStart = 0.0;
80
- var currentSample = 1;
81
- var lastSample = kSplineTableSize - 1;
82
-
83
- for (
84
- ;
85
- currentSample !== lastSample && sampleValues[currentSample] <= aX;
86
- ++currentSample
87
- ) {
88
- intervalStart += kSampleStepSize;
89
- }
90
- --currentSample;
91
-
92
- // Interpolate to provide an initial guess for t
93
- var dist =
94
- (aX - sampleValues[currentSample]) /
95
- (sampleValues[currentSample + 1] - sampleValues[currentSample]);
96
- var guessForT = intervalStart + dist * kSampleStepSize;
97
-
98
- var initialSlope = getSlope(guessForT, mX1, mX2);
99
- if (initialSlope >= NEWTON_MIN_SLOPE) {
100
- return newtonRaphsonIterate(aX, guessForT, mX1, mX2);
101
- } else if (initialSlope === 0.0) {
102
- return guessForT;
103
- } else {
104
- return binarySubdivide(
105
- aX,
106
- intervalStart,
107
- intervalStart + kSampleStepSize,
108
- mX1,
109
- mX2
110
- );
111
- }
112
- }
113
-
114
- return function BezierEasing(x) {
115
- if (mX1 === mY1 && mX2 === mY2) {
116
- return x; // linear
117
- }
118
- // Because JavaScript number are imprecise, we should guarantee the extremes are right.
119
- if (x === 0) {
120
- return 0;
121
- }
122
- if (x === 1) {
123
- return 1;
124
- }
125
- return calcBezier(getTForX(x), mY1, mY2);
126
- };
127
- }
128
-
129
- export default class AnimatedBezier extends AnimatedNode {
130
- _value;
131
- _bezier;
132
-
133
- constructor(value, mX1, mY1, mX2, mY2) {
134
- invariant(
135
- value instanceof AnimatedNode,
136
- `Reanimated: Bezier node argument should be of type AnimatedNode but got ${value}`
137
- );
138
- super({ type: 'bezier', mX1, mY1, mX2, mY2, input: value }, [value]);
139
- this._value = value;
140
- this._bezier = bezier(mX1, mY1, mX2, mY2);
141
- }
142
-
143
- toString() {
144
- return `AnimatedBezier, id: ${this.__nodeID}`;
145
- }
146
-
147
- __onEvaluate() {
148
- return this._bezier(val(this._value));
149
- }
150
- }
@@ -1,52 +0,0 @@
1
- import invariant from 'invariant';
2
- import { val } from '../val';
3
- import AnimatedNode from './AnimatedNode';
4
- import InternalAnimatedValue from './InternalAnimatedValue';
5
-
6
- class AnimatedBlock extends AnimatedNode {
7
- _array;
8
-
9
- constructor(array) {
10
- invariant(
11
- array.every((el) => el instanceof AnimatedNode),
12
- `Reanimated: Animated.block node argument should be an array with elements of type AnimatedNode. One or more of them are not AnimatedNodes`
13
- );
14
- super({ type: 'block', block: array }, array);
15
- this._array = array;
16
- }
17
-
18
- toString() {
19
- return `AnimatedBlock, id: ${this.__nodeID}`;
20
- }
21
-
22
- __onEvaluate() {
23
- let result;
24
- this._array.forEach((node) => {
25
- result = val(node);
26
- });
27
- return result;
28
- }
29
- }
30
-
31
- export function createAnimatedBlock(items) {
32
- return adapt(items);
33
- }
34
-
35
- function nodify(v) {
36
- if (typeof v === 'object' && v?.__isProxy) {
37
- if (!v.__val) {
38
- v.__val = new InternalAnimatedValue(0);
39
- }
40
- return v.__val;
41
- }
42
- // TODO: cache some typical static values (e.g. 0, 1, -1)
43
- return v instanceof AnimatedNode
44
- ? v
45
- : InternalAnimatedValue.valueForConstant(v);
46
- }
47
-
48
- export function adapt(v) {
49
- return Array.isArray(v)
50
- ? new AnimatedBlock(v.map((node) => adapt(node)))
51
- : nodify(v);
52
- }
@@ -1,55 +0,0 @@
1
- import invariant from 'invariant';
2
- import ReanimatedEventEmitter from '../../ReanimatedEventEmitter';
3
- import { val } from '../val';
4
- import AnimatedNode from './AnimatedNode';
5
-
6
- const NODE_MAPPING = new Map();
7
-
8
- function listener(data) {
9
- const node = NODE_MAPPING.get(data.id);
10
- node && node._callback(data.args);
11
- }
12
-
13
- class AnimatedCall extends AnimatedNode {
14
- _callback;
15
- _args;
16
-
17
- constructor(args, jsFunction) {
18
- invariant(
19
- args.every((el) => el instanceof AnimatedNode),
20
- `Reanimated: Animated.call node args should be an array with elements of type AnimatedNode. One or more of them are not AnimatedNodes`
21
- );
22
- super({ type: 'call', input: args }, args);
23
- this._callback = jsFunction;
24
- this._args = args;
25
- }
26
-
27
- toString() {
28
- return `AnimatedCall, id: ${this.__nodeID}`;
29
- }
30
-
31
- __attach() {
32
- super.__attach();
33
- NODE_MAPPING.set(this.__nodeID, this);
34
- if (NODE_MAPPING.size === 1) {
35
- ReanimatedEventEmitter.addListener('onReanimatedCall', listener);
36
- }
37
- }
38
-
39
- __detach() {
40
- NODE_MAPPING.delete(this.__nodeID);
41
- if (NODE_MAPPING.size === 0) {
42
- ReanimatedEventEmitter.removeAllListeners('onReanimatedCall');
43
- }
44
- super.__detach();
45
- }
46
-
47
- __onEvaluate() {
48
- this._callback(this._args.map(val));
49
- return 0;
50
- }
51
- }
52
-
53
- export function createAnimatedCall(args, func) {
54
- return new AnimatedCall(args, func);
55
- }
@@ -1,72 +0,0 @@
1
- import AnimatedNode, { getCallID, setCallID } from './AnimatedNode';
2
- import { adapt } from './AnimatedBlock';
3
- import { val } from '../val';
4
- import invariant from 'invariant';
5
-
6
- class AnimatedCallFunc extends AnimatedNode {
7
- _previousCallID;
8
- _what;
9
- _args;
10
- _params;
11
- constructor(what, args, params) {
12
- invariant(
13
- what instanceof AnimatedNode,
14
- `Reanimated: AnimatedCallFunc 'what' argument should be of type AnimatedNode but got ${what}`
15
- );
16
- invariant(
17
- args.every((el) => el instanceof AnimatedNode),
18
- `Reanimated: every AnimatedCallFunc 'args' argument should be of type AnimatedNode but got ${args}`
19
- );
20
- invariant(
21
- params.every((el) => el instanceof AnimatedNode),
22
- `Reanimated: every AnimatedCallFunc 'params' argument should be of type AnimatedNode but got ${params}`
23
- );
24
- super(
25
- {
26
- type: 'callfunc',
27
- what,
28
- args,
29
- params,
30
- },
31
- [...args]
32
- );
33
- this._what = what;
34
- this._args = args;
35
- this._params = params;
36
- }
37
-
38
- toString() {
39
- return `AnimatedCallFunc, id: ${this.__nodeID}`;
40
- }
41
-
42
- beginContext() {
43
- this._previousCallID = getCallID();
44
- setCallID(getCallID() + '/' + this.__nodeID);
45
-
46
- this._params.forEach((param, index) => {
47
- param.beginContext(this._args[index], this._previousCallID);
48
- });
49
- }
50
-
51
- endContext() {
52
- this._params.forEach((param) => {
53
- param.endContext();
54
- });
55
- setCallID(this._previousCallID);
56
- }
57
-
58
- __onEvaluate() {
59
- this.beginContext();
60
- const value = val(this._what);
61
- this.endContext();
62
- return value;
63
- }
64
- }
65
-
66
- export function createAnimatedCallFunc(proc, args, params) {
67
- return new AnimatedCallFunc(
68
- proc,
69
- args.map((p) => adapt(p)),
70
- params
71
- );
72
- }