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
@@ -1 +1 @@
1
- {"version":3,"names":["SensorType","IOSReferenceFrame","InterfaceOrientation","KeyboardState"],"sources":["commonTypes.ts"],"sourcesContent":["import {\n PerpectiveTransform,\n RotateTransform,\n RotateXTransform,\n RotateYTransform,\n RotateZTransform,\n ScaleTransform,\n ScaleXTransform,\n ScaleYTransform,\n TranslateXTransform,\n TranslateYTransform,\n SkewXTransform,\n SkewYTransform,\n MatrixTransform,\n ViewStyle,\n TextStyle,\n} from 'react-native';\n\nexport type TransformProperty =\n | PerpectiveTransform\n | RotateTransform\n | RotateXTransform\n | RotateYTransform\n | RotateZTransform\n | ScaleTransform\n | ScaleXTransform\n | ScaleYTransform\n | TranslateXTransform\n | TranslateYTransform\n | SkewXTransform\n | SkewYTransform\n | MatrixTransform;\n\nexport interface StyleProps extends ViewStyle, TextStyle {\n originX?: number;\n originY?: number;\n [key: string]: any;\n}\n\nexport interface AnimatedStyle\n extends Record<string, Animation<AnimationObject>> {\n [key: string]: any;\n transform?: Array<Record<string, Animation<AnimationObject>>>;\n}\nexport interface SharedValue<T> {\n value: T;\n addListener: (listenerID: number, listener: (value: T) => void) => void;\n removeListener: (listenerID: number) => void;\n modify: (modifier: (value: T) => T) => void;\n}\n\n// The below type is used for HostObjects retured by the JSI API that don't have\n// any accessable fields or methods but can carry data that is accessed from the\n// c++ side. We add a field to the type to make it possible for typescript to recognize\n// which JSI methods accept those types as arguments and to be able to correctly type\n// check other methods that may use them. However, this field is not actually defined\n// nor should be used for anything else as assigning any data to those objects will\n// throw an error.\nexport type ShareableRef<T> = {\n __hostObjectShareableJSRef: T;\n};\n\nexport type ShareableSyncDataHolderRef<T> = {\n __hostObjectShareableJSRefSyncDataHolder: T;\n};\n\nexport type MapperRegistry = {\n start: (\n mapperID: number,\n worklet: () => void,\n inputs: SharedValue<any>[],\n outputs?: SharedValue<any>[]\n ) => void;\n stop: (mapperID: number) => void;\n};\n\nexport type Context = Record<string, unknown>;\n\nexport interface WorkletFunction {\n _closure?: Context;\n __workletHash?: number;\n}\n\nexport interface BasicWorkletFunction<T> extends WorkletFunction {\n (): T;\n}\n\nexport interface BasicWorkletFunctionOptional<T> extends WorkletFunction {\n (): Partial<T>;\n}\n\nexport interface NativeEvent<T> {\n nativeEvent: T;\n}\nexport interface ComplexWorkletFunction<A extends any[], R>\n extends WorkletFunction {\n (...args: A): R;\n __remoteFunction?: (...args: A) => R;\n}\n\nexport interface NestedObject<T> {\n [key: string]: NestedObjectValues<T>;\n}\n\nexport type NestedObjectValues<T> =\n | T\n | Array<NestedObjectValues<T>>\n | NestedObject<T>;\n\nexport interface AdapterWorkletFunction extends WorkletFunction {\n (value: NestedObject<string | number | AnimationObject>): void;\n}\n\nexport type AnimatableValue = number | string | Array<number>;\n\nexport interface AnimationObject {\n [key: string]: any;\n callback: AnimationCallback;\n current?: AnimatableValue;\n toValue?: AnimationObject['current'];\n startValue?: AnimationObject['current'];\n finished?: boolean;\n strippedCurrent?: number;\n cancelled?: boolean;\n\n __prefix?: string;\n __suffix?: string;\n onFrame: (animation: any, timestamp: Timestamp) => boolean;\n onStart: (\n nextAnimation: any,\n current: any,\n timestamp: Timestamp,\n previousAnimation: any\n ) => void;\n}\n\nexport interface Animation<T extends AnimationObject> extends AnimationObject {\n onFrame: (animation: T, timestamp: Timestamp) => boolean;\n onStart: (\n nextAnimation: T,\n current: T extends NumericAnimation ? number : AnimatableValue,\n timestamp: Timestamp,\n previousAnimation: T\n ) => void;\n}\n\nexport enum SensorType {\n ACCELEROMETER = 1,\n GYROSCOPE = 2,\n GRAVITY = 3,\n MAGNETIC_FIELD = 4,\n ROTATION = 5,\n}\nexport enum IOSReferenceFrame {\n XArbitraryZVertical,\n XArbitraryCorrectedZVertical,\n XMagneticNorthZVertical,\n XTrueNorthZVertical,\n Auto,\n}\n\nexport interface NumericAnimation {\n current?: number;\n}\n\nexport type AnimationCallback = (\n finished?: boolean,\n current?: AnimatableValue\n) => void;\n\nexport type Timestamp = number;\n\nexport type Value3D = {\n x: number;\n y: number;\n z: number;\n interfaceOrientation: InterfaceOrientation;\n};\n\nexport type ValueRotation = {\n qw: number;\n qx: number;\n qy: number;\n qz: number;\n yaw: number;\n pitch: number;\n roll: number;\n interfaceOrientation: InterfaceOrientation;\n};\n\nexport enum InterfaceOrientation {\n ROTATION_0 = 0,\n ROTATION_90 = 90,\n ROTATION_180 = 180,\n ROTATION_270 = 270,\n}\n\nexport type ShadowNodeWrapper = object;\n\nexport enum KeyboardState {\n UNKNOWN = 0,\n OPENING = 1,\n OPEN = 2,\n CLOSING = 3,\n CLOSED = 4,\n}\n\nexport type AnimatedKeyboardInfo = {\n height: SharedValue<number>;\n state: SharedValue<KeyboardState>;\n};\n\nexport interface MeasuredDimensions {\n x: number;\n y: number;\n width: number;\n height: number;\n pageX: number;\n pageY: number;\n}\n\nexport interface AnimatedKeyboardOptions {\n isStatusBarTranslucentAndroid?: boolean;\n}\n"],"mappings":"AAmDA;AACA;AACA;AACA;AACA;AACA;AACA;AAyFA,WAAYA,UAAZ;;WAAYA,U;EAAAA,U,CAAAA,U;EAAAA,U,CAAAA,U;EAAAA,U,CAAAA,U;EAAAA,U,CAAAA,U;EAAAA,U,CAAAA,U;GAAAA,U,KAAAA,U;;AAOZ,WAAYC,iBAAZ;;WAAYA,iB;EAAAA,iB,CAAAA,iB;EAAAA,iB,CAAAA,iB;EAAAA,iB,CAAAA,iB;EAAAA,iB,CAAAA,iB;EAAAA,iB,CAAAA,iB;GAAAA,iB,KAAAA,iB;;AAqCZ,WAAYC,oBAAZ;;WAAYA,oB;EAAAA,oB,CAAAA,oB;EAAAA,oB,CAAAA,oB;EAAAA,oB,CAAAA,oB;EAAAA,oB,CAAAA,oB;GAAAA,oB,KAAAA,oB;;AASZ,WAAYC,aAAZ;;WAAYA,a;EAAAA,a,CAAAA,a;EAAAA,a,CAAAA,a;EAAAA,a,CAAAA,a;EAAAA,a,CAAAA,a;EAAAA,a,CAAAA,a;GAAAA,a,KAAAA,a"}
1
+ {"version":3,"names":["SensorType","IOSReferenceFrame","InterfaceOrientation","KeyboardState"],"sources":["commonTypes.ts"],"sourcesContent":["import {\n PerpectiveTransform,\n RotateTransform,\n RotateXTransform,\n RotateYTransform,\n RotateZTransform,\n ScaleTransform,\n ScaleXTransform,\n ScaleYTransform,\n TranslateXTransform,\n TranslateYTransform,\n SkewXTransform,\n SkewYTransform,\n MatrixTransform,\n ViewStyle,\n TextStyle,\n} from 'react-native';\n\nexport type TransformProperty =\n | PerpectiveTransform\n | RotateTransform\n | RotateXTransform\n | RotateYTransform\n | RotateZTransform\n | ScaleTransform\n | ScaleXTransform\n | ScaleYTransform\n | TranslateXTransform\n | TranslateYTransform\n | SkewXTransform\n | SkewYTransform\n | MatrixTransform;\n\nexport interface StyleProps extends ViewStyle, TextStyle {\n originX?: number;\n originY?: number;\n [key: string]: any;\n}\n\nexport interface AnimatedStyle\n extends Record<string, Animation<AnimationObject>> {\n [key: string]: any;\n transform?: Array<Record<string, Animation<AnimationObject>>>;\n}\nexport interface SharedValue<T> {\n value: T;\n addListener: (listenerID: number, listener: (value: T) => void) => void;\n removeListener: (listenerID: number) => void;\n modify: (modifier: (value: T) => T) => void;\n}\n\n// The below type is used for HostObjects retured by the JSI API that don't have\n// any accessable fields or methods but can carry data that is accessed from the\n// c++ side. We add a field to the type to make it possible for typescript to recognize\n// which JSI methods accept those types as arguments and to be able to correctly type\n// check other methods that may use them. However, this field is not actually defined\n// nor should be used for anything else as assigning any data to those objects will\n// throw an error.\nexport type ShareableRef<T> = {\n __hostObjectShareableJSRef: T;\n};\n\nexport type ShareableSyncDataHolderRef<T> = {\n __hostObjectShareableJSRefSyncDataHolder: T;\n};\n\nexport type MapperRegistry = {\n start: (\n mapperID: number,\n worklet: () => void,\n inputs: SharedValue<any>[],\n outputs?: SharedValue<any>[]\n ) => void;\n stop: (mapperID: number) => void;\n};\n\nexport type Context = Record<string, unknown>;\n\nexport interface WorkletFunction {\n _closure?: Context;\n __workletHash?: number;\n}\n\nexport interface BasicWorkletFunction<T> extends WorkletFunction {\n (): T;\n}\n\nexport interface BasicWorkletFunctionOptional<T> extends WorkletFunction {\n (): Partial<T>;\n}\n\nexport interface NativeEvent<T> {\n nativeEvent: T;\n}\nexport interface ComplexWorkletFunction<A extends any[], R>\n extends WorkletFunction {\n (...args: A): R;\n __remoteFunction?: (...args: A) => R;\n}\n\nexport interface NestedObject<T> {\n [key: string]: NestedObjectValues<T>;\n}\n\nexport type NestedObjectValues<T> =\n | T\n | Array<NestedObjectValues<T>>\n | NestedObject<T>;\n\nexport interface AdapterWorkletFunction extends WorkletFunction {\n (value: NestedObject<string | number | AnimationObject>): void;\n}\n\nexport type AnimatableValue = number | string | Array<number>;\n\nexport interface AnimationObject {\n [key: string]: any;\n callback: AnimationCallback;\n current?: AnimatableValue;\n toValue?: AnimationObject['current'];\n startValue?: AnimationObject['current'];\n finished?: boolean;\n strippedCurrent?: number;\n cancelled?: boolean;\n\n __prefix?: string;\n __suffix?: string;\n onFrame: (animation: any, timestamp: Timestamp) => boolean;\n onStart: (\n nextAnimation: any,\n current: any,\n timestamp: Timestamp,\n previousAnimation: any\n ) => void;\n}\n\nexport interface Animation<T extends AnimationObject> extends AnimationObject {\n onFrame: (animation: T, timestamp: Timestamp) => boolean;\n onStart: (\n nextAnimation: T,\n current: T extends NumericAnimation ? number : AnimatableValue,\n timestamp: Timestamp,\n previousAnimation: T\n ) => void;\n}\n\nexport enum SensorType {\n ACCELEROMETER = 1,\n GYROSCOPE = 2,\n GRAVITY = 3,\n MAGNETIC_FIELD = 4,\n ROTATION = 5,\n}\nexport enum IOSReferenceFrame {\n XArbitraryZVertical,\n XArbitraryCorrectedZVertical,\n XMagneticNorthZVertical,\n XTrueNorthZVertical,\n Auto,\n}\n\nexport interface NumericAnimation {\n current?: number;\n}\n\nexport type AnimationCallback = (\n finished?: boolean,\n current?: AnimatableValue\n) => void;\n\nexport type Timestamp = number;\n\nexport type Value3D = {\n x: number;\n y: number;\n z: number;\n interfaceOrientation: InterfaceOrientation;\n};\n\nexport type ValueRotation = {\n qw: number;\n qx: number;\n qy: number;\n qz: number;\n yaw: number;\n pitch: number;\n roll: number;\n interfaceOrientation: InterfaceOrientation;\n};\n\nexport enum InterfaceOrientation {\n ROTATION_0 = 0,\n ROTATION_90 = 90,\n ROTATION_180 = 180,\n ROTATION_270 = 270,\n}\n\nexport type ShadowNodeWrapper = object;\n\nexport enum KeyboardState {\n UNKNOWN = 0,\n OPENING = 1,\n OPEN = 2,\n CLOSING = 3,\n CLOSED = 4,\n}\n\nexport type AnimatedKeyboardInfo = {\n height: SharedValue<number>;\n state: SharedValue<KeyboardState>;\n};\n\nexport interface MeasuredDimensions {\n x: number;\n y: number;\n width: number;\n height: number;\n pageX: number;\n pageY: number;\n}\n\nexport interface AnimatedKeyboardOptions {\n isStatusBarTranslucentAndroid?: boolean;\n}\n"],"mappings":"AAmDA;AACA;AACA;AACA;AACA;AACA;AACA;AAyFA,WAAYA,UAAU,0BAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;AAOtB,WAAYC,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB,CAAjBA,iBAAiB;EAAjBA,iBAAiB,CAAjBA,iBAAiB;EAAjBA,iBAAiB,CAAjBA,iBAAiB;EAAjBA,iBAAiB,CAAjBA,iBAAiB;EAAjBA,iBAAiB,CAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA;AAqC7B,WAAYC,oBAAoB,0BAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;AAShC,WAAYC,aAAa,0BAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA"}
@@ -1,11 +1,9 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
-
3
2
  import React, { forwardRef } from 'react';
4
3
  import { FlatList, StyleSheet } from 'react-native';
5
4
  import ReanimatedView from './View';
6
5
  import createAnimatedComponent from '../../createAnimatedComponent';
7
6
  const AnimatedFlatList = createAnimatedComponent(FlatList);
8
-
9
7
  const createCellRenderer = (itemLayoutAnimation, cellStyle) => {
10
8
  const cellRenderer = props => {
11
9
  return /*#__PURE__*/React.createElement(ReanimatedView, {
@@ -14,10 +12,8 @@ const createCellRenderer = (itemLayoutAnimation, cellStyle) => {
14
12
  style: cellStyle
15
13
  }, props.children);
16
14
  };
17
-
18
15
  return cellRenderer;
19
16
  };
20
-
21
17
  const ReanimatedFlatlist = /*#__PURE__*/forwardRef((props, ref) => {
22
18
  const {
23
19
  itemLayoutAnimation,
@@ -1 +1 @@
1
- {"version":3,"names":["React","forwardRef","FlatList","StyleSheet","ReanimatedView","createAnimatedComponent","AnimatedFlatList","createCellRenderer","itemLayoutAnimation","cellStyle","cellRenderer","props","onLayout","children","ReanimatedFlatlist","ref","restProps","inverted","horizontal","styles","horizontallyInverted","verticallyInverted","undefined","useMemo","create","transform","scaleY","scaleX"],"sources":["FlatList.tsx"],"sourcesContent":["import React, { ForwardedRef, forwardRef } from 'react';\nimport {\n FlatList,\n FlatListProps,\n LayoutChangeEvent,\n StyleSheet,\n} from 'react-native';\nimport ReanimatedView from './View';\nimport createAnimatedComponent from '../../createAnimatedComponent';\nimport { ILayoutAnimationBuilder } from '../layoutReanimation/animationBuilder/commonTypes';\nimport { StyleProps } from '../commonTypes';\n\nconst AnimatedFlatList = createAnimatedComponent(FlatList as any) as any;\n\ninterface AnimatedFlatListProps {\n onLayout: (event: LayoutChangeEvent) => void;\n // implicit `children` prop has been removed in @types/react^18.0.0\n children: React.ReactNode;\n inverted?: boolean;\n horizontal?: boolean;\n}\n\nconst createCellRenderer = (\n itemLayoutAnimation?: ILayoutAnimationBuilder,\n cellStyle?: StyleProps\n) => {\n const cellRenderer = (props: AnimatedFlatListProps) => {\n return (\n <ReanimatedView\n layout={itemLayoutAnimation}\n onLayout={props.onLayout}\n style={cellStyle}>\n {props.children}\n </ReanimatedView>\n );\n };\n\n return cellRenderer;\n};\n\nexport interface ReanimatedFlatListProps<ItemT> extends FlatListProps<ItemT> {\n itemLayoutAnimation?: ILayoutAnimationBuilder;\n}\n\ntype ReanimatedFlatListFC<T = any> = React.FC<ReanimatedFlatListProps<T>>;\n\nconst ReanimatedFlatlist: ReanimatedFlatListFC = forwardRef(\n (props: ReanimatedFlatListProps<any>, ref: ForwardedRef<FlatList>) => {\n const { itemLayoutAnimation, ...restProps } = props;\n\n const cellStyle = restProps?.inverted\n ? restProps?.horizontal\n ? styles.horizontallyInverted\n : styles.verticallyInverted\n : undefined;\n\n const cellRenderer = React.useMemo(\n () => createCellRenderer(itemLayoutAnimation, cellStyle),\n [cellStyle]\n );\n\n return (\n <AnimatedFlatList\n ref={ref}\n {...restProps}\n CellRendererComponent={cellRenderer}\n />\n );\n }\n);\n\nconst styles = StyleSheet.create({\n verticallyInverted: { transform: [{ scaleY: -1 }] },\n horizontallyInverted: { transform: [{ scaleX: -1 }] },\n});\n\nexport default ReanimatedFlatlist;\n"],"mappings":";;AAAA,OAAOA,KAAP,IAA8BC,UAA9B,QAAgD,OAAhD;AACA,SACEC,QADF,EAIEC,UAJF,QAKO,cALP;AAMA,OAAOC,cAAP,MAA2B,QAA3B;AACA,OAAOC,uBAAP,MAAoC,+BAApC;AAIA,MAAMC,gBAAgB,GAAGD,uBAAuB,CAACH,QAAD,CAAhD;;AAUA,MAAMK,kBAAkB,GAAG,CACzBC,mBADyB,EAEzBC,SAFyB,KAGtB;EACH,MAAMC,YAAY,GAAIC,KAAD,IAAkC;IACrD,oBACE,oBAAC,cAAD;MACE,MAAM,EAAEH,mBADV;MAEE,QAAQ,EAAEG,KAAK,CAACC,QAFlB;MAGE,KAAK,EAAEH;IAHT,GAIGE,KAAK,CAACE,QAJT,CADF;EAQD,CATD;;EAWA,OAAOH,YAAP;AACD,CAhBD;;AAwBA,MAAMI,kBAAwC,gBAAGb,UAAU,CACzD,CAACU,KAAD,EAAsCI,GAAtC,KAAsE;EACpE,MAAM;IAAEP,mBAAF;IAAuB,GAAGQ;EAA1B,IAAwCL,KAA9C;EAEA,MAAMF,SAAS,GAAGO,SAAS,SAAT,IAAAA,SAAS,WAAT,IAAAA,SAAS,CAAEC,QAAX,GACdD,SAAS,SAAT,IAAAA,SAAS,WAAT,IAAAA,SAAS,CAAEE,UAAX,GACEC,MAAM,CAACC,oBADT,GAEED,MAAM,CAACE,kBAHK,GAIdC,SAJJ;EAMA,MAAMZ,YAAY,GAAGV,KAAK,CAACuB,OAAN,CACnB,MAAMhB,kBAAkB,CAACC,mBAAD,EAAsBC,SAAtB,CADL,EAEnB,CAACA,SAAD,CAFmB,CAArB;EAKA,oBACE,oBAAC,gBAAD;IACE,GAAG,EAAEM;EADP,GAEMC,SAFN;IAGE,qBAAqB,EAAEN;EAHzB,GADF;AAOD,CAtBwD,CAA3D;AAyBA,MAAMS,MAAM,GAAGhB,UAAU,CAACqB,MAAX,CAAkB;EAC/BH,kBAAkB,EAAE;IAAEI,SAAS,EAAE,CAAC;MAAEC,MAAM,EAAE,CAAC;IAAX,CAAD;EAAb,CADW;EAE/BN,oBAAoB,EAAE;IAAEK,SAAS,EAAE,CAAC;MAAEE,MAAM,EAAE,CAAC;IAAX,CAAD;EAAb;AAFS,CAAlB,CAAf;AAKA,eAAeb,kBAAf"}
1
+ {"version":3,"names":["React","forwardRef","FlatList","StyleSheet","ReanimatedView","createAnimatedComponent","AnimatedFlatList","createCellRenderer","itemLayoutAnimation","cellStyle","cellRenderer","props","createElement","layout","onLayout","style","children","ReanimatedFlatlist","ref","restProps","inverted","horizontal","styles","horizontallyInverted","verticallyInverted","undefined","useMemo","_extends","CellRendererComponent","create","transform","scaleY","scaleX"],"sources":["FlatList.tsx"],"sourcesContent":["import React, { ForwardedRef, forwardRef } from 'react';\nimport {\n FlatList,\n FlatListProps,\n LayoutChangeEvent,\n StyleSheet,\n} from 'react-native';\nimport ReanimatedView from './View';\nimport createAnimatedComponent from '../../createAnimatedComponent';\nimport { ILayoutAnimationBuilder } from '../layoutReanimation/animationBuilder/commonTypes';\nimport { StyleProps } from '../commonTypes';\n\nconst AnimatedFlatList = createAnimatedComponent(FlatList as any) as any;\n\ninterface AnimatedFlatListProps {\n onLayout: (event: LayoutChangeEvent) => void;\n // implicit `children` prop has been removed in @types/react^18.0.0\n children: React.ReactNode;\n inverted?: boolean;\n horizontal?: boolean;\n}\n\nconst createCellRenderer = (\n itemLayoutAnimation?: ILayoutAnimationBuilder,\n cellStyle?: StyleProps\n) => {\n const cellRenderer = (props: AnimatedFlatListProps) => {\n return (\n <ReanimatedView\n layout={itemLayoutAnimation}\n onLayout={props.onLayout}\n style={cellStyle}>\n {props.children}\n </ReanimatedView>\n );\n };\n\n return cellRenderer;\n};\n\nexport interface ReanimatedFlatListProps<ItemT> extends FlatListProps<ItemT> {\n itemLayoutAnimation?: ILayoutAnimationBuilder;\n}\n\ntype ReanimatedFlatListFC<T = any> = React.FC<ReanimatedFlatListProps<T>>;\n\nconst ReanimatedFlatlist: ReanimatedFlatListFC = forwardRef(\n (props: ReanimatedFlatListProps<any>, ref: ForwardedRef<FlatList>) => {\n const { itemLayoutAnimation, ...restProps } = props;\n\n const cellStyle = restProps?.inverted\n ? restProps?.horizontal\n ? styles.horizontallyInverted\n : styles.verticallyInverted\n : undefined;\n\n const cellRenderer = React.useMemo(\n () => createCellRenderer(itemLayoutAnimation, cellStyle),\n [cellStyle]\n );\n\n return (\n <AnimatedFlatList\n ref={ref}\n {...restProps}\n CellRendererComponent={cellRenderer}\n />\n );\n }\n);\n\nconst styles = StyleSheet.create({\n verticallyInverted: { transform: [{ scaleY: -1 }] },\n horizontallyInverted: { transform: [{ scaleX: -1 }] },\n});\n\nexport default ReanimatedFlatlist;\n"],"mappings":";AAAA,OAAOA,KAAK,IAAkBC,UAAU,QAAQ,OAAO;AACvD,SACEC,QAAQ,EAGRC,UAAU,QACL,cAAc;AACrB,OAAOC,cAAc,MAAM,QAAQ;AACnC,OAAOC,uBAAuB,MAAM,+BAA+B;AAInE,MAAMC,gBAAgB,GAAGD,uBAAuB,CAACH,QAAQ,CAAe;AAUxE,MAAMK,kBAAkB,GAAGA,CACzBC,mBAA6C,EAC7CC,SAAsB,KACnB;EACH,MAAMC,YAAY,GAAIC,KAA4B,IAAK;IACrD,oBACEX,KAAA,CAAAY,aAAA,CAACR,cAAc;MACbS,MAAM,EAAEL,mBAAoB;MAC5BM,QAAQ,EAAEH,KAAK,CAACG,QAAS;MACzBC,KAAK,EAAEN;IAAU,GAChBE,KAAK,CAACK,QAAQ,CACA;EAErB,CAAC;EAED,OAAON,YAAY;AACrB,CAAC;AAQD,MAAMO,kBAAwC,gBAAGhB,UAAU,CACzD,CAACU,KAAmC,EAAEO,GAA2B,KAAK;EACpE,MAAM;IAAEV,mBAAmB;IAAE,GAAGW;EAAU,CAAC,GAAGR,KAAK;EAEnD,MAAMF,SAAS,GAAGU,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEC,QAAQ,GACjCD,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEE,UAAU,GACnBC,MAAM,CAACC,oBAAoB,GAC3BD,MAAM,CAACE,kBAAkB,GAC3BC,SAAS;EAEb,MAAMf,YAAY,GAAGV,KAAK,CAAC0B,OAAO,CAChC,MAAMnB,kBAAkB,CAACC,mBAAmB,EAAEC,SAAS,CAAC,EACxD,CAACA,SAAS,CAAC,CACZ;EAED,oBACET,KAAA,CAAAY,aAAA,CAACN,gBAAgB,EAAAqB,QAAA;IACfT,GAAG,EAAEA;EAAI,GACLC,SAAS;IACbS,qBAAqB,EAAElB;EAAa,GACpC;AAEN,CAAC,CACF;AAED,MAAMY,MAAM,GAAGnB,UAAU,CAAC0B,MAAM,CAAC;EAC/BL,kBAAkB,EAAE;IAAEM,SAAS,EAAE,CAAC;MAAEC,MAAM,EAAE,CAAC;IAAE,CAAC;EAAE,CAAC;EACnDR,oBAAoB,EAAE;IAAEO,SAAS,EAAE,CAAC;MAAEE,MAAM,EAAE,CAAC;IAAE,CAAC;EAAE;AACtD,CAAC,CAAC;AAEF,eAAef,kBAAkB"}
@@ -1 +1 @@
1
- {"version":3,"names":["Image","createAnimatedComponent","AnimatedImage"],"sources":["Image.ts"],"sourcesContent":["import { Image } from 'react-native';\nimport createAnimatedComponent from '../../createAnimatedComponent';\n\nconst AnimatedImage = createAnimatedComponent(Image as any);\n\nexport default AnimatedImage;\n"],"mappings":"AAAA,SAASA,KAAT,QAAsB,cAAtB;AACA,OAAOC,uBAAP,MAAoC,+BAApC;AAEA,MAAMC,aAAa,GAAGD,uBAAuB,CAACD,KAAD,CAA7C;AAEA,eAAeE,aAAf"}
1
+ {"version":3,"names":["Image","createAnimatedComponent","AnimatedImage"],"sources":["Image.ts"],"sourcesContent":["import { Image } from 'react-native';\nimport createAnimatedComponent from '../../createAnimatedComponent';\n\nconst AnimatedImage = createAnimatedComponent(Image as any);\n\nexport default AnimatedImage;\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,cAAc;AACpC,OAAOC,uBAAuB,MAAM,+BAA+B;AAEnE,MAAMC,aAAa,GAAGD,uBAAuB,CAACD,KAAK,CAAQ;AAE3D,eAAeE,aAAa"}
@@ -1 +1 @@
1
- {"version":3,"names":["ScrollView","createAnimatedComponent","AnimatedScrollView"],"sources":["ScrollView.ts"],"sourcesContent":["import { ScrollView } from 'react-native';\nimport createAnimatedComponent from '../../createAnimatedComponent';\n\nconst AnimatedScrollView = createAnimatedComponent(ScrollView);\n\nexport default AnimatedScrollView;\n"],"mappings":"AAAA,SAASA,UAAT,QAA2B,cAA3B;AACA,OAAOC,uBAAP,MAAoC,+BAApC;AAEA,MAAMC,kBAAkB,GAAGD,uBAAuB,CAACD,UAAD,CAAlD;AAEA,eAAeE,kBAAf"}
1
+ {"version":3,"names":["ScrollView","createAnimatedComponent","AnimatedScrollView"],"sources":["ScrollView.ts"],"sourcesContent":["import { ScrollView } from 'react-native';\nimport createAnimatedComponent from '../../createAnimatedComponent';\n\nconst AnimatedScrollView = createAnimatedComponent(ScrollView);\n\nexport default AnimatedScrollView;\n"],"mappings":"AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,OAAOC,uBAAuB,MAAM,+BAA+B;AAEnE,MAAMC,kBAAkB,GAAGD,uBAAuB,CAACD,UAAU,CAAC;AAE9D,eAAeE,kBAAkB"}
@@ -1 +1 @@
1
- {"version":3,"names":["Text","createAnimatedComponent","AnimatedText"],"sources":["Text.ts"],"sourcesContent":["import { Text } from 'react-native';\nimport createAnimatedComponent from '../../createAnimatedComponent';\n\nconst AnimatedText = createAnimatedComponent(Text as any);\n\nexport default AnimatedText;\n"],"mappings":"AAAA,SAASA,IAAT,QAAqB,cAArB;AACA,OAAOC,uBAAP,MAAoC,+BAApC;AAEA,MAAMC,YAAY,GAAGD,uBAAuB,CAACD,IAAD,CAA5C;AAEA,eAAeE,YAAf"}
1
+ {"version":3,"names":["Text","createAnimatedComponent","AnimatedText"],"sources":["Text.ts"],"sourcesContent":["import { Text } from 'react-native';\nimport createAnimatedComponent from '../../createAnimatedComponent';\n\nconst AnimatedText = createAnimatedComponent(Text as any);\n\nexport default AnimatedText;\n"],"mappings":"AAAA,SAASA,IAAI,QAAQ,cAAc;AACnC,OAAOC,uBAAuB,MAAM,+BAA+B;AAEnE,MAAMC,YAAY,GAAGD,uBAAuB,CAACD,IAAI,CAAQ;AAEzD,eAAeE,YAAY"}
@@ -1 +1 @@
1
- {"version":3,"names":["View","createAnimatedComponent","AnimatedView"],"sources":["View.ts"],"sourcesContent":["import { View } from 'react-native';\nimport createAnimatedComponent from '../../createAnimatedComponent';\n\nconst AnimatedView = createAnimatedComponent(View);\n\nexport default AnimatedView;\n"],"mappings":"AAAA,SAASA,IAAT,QAAqB,cAArB;AACA,OAAOC,uBAAP,MAAoC,+BAApC;AAEA,MAAMC,YAAY,GAAGD,uBAAuB,CAACD,IAAD,CAA5C;AAEA,eAAeE,YAAf"}
1
+ {"version":3,"names":["View","createAnimatedComponent","AnimatedView"],"sources":["View.ts"],"sourcesContent":["import { View } from 'react-native';\nimport createAnimatedComponent from '../../createAnimatedComponent';\n\nconst AnimatedView = createAnimatedComponent(View);\n\nexport default AnimatedView;\n"],"mappings":"AAAA,SAASA,IAAI,QAAQ,cAAc;AACnC,OAAOC,uBAAuB,MAAM,+BAA+B;AAEnE,MAAMC,YAAY,GAAGD,uBAAuB,CAACD,IAAI,CAAC;AAElD,eAAeE,YAAY"}
@@ -6,26 +6,20 @@ import { makeMutable as makeMutableUnwrapped, makeRemote as makeRemoteUnwrapped
6
6
  import { initializeUIRuntime } from './initializers';
7
7
  export { stopMapper } from './mappers';
8
8
  export { runOnJS, runOnUI } from './threads';
9
-
10
9
  const testWorklet = () => {
11
10
  'worklet';
12
11
  };
13
-
14
12
  const throwUninitializedReanimatedException = () => {
15
13
  throw new Error("Failed to initialize react-native-reanimated library, make sure you followed installation steps here: https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/installation/ \n1) Make sure reanimated's babel plugin is installed in your babel.config.js (you should have 'react-native-reanimated/plugin' listed there - also see the above link for details) \n2) Make sure you reset build cache after updating the config, run: yarn start --reset-cache");
16
14
  };
17
-
18
15
  export const checkPluginState = function () {
19
16
  let throwError = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
20
-
21
17
  if (!testWorklet.__workletHash && !shouldBeUseWeb()) {
22
18
  if (throwError) {
23
19
  throwUninitializedReanimatedException();
24
20
  }
25
-
26
21
  return false;
27
22
  }
28
-
29
23
  return true;
30
24
  };
31
25
  export const isConfigured = function () {
@@ -46,16 +40,13 @@ export const makeShareable = __DEV__ ? configurationCheckWrapper(makeShareableUn
46
40
  export const makeMutable = __DEV__ ? configurationCheckWrapper(makeMutableUnwrapped) : makeMutableUnwrapped;
47
41
  export const makeRemote = __DEV__ ? configurationCheckWrapper(makeRemoteUnwrapped) : makeRemoteUnwrapped;
48
42
  global._WORKLET = false;
49
-
50
43
  global._log = function (s) {
51
44
  console.log(s);
52
45
  };
53
-
54
46
  export function getViewProp(viewTag, propName) {
55
47
  if (global._IS_FABRIC) {
56
48
  throw new Error('[react-native-reanimated] `getViewProp` is not supported on Fabric yet');
57
49
  }
58
-
59
50
  return new Promise((resolve, reject) => {
60
51
  return NativeReanimatedModule.getViewProp(viewTag, propName, result => {
61
52
  if (typeof result === 'string' && result.substr(0, 6) === 'error:') {
@@ -67,18 +58,15 @@ export function getViewProp(viewTag, propName) {
67
58
  });
68
59
  }
69
60
  export function registerEventHandler(eventHash, eventHandler) {
70
- function handleAndFlushImmediates(eventTimestamp, event) {
61
+ function handleAndFlushAnimationFrame(eventTimestamp, event) {
71
62
  'worklet';
72
63
 
73
64
  global.__frameTimestamp = eventTimestamp;
74
65
  eventHandler(event);
75
-
76
66
  global.__flushAnimationFrame(eventTimestamp);
77
-
78
67
  global.__frameTimestamp = undefined;
79
68
  }
80
-
81
- return NativeReanimatedModule.registerEventHandler(eventHash, makeShareableCloneRecursive(handleAndFlushImmediates));
69
+ return NativeReanimatedModule.registerEventHandler(eventHash, makeShareableCloneRecursive(handleAndFlushAnimationFrame));
82
70
  }
83
71
  export function unregisterEventHandler(id) {
84
72
  return NativeReanimatedModule.unregisterEventHandler(id);
@@ -86,19 +74,16 @@ export function unregisterEventHandler(id) {
86
74
  export function subscribeForKeyboardEvents(eventHandler, options) {
87
75
  // TODO: this should really go with the same code path as other events, that is
88
76
  // via registerEventHandler. For now we are copying the code from there.
89
- function handleAndFlushImmediates(state, height) {
77
+ function handleAndFlushAnimationFrame(state, height) {
90
78
  'worklet';
91
79
 
92
80
  const now = performance.now();
93
81
  global.__frameTimestamp = now;
94
82
  eventHandler(state, height);
95
-
96
83
  global.__flushAnimationFrame(now);
97
-
98
84
  global.__frameTimestamp = undefined;
99
85
  }
100
-
101
- return NativeReanimatedModule.subscribeForKeyboardEvents(makeShareableCloneRecursive(handleAndFlushImmediates), options.isStatusBarTranslucentAndroid ?? false);
86
+ return NativeReanimatedModule.subscribeForKeyboardEvents(makeShareableCloneRecursive(handleAndFlushAnimationFrame), options.isStatusBarTranslucentAndroid ?? false);
102
87
  }
103
88
  export function unsubscribeFromKeyboardEvents(listenerId) {
104
89
  return NativeReanimatedModule.unsubscribeFromKeyboardEvents(listenerId);
@@ -108,19 +93,18 @@ export function registerSensor(sensorType, interval, iosReferenceFrame, eventHan
108
93
  }
109
94
  export function unregisterSensor(listenerId) {
110
95
  return NativeReanimatedModule.unregisterSensor(listenerId);
111
- } // initialize UI runtime if applicable
96
+ }
112
97
 
98
+ // initialize UI runtime if applicable
113
99
  if (!isWeb() && isConfigured()) {
114
100
  initializeUIRuntime();
115
101
  }
116
-
117
102
  let featuresConfig = {
118
103
  enableLayoutAnimations: false,
119
104
  setByUser: false
120
105
  };
121
106
  export function enableLayoutAnimations(flag) {
122
107
  let isCallByUser = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
123
-
124
108
  if (isCallByUser) {
125
109
  featuresConfig = {
126
110
  enableLayoutAnimations: flag,
@@ -1 +1 @@
1
- {"version":3,"names":["NativeReanimatedModule","nativeShouldBeMock","shouldBeUseWeb","isWeb","makeShareableCloneRecursive","makeShareable","makeShareableUnwrapped","startMapper","startMapperUnwrapped","makeMutable","makeMutableUnwrapped","makeRemote","makeRemoteUnwrapped","initializeUIRuntime","stopMapper","runOnJS","runOnUI","testWorklet","throwUninitializedReanimatedException","Error","checkPluginState","throwError","__workletHash","isConfigured","isConfiguredCheck","configurationCheckWrapper","__DEV__","fn","global","_WORKLET","_log","s","console","log","getViewProp","viewTag","propName","_IS_FABRIC","Promise","resolve","reject","result","substr","registerEventHandler","eventHash","eventHandler","handleAndFlushImmediates","eventTimestamp","event","__frameTimestamp","__flushAnimationFrame","undefined","unregisterEventHandler","id","subscribeForKeyboardEvents","options","state","height","now","performance","isStatusBarTranslucentAndroid","unsubscribeFromKeyboardEvents","listenerId","registerSensor","sensorType","interval","iosReferenceFrame","unregisterSensor","featuresConfig","enableLayoutAnimations","setByUser","flag","isCallByUser","configureLayoutAnimations","type","config","sharedTransitionTag","configureLayoutAnimation","configureProps","uiProps","nativeProps"],"sources":["core.ts"],"sourcesContent":["import NativeReanimatedModule from './NativeReanimated';\nimport { nativeShouldBeMock, shouldBeUseWeb, isWeb } from './PlatformChecker';\nimport {\n AnimatedKeyboardOptions,\n BasicWorkletFunction,\n Value3D,\n ValueRotation,\n} from './commonTypes';\nimport {\n makeShareableCloneRecursive,\n makeShareable as makeShareableUnwrapped,\n} from './shareables';\nimport { startMapper as startMapperUnwrapped } from './mappers';\nimport {\n makeMutable as makeMutableUnwrapped,\n makeRemote as makeRemoteUnwrapped,\n} from './mutables';\nimport {\n LayoutAnimationFunction,\n LayoutAnimationType,\n} from './layoutReanimation';\nimport { initializeUIRuntime } from './initializers';\n\nexport { stopMapper } from './mappers';\nexport { runOnJS, runOnUI } from './threads';\n\nexport type ReanimatedConsole = Pick<\n Console,\n 'debug' | 'log' | 'warn' | 'info' | 'error'\n>;\n\nconst testWorklet: BasicWorkletFunction<void> = () => {\n 'worklet';\n};\n\nconst throwUninitializedReanimatedException = () => {\n throw new Error(\n \"Failed to initialize react-native-reanimated library, make sure you followed installation steps here: https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/installation/ \\n1) Make sure reanimated's babel plugin is installed in your babel.config.js (you should have 'react-native-reanimated/plugin' listed there - also see the above link for details) \\n2) Make sure you reset build cache after updating the config, run: yarn start --reset-cache\"\n );\n};\n\nexport const checkPluginState: (throwError: boolean) => boolean = (\n throwError = true\n) => {\n if (!testWorklet.__workletHash && !shouldBeUseWeb()) {\n if (throwError) {\n throwUninitializedReanimatedException();\n }\n return false;\n }\n return true;\n};\n\nexport const isConfigured: (throwError?: boolean) => boolean = (\n throwError = false\n) => {\n return checkPluginState(throwError);\n};\n\nexport const isConfiguredCheck: () => void = () => {\n checkPluginState(true);\n};\n\nconst configurationCheckWrapper = __DEV__\n ? <T extends Array<any>, U>(fn: (...args: T) => U) => {\n return (...args: T): U => {\n isConfigured(true);\n return fn(...args);\n };\n }\n : <T extends Array<any>, U>(fn: (...args: T) => U) => fn;\n\nexport const startMapper = __DEV__\n ? configurationCheckWrapper(startMapperUnwrapped)\n : startMapperUnwrapped;\n\nexport const makeShareable = __DEV__\n ? configurationCheckWrapper(makeShareableUnwrapped)\n : makeShareableUnwrapped;\n\nexport const makeMutable = __DEV__\n ? configurationCheckWrapper(makeMutableUnwrapped)\n : makeMutableUnwrapped;\n\nexport const makeRemote = __DEV__\n ? configurationCheckWrapper(makeRemoteUnwrapped)\n : makeRemoteUnwrapped;\n\nglobal._WORKLET = false;\nglobal._log = function (s: string) {\n console.log(s);\n};\n\nexport function getViewProp<T>(viewTag: string, propName: string): Promise<T> {\n if (global._IS_FABRIC) {\n throw new Error(\n '[react-native-reanimated] `getViewProp` is not supported on Fabric yet'\n );\n }\n\n return new Promise((resolve, reject) => {\n return NativeReanimatedModule.getViewProp(\n viewTag,\n propName,\n (result: T) => {\n if (typeof result === 'string' && result.substr(0, 6) === 'error:') {\n reject(result);\n } else {\n resolve(result);\n }\n }\n );\n });\n}\n\nexport function registerEventHandler<T>(\n eventHash: string,\n eventHandler: (event: T) => void\n): string {\n function handleAndFlushImmediates(eventTimestamp: number, event: T) {\n 'worklet';\n global.__frameTimestamp = eventTimestamp;\n eventHandler(event);\n global.__flushAnimationFrame(eventTimestamp);\n global.__frameTimestamp = undefined;\n }\n return NativeReanimatedModule.registerEventHandler(\n eventHash,\n makeShareableCloneRecursive(handleAndFlushImmediates)\n );\n}\n\nexport function unregisterEventHandler(id: string): void {\n return NativeReanimatedModule.unregisterEventHandler(id);\n}\n\nexport function subscribeForKeyboardEvents(\n eventHandler: (state: number, height: number) => void,\n options: AnimatedKeyboardOptions\n): number {\n // TODO: this should really go with the same code path as other events, that is\n // via registerEventHandler. For now we are copying the code from there.\n function handleAndFlushImmediates(state: number, height: number) {\n 'worklet';\n const now = performance.now();\n global.__frameTimestamp = now;\n eventHandler(state, height);\n global.__flushAnimationFrame(now);\n global.__frameTimestamp = undefined;\n }\n return NativeReanimatedModule.subscribeForKeyboardEvents(\n makeShareableCloneRecursive(handleAndFlushImmediates),\n options.isStatusBarTranslucentAndroid ?? false\n );\n}\n\nexport function unsubscribeFromKeyboardEvents(listenerId: number): void {\n return NativeReanimatedModule.unsubscribeFromKeyboardEvents(listenerId);\n}\n\nexport function registerSensor(\n sensorType: number,\n interval: number,\n iosReferenceFrame: number,\n eventHandler: (\n data: Value3D | ValueRotation,\n orientationDegrees: number\n ) => void\n): number {\n return NativeReanimatedModule.registerSensor(\n sensorType,\n interval,\n iosReferenceFrame,\n makeShareableCloneRecursive(eventHandler)\n );\n}\n\nexport function unregisterSensor(listenerId: number): void {\n return NativeReanimatedModule.unregisterSensor(listenerId);\n}\n\n// initialize UI runtime if applicable\nif (!isWeb() && isConfigured()) {\n initializeUIRuntime();\n}\n\ntype FeaturesConfig = {\n enableLayoutAnimations: boolean;\n setByUser: boolean;\n};\n\nlet featuresConfig: FeaturesConfig = {\n enableLayoutAnimations: false,\n setByUser: false,\n};\n\nexport function enableLayoutAnimations(\n flag: boolean,\n isCallByUser = true\n): void {\n if (isCallByUser) {\n featuresConfig = {\n enableLayoutAnimations: flag,\n setByUser: true,\n };\n NativeReanimatedModule.enableLayoutAnimations(flag);\n } else if (\n !featuresConfig.setByUser &&\n featuresConfig.enableLayoutAnimations !== flag\n ) {\n featuresConfig.enableLayoutAnimations = flag;\n NativeReanimatedModule.enableLayoutAnimations(flag);\n }\n}\n\nexport function configureLayoutAnimations(\n viewTag: number,\n type: LayoutAnimationType,\n config: LayoutAnimationFunction | Keyframe,\n sharedTransitionTag = ''\n): void {\n NativeReanimatedModule.configureLayoutAnimation(\n viewTag,\n type,\n sharedTransitionTag,\n makeShareableCloneRecursive(config)\n );\n}\n\nexport function configureProps(uiProps: string[], nativeProps: string[]): void {\n if (!nativeShouldBeMock()) {\n NativeReanimatedModule.configureProps(uiProps, nativeProps);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["NativeReanimatedModule","nativeShouldBeMock","shouldBeUseWeb","isWeb","makeShareableCloneRecursive","makeShareable","makeShareableUnwrapped","startMapper","startMapperUnwrapped","makeMutable","makeMutableUnwrapped","makeRemote","makeRemoteUnwrapped","initializeUIRuntime","stopMapper","runOnJS","runOnUI","testWorklet","throwUninitializedReanimatedException","Error","checkPluginState","throwError","arguments","length","undefined","__workletHash","isConfigured","isConfiguredCheck","configurationCheckWrapper","__DEV__","fn","global","_WORKLET","_log","s","console","log","getViewProp","viewTag","propName","_IS_FABRIC","Promise","resolve","reject","result","substr","registerEventHandler","eventHash","eventHandler","handleAndFlushAnimationFrame","eventTimestamp","event","__frameTimestamp","__flushAnimationFrame","unregisterEventHandler","id","subscribeForKeyboardEvents","options","state","height","now","performance","isStatusBarTranslucentAndroid","unsubscribeFromKeyboardEvents","listenerId","registerSensor","sensorType","interval","iosReferenceFrame","unregisterSensor","featuresConfig","enableLayoutAnimations","setByUser","flag","isCallByUser","configureLayoutAnimations","type","config","sharedTransitionTag","configureLayoutAnimation","configureProps","uiProps","nativeProps"],"sources":["core.ts"],"sourcesContent":["import NativeReanimatedModule from './NativeReanimated';\nimport { nativeShouldBeMock, shouldBeUseWeb, isWeb } from './PlatformChecker';\nimport {\n AnimatedKeyboardOptions,\n BasicWorkletFunction,\n Value3D,\n ValueRotation,\n} from './commonTypes';\nimport {\n makeShareableCloneRecursive,\n makeShareable as makeShareableUnwrapped,\n} from './shareables';\nimport { startMapper as startMapperUnwrapped } from './mappers';\nimport {\n makeMutable as makeMutableUnwrapped,\n makeRemote as makeRemoteUnwrapped,\n} from './mutables';\nimport {\n LayoutAnimationFunction,\n LayoutAnimationType,\n} from './layoutReanimation';\nimport { initializeUIRuntime } from './initializers';\n\nexport { stopMapper } from './mappers';\nexport { runOnJS, runOnUI } from './threads';\n\nexport type ReanimatedConsole = Pick<\n Console,\n 'debug' | 'log' | 'warn' | 'info' | 'error'\n>;\n\nconst testWorklet: BasicWorkletFunction<void> = () => {\n 'worklet';\n};\n\nconst throwUninitializedReanimatedException = () => {\n throw new Error(\n \"Failed to initialize react-native-reanimated library, make sure you followed installation steps here: https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/installation/ \\n1) Make sure reanimated's babel plugin is installed in your babel.config.js (you should have 'react-native-reanimated/plugin' listed there - also see the above link for details) \\n2) Make sure you reset build cache after updating the config, run: yarn start --reset-cache\"\n );\n};\n\nexport const checkPluginState: (throwError: boolean) => boolean = (\n throwError = true\n) => {\n if (!testWorklet.__workletHash && !shouldBeUseWeb()) {\n if (throwError) {\n throwUninitializedReanimatedException();\n }\n return false;\n }\n return true;\n};\n\nexport const isConfigured: (throwError?: boolean) => boolean = (\n throwError = false\n) => {\n return checkPluginState(throwError);\n};\n\nexport const isConfiguredCheck: () => void = () => {\n checkPluginState(true);\n};\n\nconst configurationCheckWrapper = __DEV__\n ? <T extends Array<any>, U>(fn: (...args: T) => U) => {\n return (...args: T): U => {\n isConfigured(true);\n return fn(...args);\n };\n }\n : <T extends Array<any>, U>(fn: (...args: T) => U) => fn;\n\nexport const startMapper = __DEV__\n ? configurationCheckWrapper(startMapperUnwrapped)\n : startMapperUnwrapped;\n\nexport const makeShareable = __DEV__\n ? configurationCheckWrapper(makeShareableUnwrapped)\n : makeShareableUnwrapped;\n\nexport const makeMutable = __DEV__\n ? configurationCheckWrapper(makeMutableUnwrapped)\n : makeMutableUnwrapped;\n\nexport const makeRemote = __DEV__\n ? configurationCheckWrapper(makeRemoteUnwrapped)\n : makeRemoteUnwrapped;\n\nglobal._WORKLET = false;\nglobal._log = function (s: string) {\n console.log(s);\n};\n\nexport function getViewProp<T>(viewTag: string, propName: string): Promise<T> {\n if (global._IS_FABRIC) {\n throw new Error(\n '[react-native-reanimated] `getViewProp` is not supported on Fabric yet'\n );\n }\n\n return new Promise((resolve, reject) => {\n return NativeReanimatedModule.getViewProp(\n viewTag,\n propName,\n (result: T) => {\n if (typeof result === 'string' && result.substr(0, 6) === 'error:') {\n reject(result);\n } else {\n resolve(result);\n }\n }\n );\n });\n}\n\nexport function registerEventHandler<T>(\n eventHash: string,\n eventHandler: (event: T) => void\n): string {\n function handleAndFlushAnimationFrame(eventTimestamp: number, event: T) {\n 'worklet';\n global.__frameTimestamp = eventTimestamp;\n eventHandler(event);\n global.__flushAnimationFrame(eventTimestamp);\n global.__frameTimestamp = undefined;\n }\n return NativeReanimatedModule.registerEventHandler(\n eventHash,\n makeShareableCloneRecursive(handleAndFlushAnimationFrame)\n );\n}\n\nexport function unregisterEventHandler(id: string): void {\n return NativeReanimatedModule.unregisterEventHandler(id);\n}\n\nexport function subscribeForKeyboardEvents(\n eventHandler: (state: number, height: number) => void,\n options: AnimatedKeyboardOptions\n): number {\n // TODO: this should really go with the same code path as other events, that is\n // via registerEventHandler. For now we are copying the code from there.\n function handleAndFlushAnimationFrame(state: number, height: number) {\n 'worklet';\n const now = performance.now();\n global.__frameTimestamp = now;\n eventHandler(state, height);\n global.__flushAnimationFrame(now);\n global.__frameTimestamp = undefined;\n }\n return NativeReanimatedModule.subscribeForKeyboardEvents(\n makeShareableCloneRecursive(handleAndFlushAnimationFrame),\n options.isStatusBarTranslucentAndroid ?? false\n );\n}\n\nexport function unsubscribeFromKeyboardEvents(listenerId: number): void {\n return NativeReanimatedModule.unsubscribeFromKeyboardEvents(listenerId);\n}\n\nexport function registerSensor(\n sensorType: number,\n interval: number,\n iosReferenceFrame: number,\n eventHandler: (\n data: Value3D | ValueRotation,\n orientationDegrees: number\n ) => void\n): number {\n return NativeReanimatedModule.registerSensor(\n sensorType,\n interval,\n iosReferenceFrame,\n makeShareableCloneRecursive(eventHandler)\n );\n}\n\nexport function unregisterSensor(listenerId: number): void {\n return NativeReanimatedModule.unregisterSensor(listenerId);\n}\n\n// initialize UI runtime if applicable\nif (!isWeb() && isConfigured()) {\n initializeUIRuntime();\n}\n\ntype FeaturesConfig = {\n enableLayoutAnimations: boolean;\n setByUser: boolean;\n};\n\nlet featuresConfig: FeaturesConfig = {\n enableLayoutAnimations: false,\n setByUser: false,\n};\n\nexport function enableLayoutAnimations(\n flag: boolean,\n isCallByUser = true\n): void {\n if (isCallByUser) {\n featuresConfig = {\n enableLayoutAnimations: flag,\n setByUser: true,\n };\n NativeReanimatedModule.enableLayoutAnimations(flag);\n } else if (\n !featuresConfig.setByUser &&\n featuresConfig.enableLayoutAnimations !== flag\n ) {\n featuresConfig.enableLayoutAnimations = flag;\n NativeReanimatedModule.enableLayoutAnimations(flag);\n }\n}\n\nexport function configureLayoutAnimations(\n viewTag: number,\n type: LayoutAnimationType,\n config: LayoutAnimationFunction | Keyframe,\n sharedTransitionTag = ''\n): void {\n NativeReanimatedModule.configureLayoutAnimation(\n viewTag,\n type,\n sharedTransitionTag,\n makeShareableCloneRecursive(config)\n );\n}\n\nexport function configureProps(uiProps: string[], nativeProps: string[]): void {\n if (!nativeShouldBeMock()) {\n NativeReanimatedModule.configureProps(uiProps, nativeProps);\n }\n}\n"],"mappings":"AAAA,OAAOA,sBAAsB,MAAM,oBAAoB;AACvD,SAASC,kBAAkB,EAAEC,cAAc,EAAEC,KAAK,QAAQ,mBAAmB;AAO7E,SACEC,2BAA2B,EAC3BC,aAAa,IAAIC,sBAAsB,QAClC,cAAc;AACrB,SAASC,WAAW,IAAIC,oBAAoB,QAAQ,WAAW;AAC/D,SACEC,WAAW,IAAIC,oBAAoB,EACnCC,UAAU,IAAIC,mBAAmB,QAC5B,YAAY;AAKnB,SAASC,mBAAmB,QAAQ,gBAAgB;AAEpD,SAASC,UAAU,QAAQ,WAAW;AACtC,SAASC,OAAO,EAAEC,OAAO,QAAQ,WAAW;AAO5C,MAAMC,WAAuC,GAAGA,CAAA,KAAM;EACpD,SAAS;AACX,CAAC;AAED,MAAMC,qCAAqC,GAAGA,CAAA,KAAM;EAClD,MAAM,IAAIC,KAAK,CACb,4cAA4c,CAC7c;AACH,CAAC;AAED,OAAO,MAAMC,gBAAkD,GAAG,SAAAA,CAAA,EAE7D;EAAA,IADHC,UAAU,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EAEjB,IAAI,CAACL,WAAW,CAACQ,aAAa,IAAI,CAACvB,cAAc,EAAE,EAAE;IACnD,IAAImB,UAAU,EAAE;MACdH,qCAAqC,EAAE;IACzC;IACA,OAAO,KAAK;EACd;EACA,OAAO,IAAI;AACb,CAAC;AAED,OAAO,MAAMQ,YAA+C,GAAG,SAAAA,CAAA,EAE1D;EAAA,IADHL,UAAU,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAElB,OAAOF,gBAAgB,CAACC,UAAU,CAAC;AACrC,CAAC;AAED,OAAO,MAAMM,iBAA6B,GAAGA,CAAA,KAAM;EACjDP,gBAAgB,CAAC,IAAI,CAAC;AACxB,CAAC;AAED,MAAMQ,yBAAyB,GAAGC,OAAO,GACXC,EAAqB,IAAK;EAClD,OAAO,YAAmB;IACxBJ,YAAY,CAAC,IAAI,CAAC;IAClB,OAAOI,EAAE,CAAC,GAAAR,SAAO,CAAC;EACpB,CAAC;AACH,CAAC,GACyBQ,EAAqB,IAAKA,EAAE;AAE1D,OAAO,MAAMvB,WAAW,GAAGsB,OAAO,GAC9BD,yBAAyB,CAACpB,oBAAoB,CAAC,GAC/CA,oBAAoB;AAExB,OAAO,MAAMH,aAAa,GAAGwB,OAAO,GAChCD,yBAAyB,CAACtB,sBAAsB,CAAC,GACjDA,sBAAsB;AAE1B,OAAO,MAAMG,WAAW,GAAGoB,OAAO,GAC9BD,yBAAyB,CAAClB,oBAAoB,CAAC,GAC/CA,oBAAoB;AAExB,OAAO,MAAMC,UAAU,GAAGkB,OAAO,GAC7BD,yBAAyB,CAAChB,mBAAmB,CAAC,GAC9CA,mBAAmB;AAEvBmB,MAAM,CAACC,QAAQ,GAAG,KAAK;AACvBD,MAAM,CAACE,IAAI,GAAG,UAAUC,CAAS,EAAE;EACjCC,OAAO,CAACC,GAAG,CAACF,CAAC,CAAC;AAChB,CAAC;AAED,OAAO,SAASG,WAAWA,CAAIC,OAAe,EAAEC,QAAgB,EAAc;EAC5E,IAAIR,MAAM,CAACS,UAAU,EAAE;IACrB,MAAM,IAAIrB,KAAK,CACb,wEAAwE,CACzE;EACH;EAEA,OAAO,IAAIsB,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;IACtC,OAAO3C,sBAAsB,CAACqC,WAAW,CACvCC,OAAO,EACPC,QAAQ,EACPK,MAAS,IAAK;MACb,IAAI,OAAOA,MAAM,KAAK,QAAQ,IAAIA,MAAM,CAACC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,EAAE;QAClEF,MAAM,CAACC,MAAM,CAAC;MAChB,CAAC,MAAM;QACLF,OAAO,CAACE,MAAM,CAAC;MACjB;IACF,CAAC,CACF;EACH,CAAC,CAAC;AACJ;AAEA,OAAO,SAASE,oBAAoBA,CAClCC,SAAiB,EACjBC,YAAgC,EACxB;EACR,SAASC,4BAA4BA,CAACC,cAAsB,EAAEC,KAAQ,EAAE;IACtE,SAAS;;IACTpB,MAAM,CAACqB,gBAAgB,GAAGF,cAAc;IACxCF,YAAY,CAACG,KAAK,CAAC;IACnBpB,MAAM,CAACsB,qBAAqB,CAACH,cAAc,CAAC;IAC5CnB,MAAM,CAACqB,gBAAgB,GAAG5B,SAAS;EACrC;EACA,OAAOxB,sBAAsB,CAAC8C,oBAAoB,CAChDC,SAAS,EACT3C,2BAA2B,CAAC6C,4BAA4B,CAAC,CAC1D;AACH;AAEA,OAAO,SAASK,sBAAsBA,CAACC,EAAU,EAAQ;EACvD,OAAOvD,sBAAsB,CAACsD,sBAAsB,CAACC,EAAE,CAAC;AAC1D;AAEA,OAAO,SAASC,0BAA0BA,CACxCR,YAAqD,EACrDS,OAAgC,EACxB;EACR;EACA;EACA,SAASR,4BAA4BA,CAACS,KAAa,EAAEC,MAAc,EAAE;IACnE,SAAS;;IACT,MAAMC,GAAG,GAAGC,WAAW,CAACD,GAAG,EAAE;IAC7B7B,MAAM,CAACqB,gBAAgB,GAAGQ,GAAG;IAC7BZ,YAAY,CAACU,KAAK,EAAEC,MAAM,CAAC;IAC3B5B,MAAM,CAACsB,qBAAqB,CAACO,GAAG,CAAC;IACjC7B,MAAM,CAACqB,gBAAgB,GAAG5B,SAAS;EACrC;EACA,OAAOxB,sBAAsB,CAACwD,0BAA0B,CACtDpD,2BAA2B,CAAC6C,4BAA4B,CAAC,EACzDQ,OAAO,CAACK,6BAA6B,IAAI,KAAK,CAC/C;AACH;AAEA,OAAO,SAASC,6BAA6BA,CAACC,UAAkB,EAAQ;EACtE,OAAOhE,sBAAsB,CAAC+D,6BAA6B,CAACC,UAAU,CAAC;AACzE;AAEA,OAAO,SAASC,cAAcA,CAC5BC,UAAkB,EAClBC,QAAgB,EAChBC,iBAAyB,EACzBpB,YAGS,EACD;EACR,OAAOhD,sBAAsB,CAACiE,cAAc,CAC1CC,UAAU,EACVC,QAAQ,EACRC,iBAAiB,EACjBhE,2BAA2B,CAAC4C,YAAY,CAAC,CAC1C;AACH;AAEA,OAAO,SAASqB,gBAAgBA,CAACL,UAAkB,EAAQ;EACzD,OAAOhE,sBAAsB,CAACqE,gBAAgB,CAACL,UAAU,CAAC;AAC5D;;AAEA;AACA,IAAI,CAAC7D,KAAK,EAAE,IAAIuB,YAAY,EAAE,EAAE;EAC9Bb,mBAAmB,EAAE;AACvB;AAOA,IAAIyD,cAA8B,GAAG;EACnCC,sBAAsB,EAAE,KAAK;EAC7BC,SAAS,EAAE;AACb,CAAC;AAED,OAAO,SAASD,sBAAsBA,CACpCE,IAAa,EAEP;EAAA,IADNC,YAAY,GAAApD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EAEnB,IAAIoD,YAAY,EAAE;IAChBJ,cAAc,GAAG;MACfC,sBAAsB,EAAEE,IAAI;MAC5BD,SAAS,EAAE;IACb,CAAC;IACDxE,sBAAsB,CAACuE,sBAAsB,CAACE,IAAI,CAAC;EACrD,CAAC,MAAM,IACL,CAACH,cAAc,CAACE,SAAS,IACzBF,cAAc,CAACC,sBAAsB,KAAKE,IAAI,EAC9C;IACAH,cAAc,CAACC,sBAAsB,GAAGE,IAAI;IAC5CzE,sBAAsB,CAACuE,sBAAsB,CAACE,IAAI,CAAC;EACrD;AACF;AAEA,OAAO,SAASE,yBAAyBA,CACvCrC,OAAe,EACfsC,IAAyB,EACzBC,MAA0C,EAEpC;EAAA,IADNC,mBAAmB,GAAAxD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAExBtB,sBAAsB,CAAC+E,wBAAwB,CAC7CzC,OAAO,EACPsC,IAAI,EACJE,mBAAmB,EACnB1E,2BAA2B,CAACyE,MAAM,CAAC,CACpC;AACH;AAEA,OAAO,SAASG,cAAcA,CAACC,OAAiB,EAAEC,WAAqB,EAAQ;EAC7E,IAAI,CAACjF,kBAAkB,EAAE,EAAE;IACzBD,sBAAsB,CAACgF,cAAc,CAACC,OAAO,EAAEC,WAAW,CAAC;EAC7D;AACF"}
@@ -1,38 +1,28 @@
1
1
  const _workletStackDetails = new Map();
2
-
3
2
  export function registerWorkletStackDetails(hash, stackDetails) {
4
3
  _workletStackDetails.set(hash, stackDetails);
5
4
  }
6
-
7
5
  function getBundleOffset(error) {
8
6
  var _error$stack, _error$stack$split;
9
-
10
7
  const frame = (_error$stack = error.stack) === null || _error$stack === void 0 ? void 0 : (_error$stack$split = _error$stack.split('\n')) === null || _error$stack$split === void 0 ? void 0 : _error$stack$split[0];
11
-
12
8
  if (frame) {
13
9
  const parsedFrame = /@([^@]+):(\d+):(\d+)/.exec(frame);
14
-
15
10
  if (parsedFrame) {
16
11
  const [, file, line, col] = parsedFrame;
17
12
  return [file, Number(line), Number(col)];
18
13
  }
19
14
  }
20
-
21
15
  return ['unknown', 0, 0];
22
16
  }
23
-
24
17
  function processStack(stack) {
25
18
  const workletStackEntries = stack.match(/worklet_(\d+):(\d+):(\d+)/g);
26
19
  let result = stack;
27
20
  workletStackEntries === null || workletStackEntries === void 0 ? void 0 : workletStackEntries.forEach(match => {
28
21
  const [, hash, origLine, origCol] = match.split(/:|_/).map(Number);
29
-
30
22
  const errorDetails = _workletStackDetails.get(hash);
31
-
32
23
  if (!errorDetails) {
33
24
  return;
34
25
  }
35
-
36
26
  const [error, lineOffset, colOffset] = errorDetails;
37
27
  const [bundleFile, bundleLine, bundleCol] = getBundleOffset(error);
38
28
  const line = origLine + bundleLine + lineOffset;
@@ -41,7 +31,6 @@ function processStack(stack) {
41
31
  });
42
32
  return result;
43
33
  }
44
-
45
34
  export function reportFatalErrorOnJS(_ref) {
46
35
  let {
47
36
  message,
@@ -50,9 +39,10 @@ export function reportFatalErrorOnJS(_ref) {
50
39
  const error = new Error();
51
40
  error.message = message;
52
41
  error.stack = stack ? processStack(stack) : undefined;
53
- error.name = 'ReanimatedError'; // @ts-ignore React Native's ErrorUtils implementation extends the Error type with jsEngine field
54
-
42
+ error.name = 'ReanimatedError';
43
+ // @ts-ignore React Native's ErrorUtils implementation extends the Error type with jsEngine field
55
44
  error.jsEngine = 'reanimated';
45
+ // @ts-ignore the reportFatalError method is an internal method of ErrorUtils not exposed in the type definitions
56
46
  global.ErrorUtils.reportFatalError(error);
57
47
  }
58
48
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_workletStackDetails","Map","registerWorkletStackDetails","hash","stackDetails","set","getBundleOffset","error","frame","stack","split","parsedFrame","exec","file","line","col","Number","processStack","workletStackEntries","match","result","forEach","origLine","origCol","map","errorDetails","get","lineOffset","colOffset","bundleFile","bundleLine","bundleCol","replace","reportFatalErrorOnJS","message","Error","undefined","name","jsEngine","global","ErrorUtils","reportFatalError"],"sources":["errors.ts"],"sourcesContent":["type StackDetails = [Error, number, number];\n\nconst _workletStackDetails = new Map<number, StackDetails>();\n\nexport function registerWorkletStackDetails(\n hash: number,\n stackDetails: StackDetails\n) {\n _workletStackDetails.set(hash, stackDetails);\n}\n\nfunction getBundleOffset(error: Error): [string, number, number] {\n const frame = error.stack?.split('\\n')?.[0];\n if (frame) {\n const parsedFrame = /@([^@]+):(\\d+):(\\d+)/.exec(frame);\n if (parsedFrame) {\n const [, file, line, col] = parsedFrame;\n return [file, Number(line), Number(col)];\n }\n }\n return ['unknown', 0, 0];\n}\n\nfunction processStack(stack: string): string {\n const workletStackEntries = stack.match(/worklet_(\\d+):(\\d+):(\\d+)/g);\n let result = stack;\n workletStackEntries?.forEach((match) => {\n const [, hash, origLine, origCol] = match.split(/:|_/).map(Number);\n const errorDetails = _workletStackDetails.get(hash);\n if (!errorDetails) {\n return;\n }\n const [error, lineOffset, colOffset] = errorDetails;\n const [bundleFile, bundleLine, bundleCol] = getBundleOffset(error);\n const line = origLine + bundleLine + lineOffset;\n const col = origCol + bundleCol + colOffset;\n\n result = result.replace(match, `${bundleFile}:${line}:${col}`);\n });\n return result;\n}\n\nexport function reportFatalErrorOnJS({\n message,\n stack,\n}: {\n message: string;\n stack?: string;\n}) {\n const error = new Error();\n error.message = message;\n error.stack = stack ? processStack(stack) : undefined;\n error.name = 'ReanimatedError';\n // @ts-ignore React Native's ErrorUtils implementation extends the Error type with jsEngine field\n error.jsEngine = 'reanimated';\n global.ErrorUtils.reportFatalError(error);\n}\n"],"mappings":"AAEA,MAAMA,oBAAoB,GAAG,IAAIC,GAAJ,EAA7B;;AAEA,OAAO,SAASC,2BAAT,CACLC,IADK,EAELC,YAFK,EAGL;EACAJ,oBAAoB,CAACK,GAArB,CAAyBF,IAAzB,EAA+BC,YAA/B;AACD;;AAED,SAASE,eAAT,CAAyBC,KAAzB,EAAiE;EAAA;;EAC/D,MAAMC,KAAK,mBAAGD,KAAK,CAACE,KAAT,uEAAG,aAAaC,KAAb,CAAmB,IAAnB,CAAH,uDAAG,mBAA2B,CAA3B,CAAd;;EACA,IAAIF,KAAJ,EAAW;IACT,MAAMG,WAAW,GAAG,uBAAuBC,IAAvB,CAA4BJ,KAA5B,CAApB;;IACA,IAAIG,WAAJ,EAAiB;MACf,MAAM,GAAGE,IAAH,EAASC,IAAT,EAAeC,GAAf,IAAsBJ,WAA5B;MACA,OAAO,CAACE,IAAD,EAAOG,MAAM,CAACF,IAAD,CAAb,EAAqBE,MAAM,CAACD,GAAD,CAA3B,CAAP;IACD;EACF;;EACD,OAAO,CAAC,SAAD,EAAY,CAAZ,EAAe,CAAf,CAAP;AACD;;AAED,SAASE,YAAT,CAAsBR,KAAtB,EAA6C;EAC3C,MAAMS,mBAAmB,GAAGT,KAAK,CAACU,KAAN,CAAY,4BAAZ,CAA5B;EACA,IAAIC,MAAM,GAAGX,KAAb;EACAS,mBAAmB,SAAnB,IAAAA,mBAAmB,WAAnB,YAAAA,mBAAmB,CAAEG,OAArB,CAA8BF,KAAD,IAAW;IACtC,MAAM,GAAGhB,IAAH,EAASmB,QAAT,EAAmBC,OAAnB,IAA8BJ,KAAK,CAACT,KAAN,CAAY,KAAZ,EAAmBc,GAAnB,CAAuBR,MAAvB,CAApC;;IACA,MAAMS,YAAY,GAAGzB,oBAAoB,CAAC0B,GAArB,CAAyBvB,IAAzB,CAArB;;IACA,IAAI,CAACsB,YAAL,EAAmB;MACjB;IACD;;IACD,MAAM,CAAClB,KAAD,EAAQoB,UAAR,EAAoBC,SAApB,IAAiCH,YAAvC;IACA,MAAM,CAACI,UAAD,EAAaC,UAAb,EAAyBC,SAAzB,IAAsCzB,eAAe,CAACC,KAAD,CAA3D;IACA,MAAMO,IAAI,GAAGQ,QAAQ,GAAGQ,UAAX,GAAwBH,UAArC;IACA,MAAMZ,GAAG,GAAGQ,OAAO,GAAGQ,SAAV,GAAsBH,SAAlC;IAEAR,MAAM,GAAGA,MAAM,CAACY,OAAP,CAAeb,KAAf,EAAuB,GAAEU,UAAW,IAAGf,IAAK,IAAGC,GAAI,EAAnD,CAAT;EACD,CAZD;EAaA,OAAOK,MAAP;AACD;;AAED,OAAO,SAASa,oBAAT,OAMJ;EAAA,IANkC;IACnCC,OADmC;IAEnCzB;EAFmC,CAMlC;EACD,MAAMF,KAAK,GAAG,IAAI4B,KAAJ,EAAd;EACA5B,KAAK,CAAC2B,OAAN,GAAgBA,OAAhB;EACA3B,KAAK,CAACE,KAAN,GAAcA,KAAK,GAAGQ,YAAY,CAACR,KAAD,CAAf,GAAyB2B,SAA5C;EACA7B,KAAK,CAAC8B,IAAN,GAAa,iBAAb,CAJC,CAKD;;EACA9B,KAAK,CAAC+B,QAAN,GAAiB,YAAjB;EACAC,MAAM,CAACC,UAAP,CAAkBC,gBAAlB,CAAmClC,KAAnC;AACD"}
1
+ {"version":3,"names":["_workletStackDetails","Map","registerWorkletStackDetails","hash","stackDetails","set","getBundleOffset","error","_error$stack","_error$stack$split","frame","stack","split","parsedFrame","exec","file","line","col","Number","processStack","workletStackEntries","match","result","forEach","origLine","origCol","map","errorDetails","get","lineOffset","colOffset","bundleFile","bundleLine","bundleCol","replace","reportFatalErrorOnJS","_ref","message","Error","undefined","name","jsEngine","global","ErrorUtils","reportFatalError"],"sources":["errors.ts"],"sourcesContent":["type StackDetails = [Error, number, number];\n\nconst _workletStackDetails = new Map<number, StackDetails>();\n\nexport function registerWorkletStackDetails(\n hash: number,\n stackDetails: StackDetails\n) {\n _workletStackDetails.set(hash, stackDetails);\n}\n\nfunction getBundleOffset(error: Error): [string, number, number] {\n const frame = error.stack?.split('\\n')?.[0];\n if (frame) {\n const parsedFrame = /@([^@]+):(\\d+):(\\d+)/.exec(frame);\n if (parsedFrame) {\n const [, file, line, col] = parsedFrame;\n return [file, Number(line), Number(col)];\n }\n }\n return ['unknown', 0, 0];\n}\n\nfunction processStack(stack: string): string {\n const workletStackEntries = stack.match(/worklet_(\\d+):(\\d+):(\\d+)/g);\n let result = stack;\n workletStackEntries?.forEach((match) => {\n const [, hash, origLine, origCol] = match.split(/:|_/).map(Number);\n const errorDetails = _workletStackDetails.get(hash);\n if (!errorDetails) {\n return;\n }\n const [error, lineOffset, colOffset] = errorDetails;\n const [bundleFile, bundleLine, bundleCol] = getBundleOffset(error);\n const line = origLine + bundleLine + lineOffset;\n const col = origCol + bundleCol + colOffset;\n\n result = result.replace(match, `${bundleFile}:${line}:${col}`);\n });\n return result;\n}\n\nexport function reportFatalErrorOnJS({\n message,\n stack,\n}: {\n message: string;\n stack?: string;\n}) {\n const error = new Error();\n error.message = message;\n error.stack = stack ? processStack(stack) : undefined;\n error.name = 'ReanimatedError';\n // @ts-ignore React Native's ErrorUtils implementation extends the Error type with jsEngine field\n error.jsEngine = 'reanimated';\n // @ts-ignore the reportFatalError method is an internal method of ErrorUtils not exposed in the type definitions\n global.ErrorUtils.reportFatalError(error);\n}\n"],"mappings":"AAEA,MAAMA,oBAAoB,GAAG,IAAIC,GAAG,EAAwB;AAE5D,OAAO,SAASC,2BAA2BA,CACzCC,IAAY,EACZC,YAA0B,EAC1B;EACAJ,oBAAoB,CAACK,GAAG,CAACF,IAAI,EAAEC,YAAY,CAAC;AAC9C;AAEA,SAASE,eAAeA,CAACC,KAAY,EAA4B;EAAA,IAAAC,YAAA,EAAAC,kBAAA;EAC/D,MAAMC,KAAK,IAAAF,YAAA,GAAGD,KAAK,CAACI,KAAK,cAAAH,YAAA,wBAAAC,kBAAA,GAAXD,YAAA,CAAaI,KAAK,CAAC,IAAI,CAAC,cAAAH,kBAAA,uBAAxBA,kBAAA,CAA2B,CAAC,CAAC;EAC3C,IAAIC,KAAK,EAAE;IACT,MAAMG,WAAW,GAAG,sBAAsB,CAACC,IAAI,CAACJ,KAAK,CAAC;IACtD,IAAIG,WAAW,EAAE;MACf,MAAM,GAAGE,IAAI,EAAEC,IAAI,EAAEC,GAAG,CAAC,GAAGJ,WAAW;MACvC,OAAO,CAACE,IAAI,EAAEG,MAAM,CAACF,IAAI,CAAC,EAAEE,MAAM,CAACD,GAAG,CAAC,CAAC;IAC1C;EACF;EACA,OAAO,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;AAC1B;AAEA,SAASE,YAAYA,CAACR,KAAa,EAAU;EAC3C,MAAMS,mBAAmB,GAAGT,KAAK,CAACU,KAAK,CAAC,4BAA4B,CAAC;EACrE,IAAIC,MAAM,GAAGX,KAAK;EAClBS,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAEG,OAAO,CAAEF,KAAK,IAAK;IACtC,MAAM,GAAGlB,IAAI,EAAEqB,QAAQ,EAAEC,OAAO,CAAC,GAAGJ,KAAK,CAACT,KAAK,CAAC,KAAK,CAAC,CAACc,GAAG,CAACR,MAAM,CAAC;IAClE,MAAMS,YAAY,GAAG3B,oBAAoB,CAAC4B,GAAG,CAACzB,IAAI,CAAC;IACnD,IAAI,CAACwB,YAAY,EAAE;MACjB;IACF;IACA,MAAM,CAACpB,KAAK,EAAEsB,UAAU,EAAEC,SAAS,CAAC,GAAGH,YAAY;IACnD,MAAM,CAACI,UAAU,EAAEC,UAAU,EAAEC,SAAS,CAAC,GAAG3B,eAAe,CAACC,KAAK,CAAC;IAClE,MAAMS,IAAI,GAAGQ,QAAQ,GAAGQ,UAAU,GAAGH,UAAU;IAC/C,MAAMZ,GAAG,GAAGQ,OAAO,GAAGQ,SAAS,GAAGH,SAAS;IAE3CR,MAAM,GAAGA,MAAM,CAACY,OAAO,CAACb,KAAK,EAAG,GAAEU,UAAW,IAAGf,IAAK,IAAGC,GAAI,EAAC,CAAC;EAChE,CAAC,CAAC;EACF,OAAOK,MAAM;AACf;AAEA,OAAO,SAASa,oBAAoBA,CAAAC,IAAA,EAMjC;EAAA,IANkC;IACnCC,OAAO;IACP1B;EAIF,CAAC,GAAAyB,IAAA;EACC,MAAM7B,KAAK,GAAG,IAAI+B,KAAK,EAAE;EACzB/B,KAAK,CAAC8B,OAAO,GAAGA,OAAO;EACvB9B,KAAK,CAACI,KAAK,GAAGA,KAAK,GAAGQ,YAAY,CAACR,KAAK,CAAC,GAAG4B,SAAS;EACrDhC,KAAK,CAACiC,IAAI,GAAG,iBAAiB;EAC9B;EACAjC,KAAK,CAACkC,QAAQ,GAAG,YAAY;EAC7B;EACAC,MAAM,CAACC,UAAU,CAACC,gBAAgB,CAACrC,KAAK,CAAC;AAC3C"}
@@ -1,13 +1,13 @@
1
1
  /* eslint-disable camelcase */
2
+
2
3
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3
4
  let findHostInstance_DEPRECATED = _ref => null;
4
-
5
5
  try {
6
6
  // eslint-disable-next-line @typescript-eslint/no-var-requires
7
7
  findHostInstance_DEPRECATED = require('react-native/Libraries/Renderer/shims/ReactFabric').findHostInstance_DEPRECATED;
8
- } catch (e) {// do nothing
8
+ } catch (e) {
9
+ // do nothing
9
10
  }
10
-
11
11
  export function getShadowNodeWrapperFromHostInstance(hostInstance) {
12
12
  // @ts-ignore Fabric
13
13
  return hostInstance._internalInstanceHandle.stateNode.node;
@@ -1 +1 @@
1
- {"version":3,"names":["findHostInstance_DEPRECATED","_ref","require","e","getShadowNodeWrapperFromHostInstance","hostInstance","_internalInstanceHandle","stateNode","node","getShadowNodeWrapperFromRef","ref"],"sources":["fabricUtils.ts"],"sourcesContent":["/* eslint-disable camelcase */\n\nimport { ShadowNodeWrapper } from './commonTypes';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nlet findHostInstance_DEPRECATED = (_ref: React.Component) => null;\n\ntry {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n findHostInstance_DEPRECATED =\n require('react-native/Libraries/Renderer/shims/ReactFabric').findHostInstance_DEPRECATED;\n} catch (e) {\n // do nothing\n}\n\nexport function getShadowNodeWrapperFromHostInstance(\n hostInstance: unknown\n): ShadowNodeWrapper {\n // @ts-ignore Fabric\n return hostInstance._internalInstanceHandle.stateNode.node;\n}\n\nexport function getShadowNodeWrapperFromRef(\n ref: React.Component\n): ShadowNodeWrapper {\n return getShadowNodeWrapperFromHostInstance(findHostInstance_DEPRECATED(ref));\n}\n"],"mappings":"AAAA;AAIA;AACA,IAAIA,2BAA2B,GAAIC,IAAD,IAA2B,IAA7D;;AAEA,IAAI;EACF;EACAD,2BAA2B,GACzBE,OAAO,CAAC,mDAAD,CAAP,CAA6DF,2BAD/D;AAED,CAJD,CAIE,OAAOG,CAAP,EAAU,CACV;AACD;;AAED,OAAO,SAASC,oCAAT,CACLC,YADK,EAEc;EACnB;EACA,OAAOA,YAAY,CAACC,uBAAb,CAAqCC,SAArC,CAA+CC,IAAtD;AACD;AAED,OAAO,SAASC,2BAAT,CACLC,GADK,EAEc;EACnB,OAAON,oCAAoC,CAACJ,2BAA2B,CAACU,GAAD,CAA5B,CAA3C;AACD"}
1
+ {"version":3,"names":["findHostInstance_DEPRECATED","_ref","require","e","getShadowNodeWrapperFromHostInstance","hostInstance","_internalInstanceHandle","stateNode","node","getShadowNodeWrapperFromRef","ref"],"sources":["fabricUtils.ts"],"sourcesContent":["/* eslint-disable camelcase */\n\nimport { ShadowNodeWrapper } from './commonTypes';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nlet findHostInstance_DEPRECATED = (_ref: React.Component) => null;\n\ntry {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n findHostInstance_DEPRECATED =\n require('react-native/Libraries/Renderer/shims/ReactFabric').findHostInstance_DEPRECATED;\n} catch (e) {\n // do nothing\n}\n\nexport function getShadowNodeWrapperFromHostInstance(\n hostInstance: unknown\n): ShadowNodeWrapper {\n // @ts-ignore Fabric\n return hostInstance._internalInstanceHandle.stateNode.node;\n}\n\nexport function getShadowNodeWrapperFromRef(\n ref: React.Component\n): ShadowNodeWrapper {\n return getShadowNodeWrapperFromHostInstance(findHostInstance_DEPRECATED(ref));\n}\n"],"mappings":"AAAA;;AAIA;AACA,IAAIA,2BAA2B,GAAIC,IAAqB,IAAK,IAAI;AAEjE,IAAI;EACF;EACAD,2BAA2B,GACzBE,OAAO,CAAC,mDAAmD,CAAC,CAACF,2BAA2B;AAC5F,CAAC,CAAC,OAAOG,CAAC,EAAE;EACV;AAAA;AAGF,OAAO,SAASC,oCAAoCA,CAClDC,YAAqB,EACF;EACnB;EACA,OAAOA,YAAY,CAACC,uBAAuB,CAACC,SAAS,CAACC,IAAI;AAC5D;AAEA,OAAO,SAASC,2BAA2BA,CACzCC,GAAoB,EACD;EACnB,OAAON,oCAAoC,CAACJ,2BAA2B,CAACU,GAAG,CAAC,CAAC;AAC/E"}
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable camelcase */
2
+
2
3
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3
4
  const findHostInstance_DEPRECATED = _ref => null;
4
-
5
5
  export function getShadowNodeWrapperFromHostInstance(hostInstance) {
6
6
  // @ts-ignore Fabric
7
7
  return hostInstance._internalInstanceHandle.stateNode.node;
@@ -1 +1 @@
1
- {"version":3,"names":["findHostInstance_DEPRECATED","_ref","getShadowNodeWrapperFromHostInstance","hostInstance","_internalInstanceHandle","stateNode","node","getShadowNodeWrapperFromRef","ref"],"sources":["fabricUtils.web.ts"],"sourcesContent":["/* eslint-disable camelcase */\n\nimport { ShadowNodeWrapper } from './commonTypes';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst findHostInstance_DEPRECATED = (_ref: React.Component) => null;\n\nexport function getShadowNodeWrapperFromHostInstance(\n hostInstance: unknown\n): ShadowNodeWrapper {\n // @ts-ignore Fabric\n return hostInstance._internalInstanceHandle.stateNode.node;\n}\n\nexport function getShadowNodeWrapperFromRef(\n ref: React.Component\n): ShadowNodeWrapper {\n return getShadowNodeWrapperFromHostInstance(findHostInstance_DEPRECATED(ref));\n}\n"],"mappings":"AAAA;AAIA;AACA,MAAMA,2BAA2B,GAAIC,IAAD,IAA2B,IAA/D;;AAEA,OAAO,SAASC,oCAAT,CACLC,YADK,EAEc;EACnB;EACA,OAAOA,YAAY,CAACC,uBAAb,CAAqCC,SAArC,CAA+CC,IAAtD;AACD;AAED,OAAO,SAASC,2BAAT,CACLC,GADK,EAEc;EACnB,OAAON,oCAAoC,CAACF,2BAA2B,CAACQ,GAAD,CAA5B,CAA3C;AACD"}
1
+ {"version":3,"names":["findHostInstance_DEPRECATED","_ref","getShadowNodeWrapperFromHostInstance","hostInstance","_internalInstanceHandle","stateNode","node","getShadowNodeWrapperFromRef","ref"],"sources":["fabricUtils.web.ts"],"sourcesContent":["/* eslint-disable camelcase */\n\nimport { ShadowNodeWrapper } from './commonTypes';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst findHostInstance_DEPRECATED = (_ref: React.Component) => null;\n\nexport function getShadowNodeWrapperFromHostInstance(\n hostInstance: unknown\n): ShadowNodeWrapper {\n // @ts-ignore Fabric\n return hostInstance._internalInstanceHandle.stateNode.node;\n}\n\nexport function getShadowNodeWrapperFromRef(\n ref: React.Component\n): ShadowNodeWrapper {\n return getShadowNodeWrapperFromHostInstance(findHostInstance_DEPRECATED(ref));\n}\n"],"mappings":"AAAA;;AAIA;AACA,MAAMA,2BAA2B,GAAIC,IAAqB,IAAK,IAAI;AAEnE,OAAO,SAASC,oCAAoCA,CAClDC,YAAqB,EACF;EACnB;EACA,OAAOA,YAAY,CAACC,uBAAuB,CAACC,SAAS,CAACC,IAAI;AAC5D;AAEA,OAAO,SAASC,2BAA2BA,CACzCC,GAAoB,EACD;EACnB,OAAON,oCAAoC,CAACF,2BAA2B,CAACQ,GAAG,CAAC,CAAC;AAC/E"}
@@ -1,19 +1,17 @@
1
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
1
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
3
4
  import { runOnUI } from '../core';
4
5
  import { prepareUIRegistry } from './FrameCallbackRegistryUI';
5
6
  export default class FrameCallbackRegistryJS {
6
7
  constructor() {
7
8
  _defineProperty(this, "nextCallbackId", 0);
8
-
9
9
  prepareUIRegistry();
10
10
  }
11
-
12
11
  registerFrameCallback(callback) {
13
12
  if (!callback) {
14
13
  return -1;
15
14
  }
16
-
17
15
  const callbackId = this.nextCallbackId;
18
16
  this.nextCallbackId++;
19
17
  runOnUI(() => {
@@ -23,7 +21,6 @@ export default class FrameCallbackRegistryJS {
23
21
  })();
24
22
  return callbackId;
25
23
  }
26
-
27
24
  unregisterFrameCallback(callbackId) {
28
25
  runOnUI(() => {
29
26
  'worklet';
@@ -31,7 +28,6 @@ export default class FrameCallbackRegistryJS {
31
28
  global._frameCallbackRegistry.unregisterFrameCallback(callbackId);
32
29
  })();
33
30
  }
34
-
35
31
  manageStateFrameCallback(callbackId, state) {
36
32
  runOnUI(() => {
37
33
  'worklet';
@@ -39,6 +35,5 @@ export default class FrameCallbackRegistryJS {
39
35
  global._frameCallbackRegistry.manageStateFrameCallback(callbackId, state);
40
36
  })();
41
37
  }
42
-
43
38
  }
44
39
  //# sourceMappingURL=FrameCallbackRegistryJS.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["runOnUI","prepareUIRegistry","FrameCallbackRegistryJS","constructor","registerFrameCallback","callback","callbackId","nextCallbackId","global","_frameCallbackRegistry","unregisterFrameCallback","manageStateFrameCallback","state"],"sources":["FrameCallbackRegistryJS.ts"],"sourcesContent":["import { runOnUI } from '../core';\nimport { FrameInfo, prepareUIRegistry } from './FrameCallbackRegistryUI';\n\nexport default class FrameCallbackRegistryJS {\n private nextCallbackId = 0;\n\n constructor() {\n prepareUIRegistry();\n }\n\n registerFrameCallback(callback: (frameInfo: FrameInfo) => void): number {\n if (!callback) {\n return -1;\n }\n\n const callbackId = this.nextCallbackId;\n this.nextCallbackId++;\n\n runOnUI(() => {\n 'worklet';\n global._frameCallbackRegistry.registerFrameCallback(callback, callbackId);\n })();\n\n return callbackId;\n }\n\n unregisterFrameCallback(callbackId: number): void {\n runOnUI(() => {\n 'worklet';\n global._frameCallbackRegistry.unregisterFrameCallback(callbackId);\n })();\n }\n\n manageStateFrameCallback(callbackId: number, state: boolean): void {\n runOnUI(() => {\n 'worklet';\n global._frameCallbackRegistry.manageStateFrameCallback(callbackId, state);\n })();\n }\n}\n"],"mappings":";;AAAA,SAASA,OAAT,QAAwB,SAAxB;AACA,SAAoBC,iBAApB,QAA6C,2BAA7C;AAEA,eAAe,MAAMC,uBAAN,CAA8B;EAG3CC,WAAW,GAAG;IAAA,wCAFW,CAEX;;IACZF,iBAAiB;EAClB;;EAEDG,qBAAqB,CAACC,QAAD,EAAmD;IACtE,IAAI,CAACA,QAAL,EAAe;MACb,OAAO,CAAC,CAAR;IACD;;IAED,MAAMC,UAAU,GAAG,KAAKC,cAAxB;IACA,KAAKA,cAAL;IAEAP,OAAO,CAAC,MAAM;MACZ;;MACAQ,MAAM,CAACC,sBAAP,CAA8BL,qBAA9B,CAAoDC,QAApD,EAA8DC,UAA9D;IACD,CAHM,CAAP;IAKA,OAAOA,UAAP;EACD;;EAEDI,uBAAuB,CAACJ,UAAD,EAA2B;IAChDN,OAAO,CAAC,MAAM;MACZ;;MACAQ,MAAM,CAACC,sBAAP,CAA8BC,uBAA9B,CAAsDJ,UAAtD;IACD,CAHM,CAAP;EAID;;EAEDK,wBAAwB,CAACL,UAAD,EAAqBM,KAArB,EAA2C;IACjEZ,OAAO,CAAC,MAAM;MACZ;;MACAQ,MAAM,CAACC,sBAAP,CAA8BE,wBAA9B,CAAuDL,UAAvD,EAAmEM,KAAnE;IACD,CAHM,CAAP;EAID;;AAnC0C"}
1
+ {"version":3,"names":["runOnUI","prepareUIRegistry","FrameCallbackRegistryJS","constructor","_defineProperty","registerFrameCallback","callback","callbackId","nextCallbackId","global","_frameCallbackRegistry","unregisterFrameCallback","manageStateFrameCallback","state"],"sources":["FrameCallbackRegistryJS.ts"],"sourcesContent":["import { runOnUI } from '../core';\nimport { FrameInfo, prepareUIRegistry } from './FrameCallbackRegistryUI';\n\nexport default class FrameCallbackRegistryJS {\n private nextCallbackId = 0;\n\n constructor() {\n prepareUIRegistry();\n }\n\n registerFrameCallback(callback: (frameInfo: FrameInfo) => void): number {\n if (!callback) {\n return -1;\n }\n\n const callbackId = this.nextCallbackId;\n this.nextCallbackId++;\n\n runOnUI(() => {\n 'worklet';\n global._frameCallbackRegistry.registerFrameCallback(callback, callbackId);\n })();\n\n return callbackId;\n }\n\n unregisterFrameCallback(callbackId: number): void {\n runOnUI(() => {\n 'worklet';\n global._frameCallbackRegistry.unregisterFrameCallback(callbackId);\n })();\n }\n\n manageStateFrameCallback(callbackId: number, state: boolean): void {\n runOnUI(() => {\n 'worklet';\n global._frameCallbackRegistry.manageStateFrameCallback(callbackId, state);\n })();\n }\n}\n"],"mappings":";;;AAAA,SAASA,OAAO,QAAQ,SAAS;AACjC,SAAoBC,iBAAiB,QAAQ,2BAA2B;AAExE,eAAe,MAAMC,uBAAuB,CAAC;EAG3CC,WAAWA,CAAA,EAAG;IAAAC,eAAA,yBAFW,CAAC;IAGxBH,iBAAiB,EAAE;EACrB;EAEAI,qBAAqBA,CAACC,QAAwC,EAAU;IACtE,IAAI,CAACA,QAAQ,EAAE;MACb,OAAO,CAAC,CAAC;IACX;IAEA,MAAMC,UAAU,GAAG,IAAI,CAACC,cAAc;IACtC,IAAI,CAACA,cAAc,EAAE;IAErBR,OAAO,CAAC,MAAM;MACZ,SAAS;;MACTS,MAAM,CAACC,sBAAsB,CAACL,qBAAqB,CAACC,QAAQ,EAAEC,UAAU,CAAC;IAC3E,CAAC,CAAC,EAAE;IAEJ,OAAOA,UAAU;EACnB;EAEAI,uBAAuBA,CAACJ,UAAkB,EAAQ;IAChDP,OAAO,CAAC,MAAM;MACZ,SAAS;;MACTS,MAAM,CAACC,sBAAsB,CAACC,uBAAuB,CAACJ,UAAU,CAAC;IACnE,CAAC,CAAC,EAAE;EACN;EAEAK,wBAAwBA,CAACL,UAAkB,EAAEM,KAAc,EAAQ;IACjEb,OAAO,CAAC,MAAM;MACZ,SAAS;;MACTS,MAAM,CAACC,sBAAsB,CAACE,wBAAwB,CAACL,UAAU,EAAEM,KAAK,CAAC;IAC3E,CAAC,CAAC,EAAE;EACN;AACF"}
@@ -6,20 +6,21 @@ export const prepareUIRegistry = runOnUIImmediately(() => {
6
6
  frameCallbackRegistry: new Map(),
7
7
  activeFrameCallbacks: new Set(),
8
8
  previousFrameTimestamp: null,
9
-
10
- runCallbacks() {
9
+ nextCallId: 0,
10
+ runCallbacks(callId) {
11
11
  const loop = timestamp => {
12
+ if (callId !== this.nextCallId) {
13
+ return;
14
+ }
12
15
  if (this.previousFrameTimestamp === null) {
13
16
  this.previousFrameTimestamp = timestamp;
14
17
  }
15
-
16
18
  const delta = timestamp - this.previousFrameTimestamp;
17
19
  this.activeFrameCallbacks.forEach(callbackId => {
18
20
  const callbackDetails = this.frameCallbackRegistry.get(callbackId);
19
21
  const {
20
22
  startTime
21
23
  } = callbackDetails;
22
-
23
24
  if (startTime === null) {
24
25
  // First frame
25
26
  callbackDetails.startTime = timestamp;
@@ -37,50 +38,47 @@ export const prepareUIRegistry = runOnUIImmediately(() => {
37
38
  });
38
39
  }
39
40
  });
40
-
41
41
  if (this.activeFrameCallbacks.size > 0) {
42
42
  this.previousFrameTimestamp = timestamp;
43
43
  requestAnimationFrame(loop);
44
44
  } else {
45
45
  this.previousFrameTimestamp = null;
46
46
  }
47
- }; // runCallback() should only be called after registering a callback,
47
+ };
48
+
49
+ // runCallback() should only be called after registering a callback,
48
50
  // so if there is only one active callback, then it means that there were
49
51
  // zero previously and the loop isn't running yet.
50
-
51
-
52
- if (this.activeFrameCallbacks.size === 1) {
52
+ if (this.activeFrameCallbacks.size === 1 && callId === this.nextCallId) {
53
53
  requestAnimationFrame(loop);
54
54
  }
55
55
  },
56
-
57
56
  registerFrameCallback(callback, callbackId) {
58
57
  this.frameCallbackRegistry.set(callbackId, {
59
58
  callback: callback,
60
59
  startTime: null
61
60
  });
62
61
  },
63
-
64
62
  unregisterFrameCallback(callbackId) {
65
63
  this.manageStateFrameCallback(callbackId, false);
66
64
  this.frameCallbackRegistry.delete(callbackId);
67
65
  },
68
-
69
66
  manageStateFrameCallback(callbackId, state) {
70
67
  if (callbackId === -1) {
71
68
  return;
72
69
  }
73
-
74
70
  if (state) {
75
71
  this.activeFrameCallbacks.add(callbackId);
76
- this.runCallbacks();
72
+ this.runCallbacks(this.nextCallId);
77
73
  } else {
78
74
  const callback = this.frameCallbackRegistry.get(callbackId);
79
75
  callback.startTime = null;
80
76
  this.activeFrameCallbacks.delete(callbackId);
77
+ if (this.activeFrameCallbacks.size === 0) {
78
+ this.nextCallId += 1;
79
+ }
81
80
  }
82
81
  }
83
-
84
82
  };
85
83
  global._frameCallbackRegistry = frameCallbackRegistry;
86
84
  });