react-native-reanimated 3.0.2 → 3.1.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 (473) hide show
  1. package/Common/cpp/Fabric/FabricUtils.h +1 -1
  2. package/Common/cpp/NativeModules/NativeReanimatedModule.cpp +38 -27
  3. package/Common/cpp/SharedItems/Shareables.h +22 -0
  4. package/Common/cpp/Tools/PlatformDepMethodsHolder.h +2 -0
  5. package/Common/cpp/Tools/RuntimeDecorator.cpp +4 -1
  6. package/Common/cpp/Tools/RuntimeDecorator.h +2 -1
  7. package/Common/cpp/Tools/SingleInstanceChecker.h +14 -2
  8. package/RNReanimated.podspec +5 -2
  9. package/android/CMakeLists.txt +4 -0
  10. package/android/build.gradle +18 -10
  11. package/android/src/main/cpp/NativeProxy.cpp +316 -337
  12. package/android/src/main/cpp/NativeProxy.h +53 -11
  13. package/android/src/main/java/com/swmansion/reanimated/NativeMethodsHelper.java +7 -12
  14. package/android/src/main/java/com/swmansion/reanimated/NodesManager.java +11 -8
  15. package/android/src/main/java/com/swmansion/reanimated/nativeProxy/NativeProxyCommon.java +21 -14
  16. package/android/src/paper/java/com/swmansion/reanimated/NativeProxy.java +0 -3
  17. package/ios/Fabric/REAInitializerRCTFabricSurface.mm +1 -0
  18. package/ios/REANodesManager.h +1 -0
  19. package/ios/REANodesManager.mm +30 -4
  20. package/ios/keyboardObserver/REAKeyboardEventObserver.m +51 -130
  21. package/ios/native/NativeMethods.mm +1 -1
  22. package/ios/native/NativeProxy.mm +4 -1
  23. package/ios/native/REAIOSErrorHandler.mm +1 -1
  24. package/ios/native/REAIOSLogger.mm +1 -1
  25. package/ios/native/REAIOSScheduler.mm +1 -1
  26. package/ios/native/REAInitializer.mm +1 -1
  27. package/ios/native/REAMessageThread.mm +2 -2
  28. package/lib/commonjs/Animated.js +0 -8
  29. package/lib/commonjs/Animated.js.map +1 -1
  30. package/lib/commonjs/ConfigHelper.js +8 -19
  31. package/lib/commonjs/ConfigHelper.js.map +1 -1
  32. package/lib/commonjs/createAnimatedComponent.js +20 -158
  33. package/lib/commonjs/createAnimatedComponent.js.map +1 -1
  34. package/lib/commonjs/index.js +0 -9
  35. package/lib/commonjs/index.js.map +1 -1
  36. package/lib/commonjs/index.web.js +0 -7
  37. package/lib/commonjs/index.web.js.map +1 -1
  38. package/lib/commonjs/reanimated2/Bezier.js +14 -34
  39. package/lib/commonjs/reanimated2/Bezier.js.map +1 -1
  40. package/lib/commonjs/reanimated2/Colors.js +60 -132
  41. package/lib/commonjs/reanimated2/Colors.js.map +1 -1
  42. package/lib/commonjs/reanimated2/Easing.js +81 -34
  43. package/lib/commonjs/reanimated2/Easing.js.map +1 -1
  44. package/lib/commonjs/reanimated2/NativeMethods.js +8 -20
  45. package/lib/commonjs/reanimated2/NativeMethods.js.map +1 -1
  46. package/lib/commonjs/reanimated2/NativeReanimated/NativeReanimated.js +5 -31
  47. package/lib/commonjs/reanimated2/NativeReanimated/NativeReanimated.js.map +1 -1
  48. package/lib/commonjs/reanimated2/NativeReanimated/index.js +0 -7
  49. package/lib/commonjs/reanimated2/NativeReanimated/index.js.map +1 -1
  50. package/lib/commonjs/reanimated2/PlatformChecker.js +0 -6
  51. package/lib/commonjs/reanimated2/PlatformChecker.js.map +1 -1
  52. package/lib/commonjs/reanimated2/PropAdapters.js +10 -12
  53. package/lib/commonjs/reanimated2/PropAdapters.js.map +1 -1
  54. package/lib/commonjs/reanimated2/UpdateProps.js +3 -12
  55. package/lib/commonjs/reanimated2/UpdateProps.js.map +1 -1
  56. package/lib/commonjs/reanimated2/ViewDescriptorsSet.js +0 -10
  57. package/lib/commonjs/reanimated2/ViewDescriptorsSet.js.map +1 -1
  58. package/lib/commonjs/reanimated2/WorkletEventHandler.js +5 -22
  59. package/lib/commonjs/reanimated2/WorkletEventHandler.js.map +1 -1
  60. package/lib/commonjs/reanimated2/animation/decay.js +7 -18
  61. package/lib/commonjs/reanimated2/animation/decay.js.map +1 -1
  62. package/lib/commonjs/reanimated2/animation/delay.js +0 -11
  63. package/lib/commonjs/reanimated2/animation/delay.js.map +1 -1
  64. package/lib/commonjs/reanimated2/animation/index.js +0 -8
  65. package/lib/commonjs/reanimated2/animation/index.js.map +1 -1
  66. package/lib/commonjs/reanimated2/animation/repeat.js +6 -22
  67. package/lib/commonjs/reanimated2/animation/repeat.js.map +1 -1
  68. package/lib/commonjs/reanimated2/animation/sequence.js +3 -20
  69. package/lib/commonjs/reanimated2/animation/sequence.js.map +1 -1
  70. package/lib/commonjs/reanimated2/animation/spring.js +11 -23
  71. package/lib/commonjs/reanimated2/animation/spring.js.map +1 -1
  72. package/lib/commonjs/reanimated2/animation/styleAnimation.js +3 -35
  73. package/lib/commonjs/reanimated2/animation/styleAnimation.js.map +1 -1
  74. package/lib/commonjs/reanimated2/animation/timing.js +0 -11
  75. package/lib/commonjs/reanimated2/animation/timing.js.map +1 -1
  76. package/lib/commonjs/reanimated2/animation/util.js +11 -41
  77. package/lib/commonjs/reanimated2/animation/util.js.map +1 -1
  78. package/lib/commonjs/reanimated2/commonTypes.js +16 -23
  79. package/lib/commonjs/reanimated2/commonTypes.js.map +1 -1
  80. package/lib/commonjs/reanimated2/component/FlatList.js +0 -16
  81. package/lib/commonjs/reanimated2/component/FlatList.js.map +1 -1
  82. package/lib/commonjs/reanimated2/component/Image.js +0 -4
  83. package/lib/commonjs/reanimated2/component/Image.js.map +1 -1
  84. package/lib/commonjs/reanimated2/component/ScrollView.js +0 -4
  85. package/lib/commonjs/reanimated2/component/ScrollView.js.map +1 -1
  86. package/lib/commonjs/reanimated2/component/Text.js +0 -4
  87. package/lib/commonjs/reanimated2/component/Text.js.map +1 -1
  88. package/lib/commonjs/reanimated2/component/View.js +0 -4
  89. package/lib/commonjs/reanimated2/component/View.js.map +1 -1
  90. package/lib/commonjs/reanimated2/core.js +6 -48
  91. package/lib/commonjs/reanimated2/core.js.map +1 -1
  92. package/lib/commonjs/reanimated2/errors.js +3 -14
  93. package/lib/commonjs/reanimated2/errors.js.map +1 -1
  94. package/lib/commonjs/reanimated2/fabricUtils.js +3 -5
  95. package/lib/commonjs/reanimated2/fabricUtils.js.map +1 -1
  96. package/lib/commonjs/reanimated2/fabricUtils.web.js +1 -3
  97. package/lib/commonjs/reanimated2/fabricUtils.web.js.map +1 -1
  98. package/lib/commonjs/reanimated2/frameCallback/FrameCallbackRegistryJS.js +3 -12
  99. package/lib/commonjs/reanimated2/frameCallback/FrameCallbackRegistryJS.js.map +1 -1
  100. package/lib/commonjs/reanimated2/frameCallback/FrameCallbackRegistryUI.js +13 -17
  101. package/lib/commonjs/reanimated2/frameCallback/FrameCallbackRegistryUI.js.map +1 -1
  102. package/lib/commonjs/reanimated2/globals.d.js.map +1 -1
  103. package/lib/commonjs/reanimated2/hook/Hooks.js +0 -5
  104. package/lib/commonjs/reanimated2/hook/Hooks.js.map +1 -1
  105. package/lib/commonjs/reanimated2/hook/commonTypes.js.map +1 -1
  106. package/lib/commonjs/reanimated2/hook/index.js +0 -12
  107. package/lib/commonjs/reanimated2/hook/index.js.map +1 -1
  108. package/lib/commonjs/reanimated2/hook/useAnimatedGestureHandler.js +4 -17
  109. package/lib/commonjs/reanimated2/hook/useAnimatedGestureHandler.js.map +1 -1
  110. package/lib/commonjs/reanimated2/hook/useAnimatedKeyboard.js +2 -9
  111. package/lib/commonjs/reanimated2/hook/useAnimatedKeyboard.js.map +1 -1
  112. package/lib/commonjs/reanimated2/hook/useAnimatedReaction.js +1 -11
  113. package/lib/commonjs/reanimated2/hook/useAnimatedReaction.js.map +1 -1
  114. package/lib/commonjs/reanimated2/hook/useAnimatedRef.js +0 -12
  115. package/lib/commonjs/reanimated2/hook/useAnimatedRef.js.map +1 -1
  116. package/lib/commonjs/reanimated2/hook/useAnimatedScrollHandler.js +2 -9
  117. package/lib/commonjs/reanimated2/hook/useAnimatedScrollHandler.js.map +1 -1
  118. package/lib/commonjs/reanimated2/hook/useAnimatedSensor.js +8 -23
  119. package/lib/commonjs/reanimated2/hook/useAnimatedSensor.js.map +1 -1
  120. package/lib/commonjs/reanimated2/hook/useAnimatedStyle.js +13 -71
  121. package/lib/commonjs/reanimated2/hook/useAnimatedStyle.js.map +1 -1
  122. package/lib/commonjs/reanimated2/hook/useDerivedValue.js +4 -13
  123. package/lib/commonjs/reanimated2/hook/useDerivedValue.js.map +1 -1
  124. package/lib/commonjs/reanimated2/hook/useFrameCallback.js +0 -5
  125. package/lib/commonjs/reanimated2/hook/useFrameCallback.js.map +1 -1
  126. package/lib/commonjs/reanimated2/hook/useScrollViewOffset.js +0 -7
  127. package/lib/commonjs/reanimated2/hook/useScrollViewOffset.js.map +1 -1
  128. package/lib/commonjs/reanimated2/hook/useSharedValue.js +2 -7
  129. package/lib/commonjs/reanimated2/hook/useSharedValue.js.map +1 -1
  130. package/lib/commonjs/reanimated2/hook/utils.js +8 -39
  131. package/lib/commonjs/reanimated2/hook/utils.js.map +1 -1
  132. package/lib/commonjs/reanimated2/index.js +0 -26
  133. package/lib/commonjs/reanimated2/index.js.map +1 -1
  134. package/lib/commonjs/reanimated2/initializers.js +21 -43
  135. package/lib/commonjs/reanimated2/initializers.js.map +1 -1
  136. package/lib/commonjs/reanimated2/interpolateColor.js +6 -43
  137. package/lib/commonjs/reanimated2/interpolateColor.js.map +1 -1
  138. package/lib/commonjs/reanimated2/interpolation.js +14 -29
  139. package/lib/commonjs/reanimated2/interpolation.js.map +1 -1
  140. package/lib/commonjs/reanimated2/jestUtils.js +11 -44
  141. package/lib/commonjs/reanimated2/jestUtils.js.map +1 -1
  142. package/lib/commonjs/reanimated2/js-reanimated/JSReanimated.js +15 -39
  143. package/lib/commonjs/reanimated2/js-reanimated/JSReanimated.js.map +1 -1
  144. package/lib/commonjs/reanimated2/js-reanimated/Mapper.js +9 -28
  145. package/lib/commonjs/reanimated2/js-reanimated/Mapper.js.map +1 -1
  146. package/lib/commonjs/reanimated2/js-reanimated/MapperRegistry.js +7 -37
  147. package/lib/commonjs/reanimated2/js-reanimated/MapperRegistry.js.map +1 -1
  148. package/lib/commonjs/reanimated2/js-reanimated/MutableValue.js +5 -18
  149. package/lib/commonjs/reanimated2/js-reanimated/MutableValue.js.map +1 -1
  150. package/lib/commonjs/reanimated2/js-reanimated/global.js +2 -9
  151. package/lib/commonjs/reanimated2/js-reanimated/global.js.map +1 -1
  152. package/lib/commonjs/reanimated2/js-reanimated/index.js +3 -14
  153. package/lib/commonjs/reanimated2/js-reanimated/index.js.map +1 -1
  154. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js +7 -26
  155. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js.map +1 -1
  156. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js +3 -49
  157. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js.map +1 -1
  158. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/Keyframe.js +7 -43
  159. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/Keyframe.js.map +1 -1
  160. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/commonTypes.js +4 -5
  161. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/commonTypes.js.map +1 -1
  162. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/index.js +0 -4
  163. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/index.js.map +1 -1
  164. package/lib/commonjs/reanimated2/layoutReanimation/animationsManager.js +4 -23
  165. package/lib/commonjs/reanimated2/layoutReanimation/animationsManager.js.map +1 -1
  166. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Bounce.js +3 -74
  167. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Bounce.js.map +1 -1
  168. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Fade.js +3 -53
  169. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Fade.js.map +1 -1
  170. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Flip.js +3 -63
  171. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Flip.js.map +1 -1
  172. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js +7 -26
  173. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js.map +1 -1
  174. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js +3 -13
  175. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js.map +1 -1
  176. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Roll.js +3 -23
  177. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Roll.js.map +1 -1
  178. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Rotate.js +3 -43
  179. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Rotate.js.map +1 -1
  180. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Slide.js +3 -43
  181. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Slide.js.map +1 -1
  182. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Stretch.js +3 -23
  183. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Stretch.js.map +1 -1
  184. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Zoom.js +3 -83
  185. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Zoom.js.map +1 -1
  186. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/index.js +0 -20
  187. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/index.js.map +1 -1
  188. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js +3 -22
  189. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js.map +1 -1
  190. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js +5 -29
  191. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js.map +1 -1
  192. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js +3 -9
  193. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js.map +1 -1
  194. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js +5 -11
  195. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js.map +1 -1
  196. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js +3 -8
  197. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js.map +1 -1
  198. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js +3 -12
  199. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js.map +1 -1
  200. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/index.js +0 -12
  201. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/index.js.map +1 -1
  202. package/lib/commonjs/reanimated2/layoutReanimation/index.js +0 -9
  203. package/lib/commonjs/reanimated2/layoutReanimation/index.js.map +1 -1
  204. package/lib/commonjs/reanimated2/layoutReanimation/sharedTransitions/index.js +3 -17
  205. package/lib/commonjs/reanimated2/layoutReanimation/sharedTransitions/index.js.map +1 -1
  206. package/lib/commonjs/reanimated2/mappers.js +26 -32
  207. package/lib/commonjs/reanimated2/mappers.js.map +1 -1
  208. package/lib/commonjs/reanimated2/mock.js +5 -15
  209. package/lib/commonjs/reanimated2/mock.js.map +1 -1
  210. package/lib/commonjs/reanimated2/mutables.js +2 -28
  211. package/lib/commonjs/reanimated2/mutables.js.map +1 -1
  212. package/lib/commonjs/reanimated2/platform-specific/RNRenderer.js +0 -2
  213. package/lib/commonjs/reanimated2/platform-specific/RNRenderer.js.map +1 -1
  214. package/lib/commonjs/reanimated2/platform-specific/RNRenderer.web.js.map +1 -1
  215. package/lib/commonjs/reanimated2/platform-specific/checkCppVersion.js +31 -0
  216. package/lib/commonjs/reanimated2/platform-specific/checkCppVersion.js.map +1 -0
  217. package/lib/commonjs/reanimated2/platform-specific/checkVersion.web.js +0 -2
  218. package/lib/commonjs/reanimated2/platform-specific/checkVersion.web.js.map +1 -1
  219. package/lib/commonjs/reanimated2/platform-specific/jsVersion.js +14 -0
  220. package/lib/commonjs/reanimated2/platform-specific/jsVersion.js.map +1 -0
  221. package/lib/commonjs/reanimated2/pluginUtils.js +0 -1
  222. package/lib/commonjs/reanimated2/pluginUtils.js.map +1 -1
  223. package/lib/commonjs/reanimated2/shareables.js +92 -49
  224. package/lib/commonjs/reanimated2/shareables.js.map +1 -1
  225. package/lib/commonjs/reanimated2/threads.js +42 -46
  226. package/lib/commonjs/reanimated2/threads.js.map +1 -1
  227. package/lib/commonjs/reanimated2/utils.js +0 -5
  228. package/lib/commonjs/reanimated2/utils.js.map +1 -1
  229. package/lib/commonjs/reanimated2/valueSetter.js +6 -21
  230. package/lib/commonjs/reanimated2/valueSetter.js.map +1 -1
  231. package/lib/commonjs/setAndForwardRef.js +3 -3
  232. package/lib/commonjs/setAndForwardRef.js.map +1 -1
  233. package/lib/module/Animated.js.map +1 -1
  234. package/lib/module/ConfigHelper.js +9 -15
  235. package/lib/module/ConfigHelper.js.map +1 -1
  236. package/lib/module/createAnimatedComponent.js +20 -139
  237. package/lib/module/createAnimatedComponent.js.map +1 -1
  238. package/lib/module/index.js +0 -2
  239. package/lib/module/index.js.map +1 -1
  240. package/lib/module/index.web.js.map +1 -1
  241. package/lib/module/reanimated2/Bezier.js +14 -33
  242. package/lib/module/reanimated2/Bezier.js.map +1 -1
  243. package/lib/module/reanimated2/Colors.js +59 -109
  244. package/lib/module/reanimated2/Colors.js.map +1 -1
  245. package/lib/module/reanimated2/Easing.js +37 -33
  246. package/lib/module/reanimated2/Easing.js.map +1 -1
  247. package/lib/module/reanimated2/NativeMethods.js +8 -15
  248. package/lib/module/reanimated2/NativeMethods.js.map +1 -1
  249. package/lib/module/reanimated2/NativeReanimated/NativeReanimated.js +5 -27
  250. package/lib/module/reanimated2/NativeReanimated/NativeReanimated.js.map +1 -1
  251. package/lib/module/reanimated2/NativeReanimated/index.js +0 -2
  252. package/lib/module/reanimated2/NativeReanimated/index.js.map +1 -1
  253. package/lib/module/reanimated2/PlatformChecker.js.map +1 -1
  254. package/lib/module/reanimated2/PropAdapters.js +12 -10
  255. package/lib/module/reanimated2/PropAdapters.js.map +1 -1
  256. package/lib/module/reanimated2/UpdateProps.js +3 -5
  257. package/lib/module/reanimated2/UpdateProps.js.map +1 -1
  258. package/lib/module/reanimated2/ViewDescriptorsSet.js +0 -6
  259. package/lib/module/reanimated2/ViewDescriptorsSet.js.map +1 -1
  260. package/lib/module/reanimated2/WorkletEventHandler.js +5 -18
  261. package/lib/module/reanimated2/WorkletEventHandler.js.map +1 -1
  262. package/lib/module/reanimated2/animation/decay.js +7 -15
  263. package/lib/module/reanimated2/animation/decay.js.map +1 -1
  264. package/lib/module/reanimated2/animation/delay.js +0 -9
  265. package/lib/module/reanimated2/animation/delay.js.map +1 -1
  266. package/lib/module/reanimated2/animation/index.js.map +1 -1
  267. package/lib/module/reanimated2/animation/repeat.js +6 -20
  268. package/lib/module/reanimated2/animation/repeat.js.map +1 -1
  269. package/lib/module/reanimated2/animation/sequence.js +3 -18
  270. package/lib/module/reanimated2/animation/sequence.js.map +1 -1
  271. package/lib/module/reanimated2/animation/spring.js +11 -21
  272. package/lib/module/reanimated2/animation/spring.js.map +1 -1
  273. package/lib/module/reanimated2/animation/styleAnimation.js +7 -31
  274. package/lib/module/reanimated2/animation/styleAnimation.js.map +1 -1
  275. package/lib/module/reanimated2/animation/timing.js +0 -8
  276. package/lib/module/reanimated2/animation/timing.js.map +1 -1
  277. package/lib/module/reanimated2/animation/util.js +10 -33
  278. package/lib/module/reanimated2/animation/util.js.map +1 -1
  279. package/lib/module/reanimated2/commonTypes.js +12 -19
  280. package/lib/module/reanimated2/commonTypes.js.map +1 -1
  281. package/lib/module/reanimated2/component/FlatList.js +0 -4
  282. package/lib/module/reanimated2/component/FlatList.js.map +1 -1
  283. package/lib/module/reanimated2/component/Image.js.map +1 -1
  284. package/lib/module/reanimated2/component/ScrollView.js.map +1 -1
  285. package/lib/module/reanimated2/component/Text.js.map +1 -1
  286. package/lib/module/reanimated2/component/View.js.map +1 -1
  287. package/lib/module/reanimated2/core.js +6 -22
  288. package/lib/module/reanimated2/core.js.map +1 -1
  289. package/lib/module/reanimated2/errors.js +3 -13
  290. package/lib/module/reanimated2/errors.js.map +1 -1
  291. package/lib/module/reanimated2/fabricUtils.js +3 -3
  292. package/lib/module/reanimated2/fabricUtils.js.map +1 -1
  293. package/lib/module/reanimated2/fabricUtils.web.js +1 -1
  294. package/lib/module/reanimated2/fabricUtils.web.js.map +1 -1
  295. package/lib/module/reanimated2/frameCallback/FrameCallbackRegistryJS.js +3 -8
  296. package/lib/module/reanimated2/frameCallback/FrameCallbackRegistryJS.js.map +1 -1
  297. package/lib/module/reanimated2/frameCallback/FrameCallbackRegistryUI.js +13 -15
  298. package/lib/module/reanimated2/frameCallback/FrameCallbackRegistryUI.js.map +1 -1
  299. package/lib/module/reanimated2/globals.d.js.map +1 -1
  300. package/lib/module/reanimated2/hook/Hooks.js +3 -2
  301. package/lib/module/reanimated2/hook/Hooks.js.map +1 -1
  302. package/lib/module/reanimated2/hook/commonTypes.js.map +1 -1
  303. package/lib/module/reanimated2/hook/index.js.map +1 -1
  304. package/lib/module/reanimated2/hook/useAnimatedGestureHandler.js +3 -14
  305. package/lib/module/reanimated2/hook/useAnimatedGestureHandler.js.map +1 -1
  306. package/lib/module/reanimated2/hook/useAnimatedKeyboard.js +2 -5
  307. package/lib/module/reanimated2/hook/useAnimatedKeyboard.js.map +1 -1
  308. package/lib/module/reanimated2/hook/useAnimatedReaction.js +1 -7
  309. package/lib/module/reanimated2/hook/useAnimatedReaction.js.map +1 -1
  310. package/lib/module/reanimated2/hook/useAnimatedRef.js +0 -6
  311. package/lib/module/reanimated2/hook/useAnimatedRef.js.map +1 -1
  312. package/lib/module/reanimated2/hook/useAnimatedScrollHandler.js +2 -7
  313. package/lib/module/reanimated2/hook/useAnimatedScrollHandler.js.map +1 -1
  314. package/lib/module/reanimated2/hook/useAnimatedSensor.js +9 -20
  315. package/lib/module/reanimated2/hook/useAnimatedSensor.js.map +1 -1
  316. package/lib/module/reanimated2/hook/useAnimatedStyle.js +13 -59
  317. package/lib/module/reanimated2/hook/useAnimatedStyle.js.map +1 -1
  318. package/lib/module/reanimated2/hook/useDerivedValue.js +4 -8
  319. package/lib/module/reanimated2/hook/useDerivedValue.js.map +1 -1
  320. package/lib/module/reanimated2/hook/useFrameCallback.js.map +1 -1
  321. package/lib/module/reanimated2/hook/useScrollViewOffset.js +0 -1
  322. package/lib/module/reanimated2/hook/useScrollViewOffset.js.map +1 -1
  323. package/lib/module/reanimated2/hook/useSharedValue.js +2 -3
  324. package/lib/module/reanimated2/hook/useSharedValue.js.map +1 -1
  325. package/lib/module/reanimated2/hook/utils.js +8 -21
  326. package/lib/module/reanimated2/hook/utils.js.map +1 -1
  327. package/lib/module/reanimated2/index.js.map +1 -1
  328. package/lib/module/reanimated2/initializers.js +23 -37
  329. package/lib/module/reanimated2/initializers.js.map +1 -1
  330. package/lib/module/reanimated2/interpolateColor.js +5 -34
  331. package/lib/module/reanimated2/interpolateColor.js.map +1 -1
  332. package/lib/module/reanimated2/interpolation.js +13 -28
  333. package/lib/module/reanimated2/interpolation.js.map +1 -1
  334. package/lib/module/reanimated2/jestUtils.js +11 -35
  335. package/lib/module/reanimated2/jestUtils.js.map +1 -1
  336. package/lib/module/reanimated2/js-reanimated/JSReanimated.js +15 -35
  337. package/lib/module/reanimated2/js-reanimated/JSReanimated.js.map +1 -1
  338. package/lib/module/reanimated2/js-reanimated/Mapper.js +9 -23
  339. package/lib/module/reanimated2/js-reanimated/Mapper.js.map +1 -1
  340. package/lib/module/reanimated2/js-reanimated/MapperRegistry.js +7 -35
  341. package/lib/module/reanimated2/js-reanimated/MapperRegistry.js.map +1 -1
  342. package/lib/module/reanimated2/js-reanimated/MutableValue.js +5 -16
  343. package/lib/module/reanimated2/js-reanimated/MutableValue.js.map +1 -1
  344. package/lib/module/reanimated2/js-reanimated/global.js +2 -6
  345. package/lib/module/reanimated2/js-reanimated/global.js.map +1 -1
  346. package/lib/module/reanimated2/js-reanimated/index.js +3 -9
  347. package/lib/module/reanimated2/js-reanimated/index.js.map +1 -1
  348. package/lib/module/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js +7 -23
  349. package/lib/module/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js.map +1 -1
  350. package/lib/module/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js +3 -45
  351. package/lib/module/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js.map +1 -1
  352. package/lib/module/reanimated2/layoutReanimation/animationBuilder/Keyframe.js +7 -39
  353. package/lib/module/reanimated2/layoutReanimation/animationBuilder/Keyframe.js.map +1 -1
  354. package/lib/module/reanimated2/layoutReanimation/animationBuilder/commonTypes.js +3 -3
  355. package/lib/module/reanimated2/layoutReanimation/animationBuilder/commonTypes.js.map +1 -1
  356. package/lib/module/reanimated2/layoutReanimation/animationBuilder/index.js.map +1 -1
  357. package/lib/module/reanimated2/layoutReanimation/animationsManager.js +4 -19
  358. package/lib/module/reanimated2/layoutReanimation/animationsManager.js.map +1 -1
  359. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Bounce.js +3 -52
  360. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Bounce.js.map +1 -1
  361. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Fade.js +3 -32
  362. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Fade.js.map +1 -1
  363. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Flip.js +3 -38
  364. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Flip.js.map +1 -1
  365. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js +7 -16
  366. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js.map +1 -1
  367. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js +3 -8
  368. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js.map +1 -1
  369. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Roll.js +3 -14
  370. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Roll.js.map +1 -1
  371. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Rotate.js +3 -26
  372. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Rotate.js.map +1 -1
  373. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Slide.js +3 -26
  374. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Slide.js.map +1 -1
  375. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Stretch.js +3 -14
  376. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Stretch.js.map +1 -1
  377. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Zoom.js +3 -50
  378. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Zoom.js.map +1 -1
  379. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/index.js.map +1 -1
  380. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js +3 -17
  381. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js.map +1 -1
  382. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js +5 -23
  383. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js.map +1 -1
  384. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js +3 -5
  385. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js.map +1 -1
  386. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js +5 -6
  387. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js.map +1 -1
  388. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js +3 -5
  389. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js.map +1 -1
  390. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js +3 -8
  391. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js.map +1 -1
  392. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/index.js.map +1 -1
  393. package/lib/module/reanimated2/layoutReanimation/index.js.map +1 -1
  394. package/lib/module/reanimated2/layoutReanimation/sharedTransitions/index.js +3 -13
  395. package/lib/module/reanimated2/layoutReanimation/sharedTransitions/index.js.map +1 -1
  396. package/lib/module/reanimated2/mappers.js +26 -25
  397. package/lib/module/reanimated2/mappers.js.map +1 -1
  398. package/lib/module/reanimated2/mock.js +5 -15
  399. package/lib/module/reanimated2/mock.js.map +1 -1
  400. package/lib/module/reanimated2/mutables.js +2 -19
  401. package/lib/module/reanimated2/mutables.js.map +1 -1
  402. package/lib/module/reanimated2/platform-specific/RNRenderer.js.map +1 -1
  403. package/lib/module/reanimated2/platform-specific/RNRenderer.web.js.map +1 -1
  404. package/lib/module/reanimated2/platform-specific/checkCppVersion.js +24 -0
  405. package/lib/module/reanimated2/platform-specific/checkCppVersion.js.map +1 -0
  406. package/lib/module/reanimated2/platform-specific/checkVersion.web.js +0 -1
  407. package/lib/module/reanimated2/platform-specific/checkVersion.web.js.map +1 -1
  408. package/lib/module/reanimated2/platform-specific/jsVersion.js +7 -0
  409. package/lib/module/reanimated2/platform-specific/jsVersion.js.map +1 -0
  410. package/lib/module/reanimated2/pluginUtils.js.map +1 -1
  411. package/lib/module/reanimated2/shareables.js +96 -44
  412. package/lib/module/reanimated2/shareables.js.map +1 -1
  413. package/lib/module/reanimated2/threads.js +39 -33
  414. package/lib/module/reanimated2/threads.js.map +1 -1
  415. package/lib/module/reanimated2/utils.js +0 -3
  416. package/lib/module/reanimated2/utils.js.map +1 -1
  417. package/lib/module/reanimated2/valueSetter.js +6 -19
  418. package/lib/module/reanimated2/valueSetter.js.map +1 -1
  419. package/lib/module/setAndForwardRef.js +3 -2
  420. package/lib/module/setAndForwardRef.js.map +1 -1
  421. package/package.json +46 -40
  422. package/plugin/.eslintrc.js +7 -0
  423. package/plugin/README.md +241 -0
  424. package/plugin/build/plugin.js +714 -0
  425. package/plugin/build/plugin.js.map +7 -0
  426. package/plugin/index.js +1 -807
  427. package/plugin/package.json +23 -0
  428. package/plugin/src/buildWorkletString.ts +213 -0
  429. package/plugin/src/commonObjects.ts +60 -0
  430. package/plugin/src/injectVersion.ts +37 -0
  431. package/plugin/src/makeWorklet.ts +375 -0
  432. package/plugin/src/plugin.ts +49 -0
  433. package/plugin/src/processForCalleesWorklets.ts +106 -0
  434. package/plugin/src/processIfGestureHandlerEventCallbackFunctionNode.ts +156 -0
  435. package/plugin/src/processIfWorkletFunction.ts +55 -0
  436. package/plugin/src/processIfWorkletNode.ts +44 -0
  437. package/plugin/src/processInlineStylesWarning.ts +129 -0
  438. package/plugin/src/processWorkletObjectMethod.ts +31 -0
  439. package/plugin/src/types.ts +15 -0
  440. package/plugin/src/utils.ts +6 -0
  441. package/plugin/tsconfig.json +15 -0
  442. package/plugin/yarn.lock +2193 -0
  443. package/react-native-reanimated.d.ts +1 -0
  444. package/scripts/reanimated_utils.rb +2 -2
  445. package/src/createAnimatedComponent.tsx +2 -3
  446. package/src/reanimated2/Easing.ts +19 -0
  447. package/src/reanimated2/NativeMethods.ts +9 -4
  448. package/src/reanimated2/NativeReanimated/NativeReanimated.ts +2 -2
  449. package/src/reanimated2/UpdateProps.ts +2 -2
  450. package/src/reanimated2/animation/decay.ts +7 -1
  451. package/src/reanimated2/animation/styleAnimation.ts +5 -1
  452. package/src/reanimated2/core.ts +4 -4
  453. package/src/reanimated2/errors.ts +1 -0
  454. package/src/reanimated2/frameCallback/FrameCallbackRegistryUI.ts +12 -4
  455. package/src/reanimated2/globals.d.ts +71 -112
  456. package/src/reanimated2/hook/commonTypes.ts +1 -1
  457. package/src/reanimated2/hook/useAnimatedReaction.ts +2 -2
  458. package/src/reanimated2/hook/useAnimatedSensor.ts +2 -2
  459. package/src/reanimated2/initializers.ts +11 -8
  460. package/src/reanimated2/jestUtils.ts +0 -1
  461. package/src/reanimated2/js-reanimated/JSReanimated.ts +5 -1
  462. package/src/reanimated2/js-reanimated/index.ts +1 -1
  463. package/src/reanimated2/mappers.ts +26 -4
  464. package/src/reanimated2/mock.ts +1 -0
  465. package/src/reanimated2/platform-specific/checkCppVersion.ts +29 -0
  466. package/src/reanimated2/platform-specific/jsVersion.ts +6 -0
  467. package/src/reanimated2/shareables.ts +107 -8
  468. package/src/reanimated2/threads.ts +36 -17
  469. package/lib/commonjs/reanimated2/platform-specific/checkVersion.js +0 -42
  470. package/lib/commonjs/reanimated2/platform-specific/checkVersion.js.map +0 -1
  471. package/lib/module/reanimated2/platform-specific/checkVersion.js +0 -35
  472. package/lib/module/reanimated2/platform-specific/checkVersion.js.map +0 -1
  473. package/src/reanimated2/platform-specific/checkVersion.ts +0 -39
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/commonObjects.ts", "../src/utils.ts", "../src/buildWorkletString.ts", "../src/makeWorklet.ts", "../src/processWorkletObjectMethod.ts", "../src/processIfWorkletFunction.ts", "../src/processForCalleesWorklets.ts", "../src/processIfWorkletNode.ts", "../src/processIfGestureHandlerEventCallbackFunctionNode.ts", "../src/processInlineStylesWarning.ts", "../src/plugin.ts"],
4
+ "sourcesContent": ["export const globals = new Set([\n 'this',\n 'console',\n 'performance',\n 'Date',\n 'Array',\n 'ArrayBuffer',\n 'Int8Array',\n 'Int16Array',\n 'Int32Array',\n 'Uint8Array',\n 'Uint8ClampedArray',\n 'Uint16Array',\n 'Uint32Array',\n 'Float32Array',\n 'Float64Array',\n 'HermesInternal',\n 'JSON',\n 'Math',\n 'Number',\n 'Object',\n 'String',\n 'Symbol',\n 'undefined',\n 'null',\n 'UIManager',\n 'requestAnimationFrame',\n 'setImmediate',\n 'queueMicrotask',\n '_WORKLET',\n 'arguments',\n 'Boolean',\n 'parseInt',\n 'parseFloat',\n 'Map',\n 'WeakMap',\n 'Proxy',\n 'WeakRef',\n 'Set',\n '_log',\n '_scheduleOnJS',\n '_makeShareableClone',\n '_updateDataSynchronously',\n 'eval',\n '_updatePropsPaper',\n '_updatePropsFabric',\n '_removeShadowNodeFromRegistry',\n 'RegExp',\n 'Error',\n '__ErrorUtils',\n 'global',\n '_measure',\n '_scrollTo',\n '_dispatchCommand',\n '_setGestureState',\n 'isNaN',\n 'LayoutAnimationRepository',\n '_notifyAboutProgress',\n '_notifyAboutEnd',\n]);\n", "export function isRelease() {\n return (\n process.env.BABEL_ENV &&\n ['production', 'release'].includes(process.env.BABEL_ENV)\n );\n}\n", "import {\n BabelFileResult,\n NodePath,\n transformSync,\n PluginItem,\n} from '@babel/core';\nimport generate from '@babel/generator';\nimport {\n ObjectMethod,\n isObjectMethod,\n FunctionDeclaration,\n FunctionExpression,\n ArrowFunctionExpression,\n identifier,\n Identifier,\n objectProperty,\n isArrowFunctionExpression,\n variableDeclaration,\n variableDeclarator,\n isBlockStatement,\n functionExpression,\n isFunctionDeclaration,\n VariableDeclaration,\n ExpressionStatement,\n isProgram,\n memberExpression,\n File as BabelFile,\n objectPattern,\n thisExpression,\n isExpression,\n isExpressionStatement,\n} from '@babel/types';\nimport * as fs from 'fs';\nimport * as convertSourceMap from 'convert-source-map';\nimport { strict as assert } from 'assert';\nimport { isRelease } from './utils';\n\nexport function buildWorkletString(\n fun: BabelFile,\n closureVariables: Array<Identifier>,\n name: string,\n inputMap: BabelFileResult['map']\n): Array<string | null | undefined> {\n const draftExpression = (fun.program.body.find((obj) =>\n isFunctionDeclaration(obj)\n ) ||\n fun.program.body.find((obj) => isExpressionStatement(obj)) ||\n undefined) as FunctionDeclaration | ExpressionStatement | undefined;\n\n assert(draftExpression, \"'draftExpression' is undefined\");\n\n const expression = isFunctionDeclaration(draftExpression)\n ? draftExpression\n : draftExpression.expression;\n\n assert(\n 'params' in expression,\n \"'params' property is undefined in 'expression'\"\n );\n assert(\n isBlockStatement(expression.body),\n \"'expression.body' is not a 'BlockStatement'\"\n );\n\n const workletFunction = functionExpression(\n identifier(name),\n expression.params,\n expression.body\n );\n\n const code = generate(workletFunction).code;\n\n assert(inputMap, \"'inputMap' is undefined\");\n\n const includeSourceMap = shouldGenerateSourceMap();\n\n if (includeSourceMap) {\n // Clear contents array (should be empty anyways)\n inputMap.sourcesContent = [];\n // Include source contents in source map, because Flipper/iframe is not\n // allowed to read files from disk.\n for (const sourceFile of inputMap.sources) {\n inputMap.sourcesContent.push(\n fs.readFileSync(sourceFile).toString('utf-8')\n );\n }\n }\n\n const transformed = transformSync(code, {\n plugins: [prependClosureVariablesIfNecessary(closureVariables)],\n compact: !includeSourceMap,\n sourceMaps: includeSourceMap,\n inputSourceMap: inputMap,\n ast: false,\n babelrc: false,\n configFile: false,\n comments: false,\n });\n\n assert(transformed, \"'transformed' is null\");\n\n let sourceMap;\n if (includeSourceMap) {\n sourceMap = convertSourceMap.fromObject(transformed.map).toObject();\n // sourcesContent field contains a full source code of the file which contains the worklet\n // and is not needed by the source map interpreter in order to symbolicate a stack trace.\n // Therefore, we remove it to reduce the bandwith and avoid sending it potentially multiple times\n // in files that contain multiple worklets. Along with sourcesContent.\n delete sourceMap.sourcesContent;\n }\n\n return [transformed.code, JSON.stringify(sourceMap)];\n}\n\nfunction shouldGenerateSourceMap() {\n if (isRelease()) {\n return false;\n }\n\n // We want to detect this, so we can disable source maps (because they break\n // snapshot tests with jest).\n if (process.env.REANIMATED_JEST_DISABLE_SOURCEMAP === 'jest') {\n return false;\n }\n\n return true;\n}\n\nfunction prependClosure(\n path: NodePath<\n | FunctionDeclaration\n | FunctionExpression\n | ArrowFunctionExpression\n | ObjectMethod\n >,\n closureVariables: Array<Identifier>,\n closureDeclaration: VariableDeclaration\n) {\n if (closureVariables.length === 0 || !isProgram(path.parent)) {\n return;\n }\n\n if (!isExpression(path.node.body)) {\n path.node.body.body.unshift(closureDeclaration);\n }\n}\n\nfunction prependRecursiveDeclaration(\n path: NodePath<\n | FunctionDeclaration\n | FunctionExpression\n | ArrowFunctionExpression\n | ObjectMethod\n >\n) {\n if (\n isProgram(path.parent) &&\n !isArrowFunctionExpression(path.node) &&\n !isObjectMethod(path.node) &&\n path.node.id &&\n path.scope.parent\n ) {\n const hasRecursiveCalls =\n path.scope.parent.bindings[path.node.id.name]?.references > 0;\n if (hasRecursiveCalls) {\n path.node.body.body.unshift(\n variableDeclaration('const', [\n variableDeclarator(\n identifier(path.node.id.name),\n memberExpression(thisExpression(), identifier('_recur'))\n ),\n ])\n );\n }\n }\n}\n\nfunction prependClosureVariablesIfNecessary(\n closureVariables: Array<Identifier>\n): PluginItem {\n const closureDeclaration = variableDeclaration('const', [\n variableDeclarator(\n objectPattern(\n closureVariables.map((variable) =>\n objectProperty(\n identifier(variable.name),\n identifier(variable.name),\n false,\n true\n )\n )\n ),\n memberExpression(thisExpression(), identifier('_closure'))\n ),\n ]);\n\n return {\n visitor: {\n 'FunctionDeclaration|FunctionExpression|ArrowFunctionExpression|ObjectMethod':\n (\n path: NodePath<\n | FunctionDeclaration\n | FunctionExpression\n | ArrowFunctionExpression\n | ObjectMethod\n >\n ) => {\n prependClosure(path, closureVariables, closureDeclaration);\n prependRecursiveDeclaration(path);\n },\n },\n };\n}\n", "import { NodePath, transformSync, traverse } from '@babel/core';\nimport generate from '@babel/generator';\nimport {\n ObjectMethod,\n isObjectMethod,\n FunctionDeclaration,\n FunctionExpression,\n ArrowFunctionExpression,\n identifier,\n Identifier,\n objectProperty,\n variableDeclaration,\n variableDeclarator,\n cloneNode,\n isBlockStatement,\n functionExpression,\n objectExpression,\n stringLiteral,\n isFunctionDeclaration,\n VariableDeclaration,\n ExpressionStatement,\n ReturnStatement,\n isProgram,\n isObjectProperty,\n isMemberExpression,\n isObjectExpression,\n expressionStatement,\n assignmentExpression,\n memberExpression,\n numericLiteral,\n arrayExpression,\n newExpression,\n returnStatement,\n blockStatement,\n isFunctionExpression,\n isIdentifier,\n File as BabelFile,\n} from '@babel/types';\nimport { ReanimatedPluginPass } from './types';\nimport { isRelease } from './utils';\nimport { strict as assert } from 'assert';\nimport { globals } from './commonObjects';\nimport { relative } from 'path';\nimport { buildWorkletString } from './buildWorkletString';\n\nconst version = require('../../package.json').version;\n\nexport function makeWorklet(\n fun: NodePath<\n | FunctionDeclaration\n | FunctionExpression\n | ObjectMethod\n | ArrowFunctionExpression\n >,\n state: ReanimatedPluginPass\n): FunctionExpression {\n // Returns a new FunctionExpression which is a workletized version of provided\n // FunctionDeclaration, FunctionExpression, ArrowFunctionExpression or ObjectMethod.\n\n const functionName = makeWorkletName(fun);\n\n // remove 'worklet'; directive before generating string\n fun.traverse({\n DirectiveLiteral(path) {\n if (path.node.value === 'worklet' && path.getFunctionParent() === fun) {\n path.parentPath.remove();\n }\n },\n });\n\n // We use copy because some of the plugins don't update bindings and\n // some even break them\n assert(state.file.opts.filename, \"'state.file.opts.filename' is undefined\");\n\n const codeObject = generate(fun.node, {\n sourceMaps: true,\n sourceFileName: state.file.opts.filename,\n });\n\n // We need to add a newline at the end, because there could potentially be a\n // comment after the function that gets included here, and then the closing\n // bracket would become part of the comment thus resulting in an error, since\n // there is a missing closing bracket.\n codeObject.code =\n '(' + (isObjectMethod(fun) ? 'function ' : '') + codeObject.code + '\\n)';\n\n const transformed = transformSync(codeObject.code, {\n filename: state.file.opts.filename,\n presets: ['@babel/preset-typescript'],\n plugins: [\n '@babel/plugin-transform-shorthand-properties',\n '@babel/plugin-transform-arrow-functions',\n '@babel/plugin-proposal-optional-chaining',\n '@babel/plugin-proposal-nullish-coalescing-operator',\n ['@babel/plugin-transform-template-literals', { loose: true }],\n ],\n ast: true,\n babelrc: false,\n configFile: false,\n inputSourceMap: codeObject.map,\n });\n\n assert(transformed, \"'transformed' is undefined\");\n assert(transformed.ast, \"'transformed.ast' is undefined\");\n\n const variables = makeArrayFromCapturedBindings(transformed.ast, fun);\n\n const privateFunctionId = identifier('_f');\n const clone = cloneNode(fun.node);\n const funExpression = isBlockStatement(clone.body)\n ? functionExpression(null, clone.params, clone.body)\n : clone;\n\n const [funString, sourceMapString] = buildWorkletString(\n transformed.ast,\n variables,\n functionName,\n transformed.map\n );\n assert(funString, \"'funString' is undefined\");\n const workletHash = hash(funString);\n\n let location = state.file.opts.filename;\n if (state.opts.relativeSourceLocation) {\n location = relative(state.cwd, location);\n }\n\n let lineOffset = 1;\n if (variables.length > 0) {\n // When worklet captures some variables, we append closure destructing at\n // the beginning of the function body. This effectively results in line\n // numbers shifting by the number of captured variables (size of the\n // closure) + 2 (for the opening and closing brackets of the destruct\n // statement)\n lineOffset -= variables.length + 2;\n }\n\n const pathForStringDefinitions = fun.parentPath.isProgram()\n ? fun\n : fun.findParent((path) => isProgram(path.parentPath));\n assert(pathForStringDefinitions, \"'pathForStringDefinitions' is null\");\n assert(\n pathForStringDefinitions.parentPath,\n \"'pathForStringDefinitions.parentPath' is null\"\n );\n\n const initDataId =\n pathForStringDefinitions.parentPath.scope.generateUidIdentifier(\n `worklet_${workletHash}_init_data`\n );\n\n const initDataObjectExpression = objectExpression([\n objectProperty(identifier('code'), stringLiteral(funString)),\n objectProperty(identifier('location'), stringLiteral(location)),\n ]);\n\n if (sourceMapString) {\n initDataObjectExpression.properties.push(\n objectProperty(identifier('sourceMap'), stringLiteral(sourceMapString))\n );\n }\n\n pathForStringDefinitions.insertBefore(\n variableDeclaration('const', [\n variableDeclarator(initDataId, initDataObjectExpression),\n ])\n );\n\n assert(\n !isFunctionDeclaration(funExpression),\n \"'funExpression' is a 'FunctionDeclaration'\"\n );\n assert(\n !isObjectMethod(funExpression),\n \"'funExpression' is an 'ObjectMethod'\"\n );\n\n const statements: Array<\n VariableDeclaration | ExpressionStatement | ReturnStatement\n > = [\n variableDeclaration('const', [\n variableDeclarator(privateFunctionId, funExpression),\n ]),\n expressionStatement(\n assignmentExpression(\n '=',\n memberExpression(privateFunctionId, identifier('_closure'), false),\n objectExpression(\n variables.map((variable) =>\n objectProperty(identifier(variable.name), variable, false, true)\n )\n )\n )\n ),\n expressionStatement(\n assignmentExpression(\n '=',\n memberExpression(privateFunctionId, identifier('__initData'), false),\n initDataId\n )\n ),\n expressionStatement(\n assignmentExpression(\n '=',\n memberExpression(privateFunctionId, identifier('__workletHash'), false),\n numericLiteral(workletHash)\n )\n ),\n ];\n\n if (!isRelease()) {\n statements.unshift(\n variableDeclaration('const', [\n variableDeclarator(\n identifier('_e'),\n arrayExpression([\n newExpression(\n memberExpression(identifier('global'), identifier('Error')),\n []\n ),\n numericLiteral(lineOffset),\n numericLiteral(-27), // the placement of opening bracket after Exception in line that defined '_e' variable\n ])\n ),\n ])\n );\n statements.push(\n expressionStatement(\n assignmentExpression(\n '=',\n memberExpression(\n privateFunctionId,\n identifier('__stackDetails'),\n false\n ),\n identifier('_e')\n )\n )\n );\n if (shouldInjectVersion()) {\n statements.push(\n expressionStatement(\n assignmentExpression(\n '=',\n memberExpression(privateFunctionId, identifier('__version'), false),\n stringLiteral(version)\n )\n )\n );\n }\n }\n\n statements.push(returnStatement(privateFunctionId));\n\n const newFun = functionExpression(undefined, [], blockStatement(statements));\n\n return newFun;\n}\n\nfunction shouldInjectVersion() {\n // We don't inject version in release since cache is reset there anyway\n if (isRelease()) {\n return false;\n }\n\n // We don't want to pollute tests with current version number so we disable it\n // for all tests (except one)\n if (process.env.REANIMATED_JEST_DISABLE_VERSION === 'jest') {\n return false;\n }\n\n return true;\n}\n\nfunction hash(str: string) {\n let i = str.length;\n let hash1 = 5381;\n let hash2 = 52711;\n\n while (i--) {\n const char = str.charCodeAt(i);\n // eslint-disable-next-line no-bitwise\n hash1 = (hash1 * 33) ^ char;\n // eslint-disable-next-line no-bitwise\n hash2 = (hash2 * 33) ^ char;\n }\n\n // eslint-disable-next-line no-bitwise\n return (hash1 >>> 0) * 4096 + (hash2 >>> 0);\n}\n\nfunction makeWorkletName(\n fun: NodePath<\n | FunctionDeclaration\n | FunctionExpression\n | ObjectMethod\n | ArrowFunctionExpression\n >\n) {\n if (isObjectMethod(fun.node) && 'name' in fun.node.key) {\n return fun.node.key.name;\n }\n if (isFunctionDeclaration(fun.node) && fun.node.id) {\n return fun.node.id.name;\n }\n if (isFunctionExpression(fun.node) && isIdentifier(fun.node.id)) {\n return fun.node.id.name;\n }\n return 'anonymous'; // fallback for ArrowFunctionExpression and unnamed FunctionExpression\n}\n\nfunction makeArrayFromCapturedBindings(\n ast: BabelFile,\n fun: NodePath<\n | FunctionDeclaration\n | FunctionExpression\n | ObjectMethod\n | ArrowFunctionExpression\n >\n) {\n const closure = new Map<string, Identifier>();\n\n // this traversal looks for variables to capture\n traverse(ast, {\n Identifier(path) {\n // we only capture variables that were declared outside of the scope\n if (!path.isReferencedIdentifier()) {\n return;\n }\n const name = path.node.name;\n // if the function is named and was added to globals we don't want to add it to closure\n // hence we check if identifier has that name\n if (globals.has(name)) {\n return;\n }\n if (\n 'id' in fun.node &&\n fun.node.id &&\n fun.node.id.name === name // we don't want to capture function's own name\n ) {\n return;\n }\n\n const parentNode = path.parent;\n\n if (\n isMemberExpression(parentNode) &&\n parentNode.property === path.node &&\n !parentNode.computed\n ) {\n return;\n }\n\n if (\n isObjectProperty(parentNode) &&\n isObjectExpression(path.parentPath.parent) &&\n path.node !== parentNode.value\n ) {\n return;\n }\n\n let currentScope = path.scope;\n\n while (currentScope != null) {\n if (currentScope.bindings[name] != null) {\n return;\n }\n currentScope = currentScope.parent;\n }\n closure.set(name, path.node);\n },\n });\n\n return Array.from(closure.values());\n}\n", "import { NodePath } from '@babel/core';\nimport {\n ObjectMethod,\n identifier,\n isIdentifier,\n isFunctionParent,\n objectProperty,\n callExpression,\n} from '@babel/types';\nimport { ReanimatedPluginPass } from './types';\nimport { makeWorklet } from './makeWorklet';\n\nexport function processWorkletObjectMethod(\n path: NodePath<ObjectMethod>,\n state: ReanimatedPluginPass\n) {\n // Replaces ObjectMethod with a workletized version of itself.\n\n if (!isFunctionParent(path)) {\n return;\n }\n\n const newFun = makeWorklet(path, state);\n\n const replacement = objectProperty(\n identifier(isIdentifier(path.node.key) ? path.node.key.name : ''),\n callExpression(newFun, [])\n );\n\n path.replaceWith(replacement);\n}\n", "import { NodePath, Node } from '@babel/core';\nimport {\n FunctionDeclaration,\n FunctionExpression,\n ArrowFunctionExpression,\n callExpression,\n isScopable,\n isExportNamedDeclaration,\n variableDeclaration,\n variableDeclarator,\n} from '@babel/types';\nimport { ReanimatedPluginPass } from './types';\nimport { makeWorklet } from './makeWorklet';\n\n// Replaces FunctionDeclaration, FunctionExpression or ArrowFunctionExpression\n// with a workletized version of itself.\n\nexport function processIfWorkletFunction(\n path: NodePath<Node>,\n state: ReanimatedPluginPass\n) {\n if (\n path.isFunctionDeclaration() ||\n path.isFunctionExpression() ||\n path.isArrowFunctionExpression()\n ) {\n processWorkletFunction(path, state);\n }\n}\n\nfunction processWorkletFunction(\n path: NodePath<\n FunctionDeclaration | FunctionExpression | ArrowFunctionExpression\n >,\n state: ReanimatedPluginPass\n) {\n const newFun = makeWorklet(path, state);\n\n const replacement = callExpression(newFun, []);\n\n // we check if function needs to be assigned to variable declaration.\n // This is needed if function definition directly in a scope. Some other ways\n // where function definition can be used is for example with variable declaration:\n // const ggg = function foo() { }\n // ^ in such a case we don't need to define variable for the function\n const needDeclaration =\n isScopable(path.parent) || isExportNamedDeclaration(path.parent);\n path.replaceWith(\n 'id' in path.node && path.node.id && needDeclaration\n ? variableDeclaration('const', [\n variableDeclarator(path.node.id, replacement),\n ])\n : replacement\n );\n}\n", "import { NodePath } from '@babel/core';\nimport {\n CallExpression,\n isSequenceExpression,\n ObjectExpression,\n} from '@babel/types';\nimport { ReanimatedPluginPass } from './types';\nimport { processWorkletObjectMethod } from './processWorkletObjectMethod';\nimport { processIfWorkletFunction } from './processIfWorkletFunction';\nimport { strict as assert } from 'assert';\n\nconst functionArgsToWorkletize = new Map([\n ['useFrameCallback', [0]],\n ['useAnimatedStyle', [0]],\n ['useAnimatedProps', [0]],\n ['createAnimatedPropAdapter', [0]],\n ['useDerivedValue', [0]],\n ['useAnimatedScrollHandler', [0]],\n ['useAnimatedReaction', [0, 1]],\n ['useWorkletCallback', [0]],\n // animations' callbacks\n ['withTiming', [2]],\n ['withSpring', [2]],\n ['withDecay', [1]],\n ['withRepeat', [3]],\n]);\n\nconst objectHooks = new Set([\n 'useAnimatedGestureHandler',\n 'useAnimatedScrollHandler',\n]);\n\nexport function processForCalleesWorklets(\n path: NodePath<CallExpression>,\n state: ReanimatedPluginPass\n) {\n const callee = isSequenceExpression(path.node.callee)\n ? path.node.callee.expressions[path.node.callee.expressions.length - 1]\n : path.node.callee;\n\n // We are looking for objects we know we should workletize\n // hence if object is not named, we return.\n const name =\n 'name' in callee\n ? callee.name\n : 'property' in callee && 'name' in callee.property\n ? callee.property.name\n : undefined;\n if (name === undefined) {\n return;\n }\n\n if (objectHooks.has(name)) {\n const workletToProcess = path.get('arguments.0');\n assert(!Array.isArray(workletToProcess), \"'workletToProcess' is an array'\");\n if (workletToProcess.isObjectExpression()) {\n processObjectHook(workletToProcess, state);\n // useAnimatedScrollHandler can take a function as an argument instead of an ObjectExpression\n // but useAnimatedGestureHandler can't\n } else if (name === 'useAnimatedScrollHandler') {\n processIfWorkletFunction(workletToProcess, state);\n }\n } else {\n const indices = functionArgsToWorkletize.get(name);\n if (indices === undefined) {\n return;\n }\n processArguments(path, indices, state);\n }\n}\n\nfunction processObjectHook(\n path: NodePath<ObjectExpression>,\n state: ReanimatedPluginPass\n) {\n const properties = path.get('properties');\n for (const property of properties) {\n if (property.isObjectMethod()) {\n processWorkletObjectMethod(property, state);\n } else if (property.isObjectProperty()) {\n const value = property.get('value');\n assert(!Array.isArray(value), \"'value' is an array'\");\n processIfWorkletFunction(value, state);\n } else {\n throw new Error(\n `'${property.type}' as to-be workletized arguments is not supported for object hooks`\n );\n }\n }\n}\n\nfunction processArguments(\n path: NodePath<CallExpression>,\n indices: number[],\n state: ReanimatedPluginPass\n) {\n const argumentsArray = path.get('arguments');\n indices.forEach((index) => {\n const argumentToWorkletize = argumentsArray[index];\n if (!argumentToWorkletize) {\n // workletizable argument doesn't always have to be specified\n return;\n }\n processIfWorkletFunction(argumentToWorkletize, state);\n });\n}\n", "import { NodePath } from '@babel/core';\nimport {\n FunctionDeclaration,\n FunctionExpression,\n ArrowFunctionExpression,\n isBlockStatement,\n isDirectiveLiteral,\n} from '@babel/types';\nimport { processIfWorkletFunction } from './processIfWorkletFunction';\nimport { ReanimatedPluginPass } from './types';\n\nexport function processIfWorkletNode(\n fun: NodePath<\n FunctionDeclaration | FunctionExpression | ArrowFunctionExpression\n >,\n state: ReanimatedPluginPass\n) {\n fun.traverse({\n DirectiveLiteral(path) {\n const value = path.node.value;\n if (\n value === 'worklet' &&\n path.getFunctionParent() === fun &&\n isBlockStatement(fun.node.body)\n ) {\n // make sure \"worklet\" is listed among directives for the fun\n // this is necessary as because of some bug, babel will attempt to\n // process replaced function if it is nested inside another function\n const directives = fun.node.body.directives;\n if (\n directives &&\n directives.length > 0 &&\n directives.some(\n (directive) =>\n isDirectiveLiteral(directive.value) &&\n directive.value.value === 'worklet'\n )\n ) {\n processIfWorkletFunction(fun, state);\n }\n }\n },\n });\n}\n", "import { NodePath } from '@babel/core';\nimport {\n FunctionDeclaration,\n FunctionExpression,\n ArrowFunctionExpression,\n isIdentifier,\n isCallExpression,\n Expression,\n isMemberExpression,\n isExpression,\n} from '@babel/types';\nimport { processIfWorkletFunction } from './processIfWorkletFunction';\nimport { ReanimatedPluginPass } from './types';\n\nconst gestureHandlerGestureObjects = new Set([\n // from https://github.com/software-mansion/react-native-gesture-handler/blob/new-api/src/handlers/gestures/gestureObjects.ts\n 'Tap',\n 'Pan',\n 'Pinch',\n 'Rotation',\n 'Fling',\n 'LongPress',\n 'ForceTouch',\n 'Native',\n 'Manual',\n 'Race',\n 'Simultaneous',\n 'Exclusive',\n]);\n\nconst gestureHandlerBuilderMethods = new Set([\n 'onBegin',\n 'onStart',\n 'onEnd',\n 'onFinalize',\n 'onUpdate',\n 'onChange',\n 'onTouchesDown',\n 'onTouchesMove',\n 'onTouchesUp',\n 'onTouchesCancelled',\n]);\n\n// Auto-workletizes React Native Gesture Handler callback functions.\n// Detects `Gesture.Tap().onEnd(<fun>)` or similar, but skips `something.onEnd(<fun>)`.\n// Supports method chaining as well, e.g. `Gesture.Tap().onStart(<fun1>).onUpdate(<fun2>).onEnd(<fun3>)`.\n\n// Example #1: `Gesture.Tap().onEnd(<fun>)`\n/*\n CallExpression(\n callee: MemberExpression(\n object: CallExpression(\n callee: MemberExpression(\n object: Identifier('Gesture')\n property: Identifier('Tap')\n )\n )\n property: Identifier('onEnd')\n )\n arguments: [fun]\n )\n */\n\n// Example #2: `Gesture.Tap().onStart(<fun1>).onUpdate(<fun2>).onEnd(<fun3>)`\n/*\n CallExpression(\n callee: MemberExpression(\n object: CallExpression(\n callee: MemberExpression(\n object: CallExpression(\n callee: MemberExpression(\n object: CallExpression(\n callee: MemberExpression(\n object: Identifier('Gesture')\n property: Identifier('Tap')\n )\n )\n property: Identifier('onStart')\n )\n arguments: [fun1]\n )\n property: Identifier('onUpdate')\n )\n arguments: [fun2]\n )\n property: Identifier('onEnd')\n )\n arguments: [fun3]\n )\n */\nexport function processIfGestureHandlerEventCallbackFunctionNode(\n path: NodePath<\n FunctionDeclaration | FunctionExpression | ArrowFunctionExpression\n >,\n state: ReanimatedPluginPass\n) {\n if (\n isCallExpression(path.parent) &&\n isExpression(path.parent.callee) &&\n isGestureObjectEventCallbackMethod(path.parent.callee)\n ) {\n processIfWorkletFunction(path, state);\n }\n}\n\nfunction isGestureObjectEventCallbackMethod(exp: Expression) {\n // Checks if node matches the pattern `Gesture.Foo()[*].onBar`\n // where `[*]` represents any number of method calls.\n return (\n isMemberExpression(exp) &&\n isIdentifier(exp.property) &&\n gestureHandlerBuilderMethods.has(exp.property.name) &&\n containsGestureObject(exp.object)\n );\n}\n\nfunction containsGestureObject(exp: Expression) {\n // Checks if node matches the pattern `Gesture.Foo()[*]`\n // where `[*]` represents any number of chained method calls, like `.something(42)`.\n\n // direct call\n if (isGestureObject(exp)) {\n return true;\n }\n\n // method chaining\n if (\n isCallExpression(exp) &&\n isMemberExpression(exp.callee) &&\n containsGestureObject(exp.callee.object)\n ) {\n return true;\n }\n\n return false;\n}\n\nfunction isGestureObject(exp: Expression) {\n // Checks if node matches `Gesture.Tap()` or similar.\n /*\n node: CallExpression(\n callee: MemberExpression(\n object: Identifier('Gesture')\n property: Identifier('Tap')\n )\n )\n */\n return (\n isCallExpression(exp) &&\n isMemberExpression(exp.callee) &&\n isIdentifier(exp.callee.object) &&\n exp.callee.object.name === 'Gesture' &&\n isIdentifier(exp.callee.property) &&\n gestureHandlerGestureObjects.has(exp.callee.property.name)\n );\n}\n", "import { NodePath } from '@babel/core';\nimport {\n MemberExpression,\n callExpression,\n arrowFunctionExpression,\n isArrayExpression,\n ObjectExpression,\n JSXAttribute,\n isJSXExpressionContainer,\n identifier,\n stringLiteral,\n expressionStatement,\n memberExpression,\n returnStatement,\n blockStatement,\n ObjectProperty,\n isIdentifier,\n} from '@babel/types';\nimport { isRelease } from './utils';\nimport { ReanimatedPluginPass } from './types';\nimport { strict as assert } from 'assert';\n\nfunction generateInlineStylesWarning(path: NodePath<MemberExpression>) {\n // replaces `sharedvalue.value` with `(()=>{console.warn(require('react-native-reanimated').getUseOfValueInStyleWarning());return sharedvalue.value;})()`\n return callExpression(\n arrowFunctionExpression(\n [],\n blockStatement([\n expressionStatement(\n callExpression(\n memberExpression(identifier('console'), identifier('warn')),\n [\n callExpression(\n memberExpression(\n callExpression(identifier('require'), [\n stringLiteral('react-native-reanimated'),\n ]),\n identifier('getUseOfValueInStyleWarning')\n ),\n []\n ),\n ]\n )\n ),\n returnStatement(path.node),\n ])\n ),\n []\n );\n}\n\nfunction processPropertyValueForInlineStylesWarning(\n path: NodePath<ObjectProperty['value']>\n) {\n // if it's something like object.value then raise a warning\n if (path.isMemberExpression() && isIdentifier(path.node.property)) {\n if (path.node.property.name === 'value') {\n path.replaceWith(generateInlineStylesWarning(path));\n }\n }\n}\n\nfunction processTransformPropertyForInlineStylesWarning(\n path: NodePath<ObjectProperty['value']>\n) {\n if (isArrayExpression(path.node)) {\n const elements = path.get('elements');\n assert(Array.isArray(elements), \"'elements' should be an array\");\n for (const element of elements) {\n if (element.isObjectExpression()) {\n processStyleObjectForInlineStylesWarning(element);\n }\n }\n }\n}\n\nfunction processStyleObjectForInlineStylesWarning(\n path: NodePath<ObjectExpression>\n) {\n const properties = path.get('properties');\n for (const property of properties) {\n if (property.isObjectProperty()) {\n const value = property.get('value');\n if (\n isIdentifier(property.node.key) &&\n property.node.key.name === 'transform'\n ) {\n processTransformPropertyForInlineStylesWarning(value);\n } else {\n processPropertyValueForInlineStylesWarning(value);\n }\n }\n }\n}\n\nexport function processInlineStylesWarning(\n path: NodePath<JSXAttribute>,\n state: ReanimatedPluginPass\n) {\n if (isRelease()) {\n return;\n }\n if (state.opts.disableInlineStylesWarning) {\n return;\n }\n if (path.node.name.name !== 'style') {\n return;\n }\n if (!isJSXExpressionContainer(path.node.value)) {\n return;\n }\n\n const expression = path.get('value').get('expression');\n // style={[{...}, {...}]}\n assert(!Array.isArray(expression), \"'expression' should not be an array\");\n if (expression.isArrayExpression()) {\n const elements = expression.get('elements');\n assert(Array.isArray(elements), \"'elements' should be an array\");\n for (const element of elements) {\n if (element.isObjectExpression()) {\n processStyleObjectForInlineStylesWarning(element);\n }\n }\n }\n // style={{...}}\n else if (expression.isObjectExpression()) {\n processStyleObjectForInlineStylesWarning(expression);\n }\n}\n", "import { PluginItem, NodePath } from '@babel/core';\nimport { globals } from './commonObjects';\nimport {\n CallExpression,\n FunctionDeclaration,\n FunctionExpression,\n ArrowFunctionExpression,\n} from '@babel/types';\nimport { processForCalleesWorklets } from './processForCalleesWorklets';\nimport { ReanimatedPluginPass } from './types';\nimport { processIfWorkletNode } from './processIfWorkletNode';\nimport { processIfGestureHandlerEventCallbackFunctionNode } from './processIfGestureHandlerEventCallbackFunctionNode';\nimport { processInlineStylesWarning } from './processInlineStylesWarning';\n\nmodule.exports = function (): PluginItem {\n return {\n pre() {\n // allows adding custom globals such as host-functions\n if (this.opts != null && Array.isArray(this.opts.globals)) {\n this.opts.globals.forEach((name: string) => {\n globals.add(name);\n });\n }\n },\n visitor: {\n CallExpression: {\n enter(path: NodePath<CallExpression>, state: ReanimatedPluginPass) {\n processForCalleesWorklets(path, state);\n },\n },\n 'FunctionDeclaration|FunctionExpression|ArrowFunctionExpression': {\n enter(\n path: NodePath<\n FunctionDeclaration | FunctionExpression | ArrowFunctionExpression\n >,\n state: ReanimatedPluginPass\n ) {\n processIfWorkletNode(path, state);\n processIfGestureHandlerEventCallbackFunctionNode(path, state);\n },\n },\n JSXAttribute: {\n enter(path, state) {\n processInlineStylesWarning(path, state);\n },\n },\n },\n };\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["exports", "exports", "exports", "commonObjects_1", "exports", "exports", "exports", "exports", "exports", "exports", "exports"]
7
+ }