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.
- package/Common/cpp/Fabric/FabricUtils.h +1 -1
- package/Common/cpp/NativeModules/NativeReanimatedModule.cpp +38 -27
- package/Common/cpp/SharedItems/Shareables.h +22 -0
- package/Common/cpp/Tools/PlatformDepMethodsHolder.h +2 -0
- package/Common/cpp/Tools/RuntimeDecorator.cpp +4 -1
- package/Common/cpp/Tools/RuntimeDecorator.h +2 -1
- package/Common/cpp/Tools/SingleInstanceChecker.h +14 -2
- package/RNReanimated.podspec +5 -2
- package/android/CMakeLists.txt +4 -0
- package/android/build.gradle +18 -10
- package/android/src/main/cpp/NativeProxy.cpp +316 -337
- package/android/src/main/cpp/NativeProxy.h +53 -11
- package/android/src/main/java/com/swmansion/reanimated/NativeMethodsHelper.java +7 -12
- package/android/src/main/java/com/swmansion/reanimated/NodesManager.java +11 -8
- package/android/src/main/java/com/swmansion/reanimated/nativeProxy/NativeProxyCommon.java +21 -14
- package/android/src/paper/java/com/swmansion/reanimated/NativeProxy.java +0 -3
- package/ios/Fabric/REAInitializerRCTFabricSurface.mm +1 -0
- package/ios/REANodesManager.h +1 -0
- package/ios/REANodesManager.mm +30 -4
- package/ios/keyboardObserver/REAKeyboardEventObserver.m +51 -130
- package/ios/native/NativeMethods.mm +1 -1
- package/ios/native/NativeProxy.mm +4 -1
- package/ios/native/REAIOSErrorHandler.mm +1 -1
- package/ios/native/REAIOSLogger.mm +1 -1
- package/ios/native/REAIOSScheduler.mm +1 -1
- package/ios/native/REAInitializer.mm +1 -1
- package/ios/native/REAMessageThread.mm +2 -2
- package/lib/commonjs/Animated.js +0 -8
- package/lib/commonjs/Animated.js.map +1 -1
- package/lib/commonjs/ConfigHelper.js +8 -19
- package/lib/commonjs/ConfigHelper.js.map +1 -1
- package/lib/commonjs/createAnimatedComponent.js +20 -158
- package/lib/commonjs/createAnimatedComponent.js.map +1 -1
- package/lib/commonjs/index.js +0 -9
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +0 -7
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/reanimated2/Bezier.js +14 -34
- package/lib/commonjs/reanimated2/Bezier.js.map +1 -1
- package/lib/commonjs/reanimated2/Colors.js +60 -132
- package/lib/commonjs/reanimated2/Colors.js.map +1 -1
- package/lib/commonjs/reanimated2/Easing.js +81 -34
- package/lib/commonjs/reanimated2/Easing.js.map +1 -1
- package/lib/commonjs/reanimated2/NativeMethods.js +8 -20
- package/lib/commonjs/reanimated2/NativeMethods.js.map +1 -1
- package/lib/commonjs/reanimated2/NativeReanimated/NativeReanimated.js +5 -31
- package/lib/commonjs/reanimated2/NativeReanimated/NativeReanimated.js.map +1 -1
- package/lib/commonjs/reanimated2/NativeReanimated/index.js +0 -7
- package/lib/commonjs/reanimated2/NativeReanimated/index.js.map +1 -1
- package/lib/commonjs/reanimated2/PlatformChecker.js +0 -6
- package/lib/commonjs/reanimated2/PlatformChecker.js.map +1 -1
- package/lib/commonjs/reanimated2/PropAdapters.js +10 -12
- package/lib/commonjs/reanimated2/PropAdapters.js.map +1 -1
- package/lib/commonjs/reanimated2/UpdateProps.js +3 -12
- package/lib/commonjs/reanimated2/UpdateProps.js.map +1 -1
- package/lib/commonjs/reanimated2/ViewDescriptorsSet.js +0 -10
- package/lib/commonjs/reanimated2/ViewDescriptorsSet.js.map +1 -1
- package/lib/commonjs/reanimated2/WorkletEventHandler.js +5 -22
- package/lib/commonjs/reanimated2/WorkletEventHandler.js.map +1 -1
- package/lib/commonjs/reanimated2/animation/decay.js +7 -18
- package/lib/commonjs/reanimated2/animation/decay.js.map +1 -1
- package/lib/commonjs/reanimated2/animation/delay.js +0 -11
- package/lib/commonjs/reanimated2/animation/delay.js.map +1 -1
- package/lib/commonjs/reanimated2/animation/index.js +0 -8
- package/lib/commonjs/reanimated2/animation/index.js.map +1 -1
- package/lib/commonjs/reanimated2/animation/repeat.js +6 -22
- package/lib/commonjs/reanimated2/animation/repeat.js.map +1 -1
- package/lib/commonjs/reanimated2/animation/sequence.js +3 -20
- package/lib/commonjs/reanimated2/animation/sequence.js.map +1 -1
- package/lib/commonjs/reanimated2/animation/spring.js +11 -23
- package/lib/commonjs/reanimated2/animation/spring.js.map +1 -1
- package/lib/commonjs/reanimated2/animation/styleAnimation.js +3 -35
- package/lib/commonjs/reanimated2/animation/styleAnimation.js.map +1 -1
- package/lib/commonjs/reanimated2/animation/timing.js +0 -11
- package/lib/commonjs/reanimated2/animation/timing.js.map +1 -1
- package/lib/commonjs/reanimated2/animation/util.js +11 -41
- package/lib/commonjs/reanimated2/animation/util.js.map +1 -1
- package/lib/commonjs/reanimated2/commonTypes.js +16 -23
- package/lib/commonjs/reanimated2/commonTypes.js.map +1 -1
- package/lib/commonjs/reanimated2/component/FlatList.js +0 -16
- package/lib/commonjs/reanimated2/component/FlatList.js.map +1 -1
- package/lib/commonjs/reanimated2/component/Image.js +0 -4
- package/lib/commonjs/reanimated2/component/Image.js.map +1 -1
- package/lib/commonjs/reanimated2/component/ScrollView.js +0 -4
- package/lib/commonjs/reanimated2/component/ScrollView.js.map +1 -1
- package/lib/commonjs/reanimated2/component/Text.js +0 -4
- package/lib/commonjs/reanimated2/component/Text.js.map +1 -1
- package/lib/commonjs/reanimated2/component/View.js +0 -4
- package/lib/commonjs/reanimated2/component/View.js.map +1 -1
- package/lib/commonjs/reanimated2/core.js +6 -48
- package/lib/commonjs/reanimated2/core.js.map +1 -1
- package/lib/commonjs/reanimated2/errors.js +3 -14
- package/lib/commonjs/reanimated2/errors.js.map +1 -1
- package/lib/commonjs/reanimated2/fabricUtils.js +3 -5
- package/lib/commonjs/reanimated2/fabricUtils.js.map +1 -1
- package/lib/commonjs/reanimated2/fabricUtils.web.js +1 -3
- package/lib/commonjs/reanimated2/fabricUtils.web.js.map +1 -1
- package/lib/commonjs/reanimated2/frameCallback/FrameCallbackRegistryJS.js +3 -12
- package/lib/commonjs/reanimated2/frameCallback/FrameCallbackRegistryJS.js.map +1 -1
- package/lib/commonjs/reanimated2/frameCallback/FrameCallbackRegistryUI.js +13 -17
- package/lib/commonjs/reanimated2/frameCallback/FrameCallbackRegistryUI.js.map +1 -1
- package/lib/commonjs/reanimated2/globals.d.js.map +1 -1
- package/lib/commonjs/reanimated2/hook/Hooks.js +0 -5
- package/lib/commonjs/reanimated2/hook/Hooks.js.map +1 -1
- package/lib/commonjs/reanimated2/hook/commonTypes.js.map +1 -1
- package/lib/commonjs/reanimated2/hook/index.js +0 -12
- package/lib/commonjs/reanimated2/hook/index.js.map +1 -1
- package/lib/commonjs/reanimated2/hook/useAnimatedGestureHandler.js +4 -17
- package/lib/commonjs/reanimated2/hook/useAnimatedGestureHandler.js.map +1 -1
- package/lib/commonjs/reanimated2/hook/useAnimatedKeyboard.js +2 -9
- package/lib/commonjs/reanimated2/hook/useAnimatedKeyboard.js.map +1 -1
- package/lib/commonjs/reanimated2/hook/useAnimatedReaction.js +1 -11
- package/lib/commonjs/reanimated2/hook/useAnimatedReaction.js.map +1 -1
- package/lib/commonjs/reanimated2/hook/useAnimatedRef.js +0 -12
- package/lib/commonjs/reanimated2/hook/useAnimatedRef.js.map +1 -1
- package/lib/commonjs/reanimated2/hook/useAnimatedScrollHandler.js +2 -9
- package/lib/commonjs/reanimated2/hook/useAnimatedScrollHandler.js.map +1 -1
- package/lib/commonjs/reanimated2/hook/useAnimatedSensor.js +8 -23
- package/lib/commonjs/reanimated2/hook/useAnimatedSensor.js.map +1 -1
- package/lib/commonjs/reanimated2/hook/useAnimatedStyle.js +13 -71
- package/lib/commonjs/reanimated2/hook/useAnimatedStyle.js.map +1 -1
- package/lib/commonjs/reanimated2/hook/useDerivedValue.js +4 -13
- package/lib/commonjs/reanimated2/hook/useDerivedValue.js.map +1 -1
- package/lib/commonjs/reanimated2/hook/useFrameCallback.js +0 -5
- package/lib/commonjs/reanimated2/hook/useFrameCallback.js.map +1 -1
- package/lib/commonjs/reanimated2/hook/useScrollViewOffset.js +0 -7
- package/lib/commonjs/reanimated2/hook/useScrollViewOffset.js.map +1 -1
- package/lib/commonjs/reanimated2/hook/useSharedValue.js +2 -7
- package/lib/commonjs/reanimated2/hook/useSharedValue.js.map +1 -1
- package/lib/commonjs/reanimated2/hook/utils.js +8 -39
- package/lib/commonjs/reanimated2/hook/utils.js.map +1 -1
- package/lib/commonjs/reanimated2/index.js +0 -26
- package/lib/commonjs/reanimated2/index.js.map +1 -1
- package/lib/commonjs/reanimated2/initializers.js +21 -43
- package/lib/commonjs/reanimated2/initializers.js.map +1 -1
- package/lib/commonjs/reanimated2/interpolateColor.js +6 -43
- package/lib/commonjs/reanimated2/interpolateColor.js.map +1 -1
- package/lib/commonjs/reanimated2/interpolation.js +14 -29
- package/lib/commonjs/reanimated2/interpolation.js.map +1 -1
- package/lib/commonjs/reanimated2/jestUtils.js +11 -44
- package/lib/commonjs/reanimated2/jestUtils.js.map +1 -1
- package/lib/commonjs/reanimated2/js-reanimated/JSReanimated.js +15 -39
- package/lib/commonjs/reanimated2/js-reanimated/JSReanimated.js.map +1 -1
- package/lib/commonjs/reanimated2/js-reanimated/Mapper.js +9 -28
- package/lib/commonjs/reanimated2/js-reanimated/Mapper.js.map +1 -1
- package/lib/commonjs/reanimated2/js-reanimated/MapperRegistry.js +7 -37
- package/lib/commonjs/reanimated2/js-reanimated/MapperRegistry.js.map +1 -1
- package/lib/commonjs/reanimated2/js-reanimated/MutableValue.js +5 -18
- package/lib/commonjs/reanimated2/js-reanimated/MutableValue.js.map +1 -1
- package/lib/commonjs/reanimated2/js-reanimated/global.js +2 -9
- package/lib/commonjs/reanimated2/js-reanimated/global.js.map +1 -1
- package/lib/commonjs/reanimated2/js-reanimated/index.js +3 -14
- package/lib/commonjs/reanimated2/js-reanimated/index.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js +7 -26
- package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js +3 -49
- package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/Keyframe.js +7 -43
- package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/Keyframe.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/commonTypes.js +4 -5
- package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/commonTypes.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/index.js +0 -4
- package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/index.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/animationsManager.js +4 -23
- package/lib/commonjs/reanimated2/layoutReanimation/animationsManager.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Bounce.js +3 -74
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Bounce.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Fade.js +3 -53
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Fade.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Flip.js +3 -63
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Flip.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js +7 -26
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js +3 -13
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Roll.js +3 -23
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Roll.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Rotate.js +3 -43
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Rotate.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Slide.js +3 -43
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Slide.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Stretch.js +3 -23
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Stretch.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Zoom.js +3 -83
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Zoom.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/index.js +0 -20
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/index.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js +3 -22
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js +5 -29
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js +3 -9
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js +5 -11
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js +3 -8
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js +3 -12
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/index.js +0 -12
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/index.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/index.js +0 -9
- package/lib/commonjs/reanimated2/layoutReanimation/index.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/sharedTransitions/index.js +3 -17
- package/lib/commonjs/reanimated2/layoutReanimation/sharedTransitions/index.js.map +1 -1
- package/lib/commonjs/reanimated2/mappers.js +26 -32
- package/lib/commonjs/reanimated2/mappers.js.map +1 -1
- package/lib/commonjs/reanimated2/mock.js +5 -15
- package/lib/commonjs/reanimated2/mock.js.map +1 -1
- package/lib/commonjs/reanimated2/mutables.js +2 -28
- package/lib/commonjs/reanimated2/mutables.js.map +1 -1
- package/lib/commonjs/reanimated2/platform-specific/RNRenderer.js +0 -2
- package/lib/commonjs/reanimated2/platform-specific/RNRenderer.js.map +1 -1
- package/lib/commonjs/reanimated2/platform-specific/RNRenderer.web.js.map +1 -1
- package/lib/commonjs/reanimated2/platform-specific/checkCppVersion.js +31 -0
- package/lib/commonjs/reanimated2/platform-specific/checkCppVersion.js.map +1 -0
- package/lib/commonjs/reanimated2/platform-specific/checkVersion.web.js +0 -2
- package/lib/commonjs/reanimated2/platform-specific/checkVersion.web.js.map +1 -1
- package/lib/commonjs/reanimated2/platform-specific/jsVersion.js +14 -0
- package/lib/commonjs/reanimated2/platform-specific/jsVersion.js.map +1 -0
- package/lib/commonjs/reanimated2/pluginUtils.js +0 -1
- package/lib/commonjs/reanimated2/pluginUtils.js.map +1 -1
- package/lib/commonjs/reanimated2/shareables.js +92 -49
- package/lib/commonjs/reanimated2/shareables.js.map +1 -1
- package/lib/commonjs/reanimated2/threads.js +42 -46
- package/lib/commonjs/reanimated2/threads.js.map +1 -1
- package/lib/commonjs/reanimated2/utils.js +0 -5
- package/lib/commonjs/reanimated2/utils.js.map +1 -1
- package/lib/commonjs/reanimated2/valueSetter.js +6 -21
- package/lib/commonjs/reanimated2/valueSetter.js.map +1 -1
- package/lib/commonjs/setAndForwardRef.js +3 -3
- package/lib/commonjs/setAndForwardRef.js.map +1 -1
- package/lib/module/Animated.js.map +1 -1
- package/lib/module/ConfigHelper.js +9 -15
- package/lib/module/ConfigHelper.js.map +1 -1
- package/lib/module/createAnimatedComponent.js +20 -139
- package/lib/module/createAnimatedComponent.js.map +1 -1
- package/lib/module/index.js +0 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/reanimated2/Bezier.js +14 -33
- package/lib/module/reanimated2/Bezier.js.map +1 -1
- package/lib/module/reanimated2/Colors.js +59 -109
- package/lib/module/reanimated2/Colors.js.map +1 -1
- package/lib/module/reanimated2/Easing.js +37 -33
- package/lib/module/reanimated2/Easing.js.map +1 -1
- package/lib/module/reanimated2/NativeMethods.js +8 -15
- package/lib/module/reanimated2/NativeMethods.js.map +1 -1
- package/lib/module/reanimated2/NativeReanimated/NativeReanimated.js +5 -27
- package/lib/module/reanimated2/NativeReanimated/NativeReanimated.js.map +1 -1
- package/lib/module/reanimated2/NativeReanimated/index.js +0 -2
- package/lib/module/reanimated2/NativeReanimated/index.js.map +1 -1
- package/lib/module/reanimated2/PlatformChecker.js.map +1 -1
- package/lib/module/reanimated2/PropAdapters.js +12 -10
- package/lib/module/reanimated2/PropAdapters.js.map +1 -1
- package/lib/module/reanimated2/UpdateProps.js +3 -5
- package/lib/module/reanimated2/UpdateProps.js.map +1 -1
- package/lib/module/reanimated2/ViewDescriptorsSet.js +0 -6
- package/lib/module/reanimated2/ViewDescriptorsSet.js.map +1 -1
- package/lib/module/reanimated2/WorkletEventHandler.js +5 -18
- package/lib/module/reanimated2/WorkletEventHandler.js.map +1 -1
- package/lib/module/reanimated2/animation/decay.js +7 -15
- package/lib/module/reanimated2/animation/decay.js.map +1 -1
- package/lib/module/reanimated2/animation/delay.js +0 -9
- package/lib/module/reanimated2/animation/delay.js.map +1 -1
- package/lib/module/reanimated2/animation/index.js.map +1 -1
- package/lib/module/reanimated2/animation/repeat.js +6 -20
- package/lib/module/reanimated2/animation/repeat.js.map +1 -1
- package/lib/module/reanimated2/animation/sequence.js +3 -18
- package/lib/module/reanimated2/animation/sequence.js.map +1 -1
- package/lib/module/reanimated2/animation/spring.js +11 -21
- package/lib/module/reanimated2/animation/spring.js.map +1 -1
- package/lib/module/reanimated2/animation/styleAnimation.js +7 -31
- package/lib/module/reanimated2/animation/styleAnimation.js.map +1 -1
- package/lib/module/reanimated2/animation/timing.js +0 -8
- package/lib/module/reanimated2/animation/timing.js.map +1 -1
- package/lib/module/reanimated2/animation/util.js +10 -33
- package/lib/module/reanimated2/animation/util.js.map +1 -1
- package/lib/module/reanimated2/commonTypes.js +12 -19
- package/lib/module/reanimated2/commonTypes.js.map +1 -1
- package/lib/module/reanimated2/component/FlatList.js +0 -4
- package/lib/module/reanimated2/component/FlatList.js.map +1 -1
- package/lib/module/reanimated2/component/Image.js.map +1 -1
- package/lib/module/reanimated2/component/ScrollView.js.map +1 -1
- package/lib/module/reanimated2/component/Text.js.map +1 -1
- package/lib/module/reanimated2/component/View.js.map +1 -1
- package/lib/module/reanimated2/core.js +6 -22
- package/lib/module/reanimated2/core.js.map +1 -1
- package/lib/module/reanimated2/errors.js +3 -13
- package/lib/module/reanimated2/errors.js.map +1 -1
- package/lib/module/reanimated2/fabricUtils.js +3 -3
- package/lib/module/reanimated2/fabricUtils.js.map +1 -1
- package/lib/module/reanimated2/fabricUtils.web.js +1 -1
- package/lib/module/reanimated2/fabricUtils.web.js.map +1 -1
- package/lib/module/reanimated2/frameCallback/FrameCallbackRegistryJS.js +3 -8
- package/lib/module/reanimated2/frameCallback/FrameCallbackRegistryJS.js.map +1 -1
- package/lib/module/reanimated2/frameCallback/FrameCallbackRegistryUI.js +13 -15
- package/lib/module/reanimated2/frameCallback/FrameCallbackRegistryUI.js.map +1 -1
- package/lib/module/reanimated2/globals.d.js.map +1 -1
- package/lib/module/reanimated2/hook/Hooks.js +3 -2
- package/lib/module/reanimated2/hook/Hooks.js.map +1 -1
- package/lib/module/reanimated2/hook/commonTypes.js.map +1 -1
- package/lib/module/reanimated2/hook/index.js.map +1 -1
- package/lib/module/reanimated2/hook/useAnimatedGestureHandler.js +3 -14
- package/lib/module/reanimated2/hook/useAnimatedGestureHandler.js.map +1 -1
- package/lib/module/reanimated2/hook/useAnimatedKeyboard.js +2 -5
- package/lib/module/reanimated2/hook/useAnimatedKeyboard.js.map +1 -1
- package/lib/module/reanimated2/hook/useAnimatedReaction.js +1 -7
- package/lib/module/reanimated2/hook/useAnimatedReaction.js.map +1 -1
- package/lib/module/reanimated2/hook/useAnimatedRef.js +0 -6
- package/lib/module/reanimated2/hook/useAnimatedRef.js.map +1 -1
- package/lib/module/reanimated2/hook/useAnimatedScrollHandler.js +2 -7
- package/lib/module/reanimated2/hook/useAnimatedScrollHandler.js.map +1 -1
- package/lib/module/reanimated2/hook/useAnimatedSensor.js +9 -20
- package/lib/module/reanimated2/hook/useAnimatedSensor.js.map +1 -1
- package/lib/module/reanimated2/hook/useAnimatedStyle.js +13 -59
- package/lib/module/reanimated2/hook/useAnimatedStyle.js.map +1 -1
- package/lib/module/reanimated2/hook/useDerivedValue.js +4 -8
- package/lib/module/reanimated2/hook/useDerivedValue.js.map +1 -1
- package/lib/module/reanimated2/hook/useFrameCallback.js.map +1 -1
- package/lib/module/reanimated2/hook/useScrollViewOffset.js +0 -1
- package/lib/module/reanimated2/hook/useScrollViewOffset.js.map +1 -1
- package/lib/module/reanimated2/hook/useSharedValue.js +2 -3
- package/lib/module/reanimated2/hook/useSharedValue.js.map +1 -1
- package/lib/module/reanimated2/hook/utils.js +8 -21
- package/lib/module/reanimated2/hook/utils.js.map +1 -1
- package/lib/module/reanimated2/index.js.map +1 -1
- package/lib/module/reanimated2/initializers.js +23 -37
- package/lib/module/reanimated2/initializers.js.map +1 -1
- package/lib/module/reanimated2/interpolateColor.js +5 -34
- package/lib/module/reanimated2/interpolateColor.js.map +1 -1
- package/lib/module/reanimated2/interpolation.js +13 -28
- package/lib/module/reanimated2/interpolation.js.map +1 -1
- package/lib/module/reanimated2/jestUtils.js +11 -35
- package/lib/module/reanimated2/jestUtils.js.map +1 -1
- package/lib/module/reanimated2/js-reanimated/JSReanimated.js +15 -35
- package/lib/module/reanimated2/js-reanimated/JSReanimated.js.map +1 -1
- package/lib/module/reanimated2/js-reanimated/Mapper.js +9 -23
- package/lib/module/reanimated2/js-reanimated/Mapper.js.map +1 -1
- package/lib/module/reanimated2/js-reanimated/MapperRegistry.js +7 -35
- package/lib/module/reanimated2/js-reanimated/MapperRegistry.js.map +1 -1
- package/lib/module/reanimated2/js-reanimated/MutableValue.js +5 -16
- package/lib/module/reanimated2/js-reanimated/MutableValue.js.map +1 -1
- package/lib/module/reanimated2/js-reanimated/global.js +2 -6
- package/lib/module/reanimated2/js-reanimated/global.js.map +1 -1
- package/lib/module/reanimated2/js-reanimated/index.js +3 -9
- package/lib/module/reanimated2/js-reanimated/index.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js +7 -23
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js +3 -45
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/Keyframe.js +7 -39
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/Keyframe.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/commonTypes.js +3 -3
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/commonTypes.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/index.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/animationsManager.js +4 -19
- package/lib/module/reanimated2/layoutReanimation/animationsManager.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Bounce.js +3 -52
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Bounce.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Fade.js +3 -32
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Fade.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Flip.js +3 -38
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Flip.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js +7 -16
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js +3 -8
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Roll.js +3 -14
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Roll.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Rotate.js +3 -26
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Rotate.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Slide.js +3 -26
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Slide.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Stretch.js +3 -14
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Stretch.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Zoom.js +3 -50
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Zoom.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/index.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js +3 -17
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js +5 -23
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js +3 -5
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js +5 -6
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js +3 -5
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js +3 -8
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/index.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/index.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/sharedTransitions/index.js +3 -13
- package/lib/module/reanimated2/layoutReanimation/sharedTransitions/index.js.map +1 -1
- package/lib/module/reanimated2/mappers.js +26 -25
- package/lib/module/reanimated2/mappers.js.map +1 -1
- package/lib/module/reanimated2/mock.js +5 -15
- package/lib/module/reanimated2/mock.js.map +1 -1
- package/lib/module/reanimated2/mutables.js +2 -19
- package/lib/module/reanimated2/mutables.js.map +1 -1
- package/lib/module/reanimated2/platform-specific/RNRenderer.js.map +1 -1
- package/lib/module/reanimated2/platform-specific/RNRenderer.web.js.map +1 -1
- package/lib/module/reanimated2/platform-specific/checkCppVersion.js +24 -0
- package/lib/module/reanimated2/platform-specific/checkCppVersion.js.map +1 -0
- package/lib/module/reanimated2/platform-specific/checkVersion.web.js +0 -1
- package/lib/module/reanimated2/platform-specific/checkVersion.web.js.map +1 -1
- package/lib/module/reanimated2/platform-specific/jsVersion.js +7 -0
- package/lib/module/reanimated2/platform-specific/jsVersion.js.map +1 -0
- package/lib/module/reanimated2/pluginUtils.js.map +1 -1
- package/lib/module/reanimated2/shareables.js +96 -44
- package/lib/module/reanimated2/shareables.js.map +1 -1
- package/lib/module/reanimated2/threads.js +39 -33
- package/lib/module/reanimated2/threads.js.map +1 -1
- package/lib/module/reanimated2/utils.js +0 -3
- package/lib/module/reanimated2/utils.js.map +1 -1
- package/lib/module/reanimated2/valueSetter.js +6 -19
- package/lib/module/reanimated2/valueSetter.js.map +1 -1
- package/lib/module/setAndForwardRef.js +3 -2
- package/lib/module/setAndForwardRef.js.map +1 -1
- package/package.json +46 -40
- package/plugin/.eslintrc.js +7 -0
- package/plugin/README.md +241 -0
- package/plugin/build/plugin.js +714 -0
- package/plugin/build/plugin.js.map +7 -0
- package/plugin/index.js +1 -807
- package/plugin/package.json +23 -0
- package/plugin/src/buildWorkletString.ts +213 -0
- package/plugin/src/commonObjects.ts +60 -0
- package/plugin/src/injectVersion.ts +37 -0
- package/plugin/src/makeWorklet.ts +375 -0
- package/plugin/src/plugin.ts +49 -0
- package/plugin/src/processForCalleesWorklets.ts +106 -0
- package/plugin/src/processIfGestureHandlerEventCallbackFunctionNode.ts +156 -0
- package/plugin/src/processIfWorkletFunction.ts +55 -0
- package/plugin/src/processIfWorkletNode.ts +44 -0
- package/plugin/src/processInlineStylesWarning.ts +129 -0
- package/plugin/src/processWorkletObjectMethod.ts +31 -0
- package/plugin/src/types.ts +15 -0
- package/plugin/src/utils.ts +6 -0
- package/plugin/tsconfig.json +15 -0
- package/plugin/yarn.lock +2193 -0
- package/react-native-reanimated.d.ts +1 -0
- package/scripts/reanimated_utils.rb +2 -2
- package/src/createAnimatedComponent.tsx +2 -3
- package/src/reanimated2/Easing.ts +19 -0
- package/src/reanimated2/NativeMethods.ts +9 -4
- package/src/reanimated2/NativeReanimated/NativeReanimated.ts +2 -2
- package/src/reanimated2/UpdateProps.ts +2 -2
- package/src/reanimated2/animation/decay.ts +7 -1
- package/src/reanimated2/animation/styleAnimation.ts +5 -1
- package/src/reanimated2/core.ts +4 -4
- package/src/reanimated2/errors.ts +1 -0
- package/src/reanimated2/frameCallback/FrameCallbackRegistryUI.ts +12 -4
- package/src/reanimated2/globals.d.ts +71 -112
- package/src/reanimated2/hook/commonTypes.ts +1 -1
- package/src/reanimated2/hook/useAnimatedReaction.ts +2 -2
- package/src/reanimated2/hook/useAnimatedSensor.ts +2 -2
- package/src/reanimated2/initializers.ts +11 -8
- package/src/reanimated2/jestUtils.ts +0 -1
- package/src/reanimated2/js-reanimated/JSReanimated.ts +5 -1
- package/src/reanimated2/js-reanimated/index.ts +1 -1
- package/src/reanimated2/mappers.ts +26 -4
- package/src/reanimated2/mock.ts +1 -0
- package/src/reanimated2/platform-specific/checkCppVersion.ts +29 -0
- package/src/reanimated2/platform-specific/jsVersion.ts +6 -0
- package/src/reanimated2/shareables.ts +107 -8
- package/src/reanimated2/threads.ts +36 -17
- package/lib/commonjs/reanimated2/platform-specific/checkVersion.js +0 -42
- package/lib/commonjs/reanimated2/platform-specific/checkVersion.js.map +0 -1
- package/lib/module/reanimated2/platform-specific/checkVersion.js +0 -35
- package/lib/module/reanimated2/platform-specific/checkVersion.js.map +0 -1
- package/src/reanimated2/platform-specific/checkVersion.ts +0 -39
|
@@ -34,58 +34,39 @@ exports.subscribeForKeyboardEvents = subscribeForKeyboardEvents;
|
|
|
34
34
|
exports.unregisterEventHandler = unregisterEventHandler;
|
|
35
35
|
exports.unregisterSensor = unregisterSensor;
|
|
36
36
|
exports.unsubscribeFromKeyboardEvents = unsubscribeFromKeyboardEvents;
|
|
37
|
-
|
|
38
37
|
var _NativeReanimated = _interopRequireDefault(require("./NativeReanimated"));
|
|
39
|
-
|
|
40
38
|
var _PlatformChecker = require("./PlatformChecker");
|
|
41
|
-
|
|
42
39
|
var _shareables = require("./shareables");
|
|
43
|
-
|
|
44
40
|
var _mappers = require("./mappers");
|
|
45
|
-
|
|
46
41
|
var _mutables = require("./mutables");
|
|
47
|
-
|
|
48
42
|
var _initializers = require("./initializers");
|
|
49
|
-
|
|
50
43
|
var _threads = require("./threads");
|
|
51
|
-
|
|
52
44
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
53
|
-
|
|
54
45
|
const testWorklet = () => {
|
|
55
46
|
'worklet';
|
|
56
47
|
};
|
|
57
|
-
|
|
58
48
|
const throwUninitializedReanimatedException = () => {
|
|
59
49
|
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");
|
|
60
50
|
};
|
|
61
|
-
|
|
62
51
|
const checkPluginState = function () {
|
|
63
52
|
let throwError = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
64
|
-
|
|
65
53
|
if (!testWorklet.__workletHash && !(0, _PlatformChecker.shouldBeUseWeb)()) {
|
|
66
54
|
if (throwError) {
|
|
67
55
|
throwUninitializedReanimatedException();
|
|
68
56
|
}
|
|
69
|
-
|
|
70
57
|
return false;
|
|
71
58
|
}
|
|
72
|
-
|
|
73
59
|
return true;
|
|
74
60
|
};
|
|
75
|
-
|
|
76
61
|
exports.checkPluginState = checkPluginState;
|
|
77
|
-
|
|
78
62
|
const isConfigured = function () {
|
|
79
63
|
let throwError = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
80
64
|
return checkPluginState(throwError);
|
|
81
65
|
};
|
|
82
|
-
|
|
83
66
|
exports.isConfigured = isConfigured;
|
|
84
|
-
|
|
85
67
|
const isConfiguredCheck = () => {
|
|
86
68
|
checkPluginState(true);
|
|
87
69
|
};
|
|
88
|
-
|
|
89
70
|
exports.isConfiguredCheck = isConfiguredCheck;
|
|
90
71
|
const configurationCheckWrapper = __DEV__ ? fn => {
|
|
91
72
|
return function () {
|
|
@@ -102,16 +83,13 @@ exports.makeMutable = makeMutable;
|
|
|
102
83
|
const makeRemote = __DEV__ ? configurationCheckWrapper(_mutables.makeRemote) : _mutables.makeRemote;
|
|
103
84
|
exports.makeRemote = makeRemote;
|
|
104
85
|
global._WORKLET = false;
|
|
105
|
-
|
|
106
86
|
global._log = function (s) {
|
|
107
87
|
console.log(s);
|
|
108
88
|
};
|
|
109
|
-
|
|
110
89
|
function getViewProp(viewTag, propName) {
|
|
111
90
|
if (global._IS_FABRIC) {
|
|
112
91
|
throw new Error('[react-native-reanimated] `getViewProp` is not supported on Fabric yet');
|
|
113
92
|
}
|
|
114
|
-
|
|
115
93
|
return new Promise((resolve, reject) => {
|
|
116
94
|
return _NativeReanimated.default.getViewProp(viewTag, propName, result => {
|
|
117
95
|
if (typeof result === 'string' && result.substr(0, 6) === 'error:') {
|
|
@@ -122,89 +100,69 @@ function getViewProp(viewTag, propName) {
|
|
|
122
100
|
});
|
|
123
101
|
});
|
|
124
102
|
}
|
|
125
|
-
|
|
126
103
|
function registerEventHandler(eventHash, eventHandler) {
|
|
127
|
-
function
|
|
104
|
+
function handleAndFlushAnimationFrame(eventTimestamp, event) {
|
|
128
105
|
'worklet';
|
|
129
106
|
|
|
130
107
|
global.__frameTimestamp = eventTimestamp;
|
|
131
108
|
eventHandler(event);
|
|
132
|
-
|
|
133
109
|
global.__flushAnimationFrame(eventTimestamp);
|
|
134
|
-
|
|
135
110
|
global.__frameTimestamp = undefined;
|
|
136
111
|
}
|
|
137
|
-
|
|
138
|
-
return _NativeReanimated.default.registerEventHandler(eventHash, (0, _shareables.makeShareableCloneRecursive)(handleAndFlushImmediates));
|
|
112
|
+
return _NativeReanimated.default.registerEventHandler(eventHash, (0, _shareables.makeShareableCloneRecursive)(handleAndFlushAnimationFrame));
|
|
139
113
|
}
|
|
140
|
-
|
|
141
114
|
function unregisterEventHandler(id) {
|
|
142
115
|
return _NativeReanimated.default.unregisterEventHandler(id);
|
|
143
116
|
}
|
|
144
|
-
|
|
145
117
|
function subscribeForKeyboardEvents(eventHandler, options) {
|
|
146
118
|
// TODO: this should really go with the same code path as other events, that is
|
|
147
119
|
// via registerEventHandler. For now we are copying the code from there.
|
|
148
|
-
function
|
|
120
|
+
function handleAndFlushAnimationFrame(state, height) {
|
|
149
121
|
'worklet';
|
|
150
122
|
|
|
151
123
|
const now = performance.now();
|
|
152
124
|
global.__frameTimestamp = now;
|
|
153
125
|
eventHandler(state, height);
|
|
154
|
-
|
|
155
126
|
global.__flushAnimationFrame(now);
|
|
156
|
-
|
|
157
127
|
global.__frameTimestamp = undefined;
|
|
158
128
|
}
|
|
159
|
-
|
|
160
|
-
return _NativeReanimated.default.subscribeForKeyboardEvents((0, _shareables.makeShareableCloneRecursive)(handleAndFlushImmediates), options.isStatusBarTranslucentAndroid ?? false);
|
|
129
|
+
return _NativeReanimated.default.subscribeForKeyboardEvents((0, _shareables.makeShareableCloneRecursive)(handleAndFlushAnimationFrame), options.isStatusBarTranslucentAndroid ?? false);
|
|
161
130
|
}
|
|
162
|
-
|
|
163
131
|
function unsubscribeFromKeyboardEvents(listenerId) {
|
|
164
132
|
return _NativeReanimated.default.unsubscribeFromKeyboardEvents(listenerId);
|
|
165
133
|
}
|
|
166
|
-
|
|
167
134
|
function registerSensor(sensorType, interval, iosReferenceFrame, eventHandler) {
|
|
168
135
|
return _NativeReanimated.default.registerSensor(sensorType, interval, iosReferenceFrame, (0, _shareables.makeShareableCloneRecursive)(eventHandler));
|
|
169
136
|
}
|
|
170
|
-
|
|
171
137
|
function unregisterSensor(listenerId) {
|
|
172
138
|
return _NativeReanimated.default.unregisterSensor(listenerId);
|
|
173
|
-
}
|
|
174
|
-
|
|
139
|
+
}
|
|
175
140
|
|
|
141
|
+
// initialize UI runtime if applicable
|
|
176
142
|
if (!(0, _PlatformChecker.isWeb)() && isConfigured()) {
|
|
177
143
|
(0, _initializers.initializeUIRuntime)();
|
|
178
144
|
}
|
|
179
|
-
|
|
180
145
|
let featuresConfig = {
|
|
181
146
|
enableLayoutAnimations: false,
|
|
182
147
|
setByUser: false
|
|
183
148
|
};
|
|
184
|
-
|
|
185
149
|
function enableLayoutAnimations(flag) {
|
|
186
150
|
let isCallByUser = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
187
|
-
|
|
188
151
|
if (isCallByUser) {
|
|
189
152
|
featuresConfig = {
|
|
190
153
|
enableLayoutAnimations: flag,
|
|
191
154
|
setByUser: true
|
|
192
155
|
};
|
|
193
|
-
|
|
194
156
|
_NativeReanimated.default.enableLayoutAnimations(flag);
|
|
195
157
|
} else if (!featuresConfig.setByUser && featuresConfig.enableLayoutAnimations !== flag) {
|
|
196
158
|
featuresConfig.enableLayoutAnimations = flag;
|
|
197
|
-
|
|
198
159
|
_NativeReanimated.default.enableLayoutAnimations(flag);
|
|
199
160
|
}
|
|
200
161
|
}
|
|
201
|
-
|
|
202
162
|
function configureLayoutAnimations(viewTag, type, config) {
|
|
203
163
|
let sharedTransitionTag = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
|
|
204
|
-
|
|
205
164
|
_NativeReanimated.default.configureLayoutAnimation(viewTag, type, sharedTransitionTag, (0, _shareables.makeShareableCloneRecursive)(config));
|
|
206
165
|
}
|
|
207
|
-
|
|
208
166
|
function configureProps(uiProps, nativeProps) {
|
|
209
167
|
if (!(0, _PlatformChecker.nativeShouldBeMock)()) {
|
|
210
168
|
_NativeReanimated.default.configureProps(uiProps, nativeProps);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["testWorklet","throwUninitializedReanimatedException","Error","checkPluginState","throwError","__workletHash","shouldBeUseWeb","isConfigured","isConfiguredCheck","configurationCheckWrapper","__DEV__","fn","startMapper","startMapperUnwrapped","makeShareable","makeShareableUnwrapped","makeMutable","makeMutableUnwrapped","makeRemote","makeRemoteUnwrapped","global","_WORKLET","_log","s","console","log","getViewProp","viewTag","propName","_IS_FABRIC","Promise","resolve","reject","NativeReanimatedModule","result","substr","registerEventHandler","eventHash","eventHandler","handleAndFlushImmediates","eventTimestamp","event","__frameTimestamp","__flushAnimationFrame","undefined","makeShareableCloneRecursive","unregisterEventHandler","id","subscribeForKeyboardEvents","options","state","height","now","performance","isStatusBarTranslucentAndroid","unsubscribeFromKeyboardEvents","listenerId","registerSensor","sensorType","interval","iosReferenceFrame","unregisterSensor","isWeb","initializeUIRuntime","featuresConfig","enableLayoutAnimations","setByUser","flag","isCallByUser","configureLayoutAnimations","type","config","sharedTransitionTag","configureLayoutAnimation","configureProps","uiProps","nativeProps","nativeShouldBeMock"],"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":["_NativeReanimated","_interopRequireDefault","require","_PlatformChecker","_shareables","_mappers","_mutables","_initializers","_threads","obj","__esModule","default","testWorklet","throwUninitializedReanimatedException","Error","checkPluginState","throwError","arguments","length","undefined","__workletHash","shouldBeUseWeb","exports","isConfigured","isConfiguredCheck","configurationCheckWrapper","__DEV__","fn","startMapper","startMapperUnwrapped","makeShareable","makeShareableUnwrapped","makeMutable","makeMutableUnwrapped","makeRemote","makeRemoteUnwrapped","global","_WORKLET","_log","s","console","log","getViewProp","viewTag","propName","_IS_FABRIC","Promise","resolve","reject","NativeReanimatedModule","result","substr","registerEventHandler","eventHash","eventHandler","handleAndFlushAnimationFrame","eventTimestamp","event","__frameTimestamp","__flushAnimationFrame","makeShareableCloneRecursive","unregisterEventHandler","id","subscribeForKeyboardEvents","options","state","height","now","performance","isStatusBarTranslucentAndroid","unsubscribeFromKeyboardEvents","listenerId","registerSensor","sensorType","interval","iosReferenceFrame","unregisterSensor","isWeb","initializeUIRuntime","featuresConfig","enableLayoutAnimations","setByUser","flag","isCallByUser","configureLayoutAnimations","type","config","sharedTransitionTag","configureLayoutAnimation","configureProps","uiProps","nativeProps","nativeShouldBeMock"],"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":"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"}
|
|
@@ -5,42 +5,31 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.registerWorkletStackDetails = registerWorkletStackDetails;
|
|
7
7
|
exports.reportFatalErrorOnJS = reportFatalErrorOnJS;
|
|
8
|
-
|
|
9
8
|
const _workletStackDetails = new Map();
|
|
10
|
-
|
|
11
9
|
function registerWorkletStackDetails(hash, stackDetails) {
|
|
12
10
|
_workletStackDetails.set(hash, stackDetails);
|
|
13
11
|
}
|
|
14
|
-
|
|
15
12
|
function getBundleOffset(error) {
|
|
16
13
|
var _error$stack, _error$stack$split;
|
|
17
|
-
|
|
18
14
|
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];
|
|
19
|
-
|
|
20
15
|
if (frame) {
|
|
21
16
|
const parsedFrame = /@([^@]+):(\d+):(\d+)/.exec(frame);
|
|
22
|
-
|
|
23
17
|
if (parsedFrame) {
|
|
24
18
|
const [, file, line, col] = parsedFrame;
|
|
25
19
|
return [file, Number(line), Number(col)];
|
|
26
20
|
}
|
|
27
21
|
}
|
|
28
|
-
|
|
29
22
|
return ['unknown', 0, 0];
|
|
30
23
|
}
|
|
31
|
-
|
|
32
24
|
function processStack(stack) {
|
|
33
25
|
const workletStackEntries = stack.match(/worklet_(\d+):(\d+):(\d+)/g);
|
|
34
26
|
let result = stack;
|
|
35
27
|
workletStackEntries === null || workletStackEntries === void 0 ? void 0 : workletStackEntries.forEach(match => {
|
|
36
28
|
const [, hash, origLine, origCol] = match.split(/:|_/).map(Number);
|
|
37
|
-
|
|
38
29
|
const errorDetails = _workletStackDetails.get(hash);
|
|
39
|
-
|
|
40
30
|
if (!errorDetails) {
|
|
41
31
|
return;
|
|
42
32
|
}
|
|
43
|
-
|
|
44
33
|
const [error, lineOffset, colOffset] = errorDetails;
|
|
45
34
|
const [bundleFile, bundleLine, bundleCol] = getBundleOffset(error);
|
|
46
35
|
const line = origLine + bundleLine + lineOffset;
|
|
@@ -49,7 +38,6 @@ function processStack(stack) {
|
|
|
49
38
|
});
|
|
50
39
|
return result;
|
|
51
40
|
}
|
|
52
|
-
|
|
53
41
|
function reportFatalErrorOnJS(_ref) {
|
|
54
42
|
let {
|
|
55
43
|
message,
|
|
@@ -58,9 +46,10 @@ function reportFatalErrorOnJS(_ref) {
|
|
|
58
46
|
const error = new Error();
|
|
59
47
|
error.message = message;
|
|
60
48
|
error.stack = stack ? processStack(stack) : undefined;
|
|
61
|
-
error.name = 'ReanimatedError';
|
|
62
|
-
|
|
49
|
+
error.name = 'ReanimatedError';
|
|
50
|
+
// @ts-ignore React Native's ErrorUtils implementation extends the Error type with jsEngine field
|
|
63
51
|
error.jsEngine = 'reanimated';
|
|
52
|
+
// @ts-ignore the reportFatalError method is an internal method of ErrorUtils not exposed in the type definitions
|
|
64
53
|
global.ErrorUtils.reportFatalError(error);
|
|
65
54
|
}
|
|
66
55
|
//# 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":"
|
|
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;AAErD,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;AAEO,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"}
|
|
@@ -5,22 +5,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.getShadowNodeWrapperFromHostInstance = getShadowNodeWrapperFromHostInstance;
|
|
7
7
|
exports.getShadowNodeWrapperFromRef = getShadowNodeWrapperFromRef;
|
|
8
|
-
|
|
9
8
|
/* eslint-disable camelcase */
|
|
9
|
+
|
|
10
10
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
11
11
|
let findHostInstance_DEPRECATED = _ref => null;
|
|
12
|
-
|
|
13
12
|
try {
|
|
14
13
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
15
14
|
findHostInstance_DEPRECATED = require('react-native/Libraries/Renderer/shims/ReactFabric').findHostInstance_DEPRECATED;
|
|
16
|
-
} catch (e) {
|
|
15
|
+
} catch (e) {
|
|
16
|
+
// do nothing
|
|
17
17
|
}
|
|
18
|
-
|
|
19
18
|
function getShadowNodeWrapperFromHostInstance(hostInstance) {
|
|
20
19
|
// @ts-ignore Fabric
|
|
21
20
|
return hostInstance._internalInstanceHandle.stateNode.node;
|
|
22
21
|
}
|
|
23
|
-
|
|
24
22
|
function getShadowNodeWrapperFromRef(ref) {
|
|
25
23
|
return getShadowNodeWrapperFromHostInstance(findHostInstance_DEPRECATED(ref));
|
|
26
24
|
}
|
|
@@ -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":"
|
|
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;AAGK,SAASC,oCAAoCA,CAClDC,YAAqB,EACF;EACnB;EACA,OAAOA,YAAY,CAACC,uBAAuB,CAACC,SAAS,CAACC,IAAI;AAC5D;AAEO,SAASC,2BAA2BA,CACzCC,GAAoB,EACD;EACnB,OAAON,oCAAoC,CAACJ,2BAA2B,CAACU,GAAG,CAAC,CAAC;AAC/E"}
|
|
@@ -5,16 +5,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.getShadowNodeWrapperFromHostInstance = getShadowNodeWrapperFromHostInstance;
|
|
7
7
|
exports.getShadowNodeWrapperFromRef = getShadowNodeWrapperFromRef;
|
|
8
|
-
|
|
9
8
|
/* eslint-disable camelcase */
|
|
9
|
+
|
|
10
10
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
11
11
|
const findHostInstance_DEPRECATED = _ref => null;
|
|
12
|
-
|
|
13
12
|
function getShadowNodeWrapperFromHostInstance(hostInstance) {
|
|
14
13
|
// @ts-ignore Fabric
|
|
15
14
|
return hostInstance._internalInstanceHandle.stateNode.node;
|
|
16
15
|
}
|
|
17
|
-
|
|
18
16
|
function getShadowNodeWrapperFromRef(ref) {
|
|
19
17
|
return getShadowNodeWrapperFromHostInstance(findHostInstance_DEPRECATED(ref));
|
|
20
18
|
}
|
|
@@ -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":"
|
|
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;AAE5D,SAASC,oCAAoCA,CAClDC,YAAqB,EACF;EACnB;EACA,OAAOA,YAAY,CAACC,uBAAuB,CAACC,SAAS,CAACC,IAAI;AAC5D;AAEO,SAASC,2BAA2BA,CACzCC,GAAoB,EACD;EACnB,OAAON,oCAAoC,CAACF,2BAA2B,CAACQ,GAAG,CAAC,CAAC;AAC/E"}
|
|
@@ -4,25 +4,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _core = require("../core");
|
|
9
|
-
|
|
10
8
|
var _FrameCallbackRegistryUI = require("./FrameCallbackRegistryUI");
|
|
11
|
-
|
|
12
|
-
function
|
|
13
|
-
|
|
9
|
+
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; }
|
|
10
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
11
|
+
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); }
|
|
14
12
|
class FrameCallbackRegistryJS {
|
|
15
13
|
constructor() {
|
|
16
14
|
_defineProperty(this, "nextCallbackId", 0);
|
|
17
|
-
|
|
18
15
|
(0, _FrameCallbackRegistryUI.prepareUIRegistry)();
|
|
19
16
|
}
|
|
20
|
-
|
|
21
17
|
registerFrameCallback(callback) {
|
|
22
18
|
if (!callback) {
|
|
23
19
|
return -1;
|
|
24
20
|
}
|
|
25
|
-
|
|
26
21
|
const callbackId = this.nextCallbackId;
|
|
27
22
|
this.nextCallbackId++;
|
|
28
23
|
(0, _core.runOnUI)(() => {
|
|
@@ -32,7 +27,6 @@ class FrameCallbackRegistryJS {
|
|
|
32
27
|
})();
|
|
33
28
|
return callbackId;
|
|
34
29
|
}
|
|
35
|
-
|
|
36
30
|
unregisterFrameCallback(callbackId) {
|
|
37
31
|
(0, _core.runOnUI)(() => {
|
|
38
32
|
'worklet';
|
|
@@ -40,7 +34,6 @@ class FrameCallbackRegistryJS {
|
|
|
40
34
|
global._frameCallbackRegistry.unregisterFrameCallback(callbackId);
|
|
41
35
|
})();
|
|
42
36
|
}
|
|
43
|
-
|
|
44
37
|
manageStateFrameCallback(callbackId, state) {
|
|
45
38
|
(0, _core.runOnUI)(() => {
|
|
46
39
|
'worklet';
|
|
@@ -48,8 +41,6 @@ class FrameCallbackRegistryJS {
|
|
|
48
41
|
global._frameCallbackRegistry.manageStateFrameCallback(callbackId, state);
|
|
49
42
|
})();
|
|
50
43
|
}
|
|
51
|
-
|
|
52
44
|
}
|
|
53
|
-
|
|
54
45
|
exports.default = FrameCallbackRegistryJS;
|
|
55
46
|
//# sourceMappingURL=FrameCallbackRegistryJS.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FrameCallbackRegistryJS","constructor","prepareUIRegistry","registerFrameCallback","callback","callbackId","nextCallbackId","runOnUI","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":"
|
|
1
|
+
{"version":3,"names":["_core","require","_FrameCallbackRegistryUI","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","FrameCallbackRegistryJS","constructor","prepareUIRegistry","registerFrameCallback","callback","callbackId","nextCallbackId","runOnUI","global","_frameCallbackRegistry","unregisterFrameCallback","manageStateFrameCallback","state","exports","default"],"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,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,wBAAA,GAAAD,OAAA;AAAyE,SAAAE,gBAAAC,GAAA,EAAAC,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAD,GAAA,IAAAI,MAAA,CAAAC,cAAA,CAAAL,GAAA,EAAAC,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAR,GAAA,CAAAC,GAAA,IAAAC,KAAA,WAAAF,GAAA;AAAA,SAAAG,eAAAM,GAAA,QAAAR,GAAA,GAAAS,YAAA,CAAAD,GAAA,2BAAAR,GAAA,gBAAAA,GAAA,GAAAU,MAAA,CAAAV,GAAA;AAAA,SAAAS,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAK,IAAA,CAAAP,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAE,SAAA,4DAAAP,IAAA,gBAAAF,MAAA,GAAAU,MAAA,EAAAT,KAAA;AAE1D,MAAMU,uBAAuB,CAAC;EAG3CC,WAAWA,CAAA,EAAG;IAAAxB,eAAA,yBAFW,CAAC;IAGxB,IAAAyB,0CAAiB,GAAE;EACrB;EAEAC,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;IAErB,IAAAC,aAAO,EAAC,MAAM;MACZ,SAAS;;MACTC,MAAM,CAACC,sBAAsB,CAACN,qBAAqB,CAACC,QAAQ,EAAEC,UAAU,CAAC;IAC3E,CAAC,CAAC,EAAE;IAEJ,OAAOA,UAAU;EACnB;EAEAK,uBAAuBA,CAACL,UAAkB,EAAQ;IAChD,IAAAE,aAAO,EAAC,MAAM;MACZ,SAAS;;MACTC,MAAM,CAACC,sBAAsB,CAACC,uBAAuB,CAACL,UAAU,CAAC;IACnE,CAAC,CAAC,EAAE;EACN;EAEAM,wBAAwBA,CAACN,UAAkB,EAAEO,KAAc,EAAQ;IACjE,IAAAL,aAAO,EAAC,MAAM;MACZ,SAAS;;MACTC,MAAM,CAACC,sBAAsB,CAACE,wBAAwB,CAACN,UAAU,EAAEO,KAAK,CAAC;IAC3E,CAAC,CAAC,EAAE;EACN;AACF;AAACC,OAAA,CAAAC,OAAA,GAAAd,uBAAA"}
|
|
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.prepareUIRegistry = void 0;
|
|
7
|
-
|
|
8
7
|
var _threads = require("../threads");
|
|
9
|
-
|
|
10
8
|
const prepareUIRegistry = (0, _threads.runOnUIImmediately)(() => {
|
|
11
9
|
'worklet';
|
|
12
10
|
|
|
@@ -14,20 +12,21 @@ const prepareUIRegistry = (0, _threads.runOnUIImmediately)(() => {
|
|
|
14
12
|
frameCallbackRegistry: new Map(),
|
|
15
13
|
activeFrameCallbacks: new Set(),
|
|
16
14
|
previousFrameTimestamp: null,
|
|
17
|
-
|
|
18
|
-
runCallbacks() {
|
|
15
|
+
nextCallId: 0,
|
|
16
|
+
runCallbacks(callId) {
|
|
19
17
|
const loop = timestamp => {
|
|
18
|
+
if (callId !== this.nextCallId) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
20
21
|
if (this.previousFrameTimestamp === null) {
|
|
21
22
|
this.previousFrameTimestamp = timestamp;
|
|
22
23
|
}
|
|
23
|
-
|
|
24
24
|
const delta = timestamp - this.previousFrameTimestamp;
|
|
25
25
|
this.activeFrameCallbacks.forEach(callbackId => {
|
|
26
26
|
const callbackDetails = this.frameCallbackRegistry.get(callbackId);
|
|
27
27
|
const {
|
|
28
28
|
startTime
|
|
29
29
|
} = callbackDetails;
|
|
30
|
-
|
|
31
30
|
if (startTime === null) {
|
|
32
31
|
// First frame
|
|
33
32
|
callbackDetails.startTime = timestamp;
|
|
@@ -45,50 +44,47 @@ const prepareUIRegistry = (0, _threads.runOnUIImmediately)(() => {
|
|
|
45
44
|
});
|
|
46
45
|
}
|
|
47
46
|
});
|
|
48
|
-
|
|
49
47
|
if (this.activeFrameCallbacks.size > 0) {
|
|
50
48
|
this.previousFrameTimestamp = timestamp;
|
|
51
49
|
requestAnimationFrame(loop);
|
|
52
50
|
} else {
|
|
53
51
|
this.previousFrameTimestamp = null;
|
|
54
52
|
}
|
|
55
|
-
};
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
// runCallback() should only be called after registering a callback,
|
|
56
56
|
// so if there is only one active callback, then it means that there were
|
|
57
57
|
// zero previously and the loop isn't running yet.
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
if (this.activeFrameCallbacks.size === 1) {
|
|
58
|
+
if (this.activeFrameCallbacks.size === 1 && callId === this.nextCallId) {
|
|
61
59
|
requestAnimationFrame(loop);
|
|
62
60
|
}
|
|
63
61
|
},
|
|
64
|
-
|
|
65
62
|
registerFrameCallback(callback, callbackId) {
|
|
66
63
|
this.frameCallbackRegistry.set(callbackId, {
|
|
67
64
|
callback: callback,
|
|
68
65
|
startTime: null
|
|
69
66
|
});
|
|
70
67
|
},
|
|
71
|
-
|
|
72
68
|
unregisterFrameCallback(callbackId) {
|
|
73
69
|
this.manageStateFrameCallback(callbackId, false);
|
|
74
70
|
this.frameCallbackRegistry.delete(callbackId);
|
|
75
71
|
},
|
|
76
|
-
|
|
77
72
|
manageStateFrameCallback(callbackId, state) {
|
|
78
73
|
if (callbackId === -1) {
|
|
79
74
|
return;
|
|
80
75
|
}
|
|
81
|
-
|
|
82
76
|
if (state) {
|
|
83
77
|
this.activeFrameCallbacks.add(callbackId);
|
|
84
|
-
this.runCallbacks();
|
|
78
|
+
this.runCallbacks(this.nextCallId);
|
|
85
79
|
} else {
|
|
86
80
|
const callback = this.frameCallbackRegistry.get(callbackId);
|
|
87
81
|
callback.startTime = null;
|
|
88
82
|
this.activeFrameCallbacks.delete(callbackId);
|
|
83
|
+
if (this.activeFrameCallbacks.size === 0) {
|
|
84
|
+
this.nextCallId += 1;
|
|
85
|
+
}
|
|
89
86
|
}
|
|
90
87
|
}
|
|
91
|
-
|
|
92
88
|
};
|
|
93
89
|
global._frameCallbackRegistry = frameCallbackRegistry;
|
|
94
90
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["prepareUIRegistry","runOnUIImmediately","frameCallbackRegistry","Map","activeFrameCallbacks","Set","previousFrameTimestamp","runCallbacks","loop","timestamp","delta","forEach","callbackId","callbackDetails","get","startTime","callback","timeSincePreviousFrame","timeSinceFirstFrame","size","requestAnimationFrame","registerFrameCallback","set","unregisterFrameCallback","manageStateFrameCallback","delete","state","add","global","_frameCallbackRegistry"],"sources":["FrameCallbackRegistryUI.ts"],"sourcesContent":["import { runOnUIImmediately } from '../threads';\n\ntype CallbackDetails = {\n callback: (frameInfo: FrameInfo) => void;\n startTime: number | null;\n};\n\nexport type FrameInfo = {\n timestamp: number;\n timeSincePreviousFrame: number | null;\n timeSinceFirstFrame: number;\n};\n\nexport interface FrameCallbackRegistryUI {\n frameCallbackRegistry: Map<number, CallbackDetails>;\n activeFrameCallbacks: Set<number>;\n previousFrameTimestamp: number | null;\n runCallbacks: () => void;\n registerFrameCallback: (\n callback: (frameInfo: FrameInfo) => void,\n callbackId: number\n ) => void;\n unregisterFrameCallback: (callbackId: number) => void;\n manageStateFrameCallback: (callbackId: number, state: boolean) => void;\n}\n\nexport const prepareUIRegistry = runOnUIImmediately(() => {\n 'worklet';\n\n const frameCallbackRegistry: FrameCallbackRegistryUI = {\n frameCallbackRegistry: new Map<number, CallbackDetails>(),\n activeFrameCallbacks: new Set<number>(),\n previousFrameTimestamp: null,\n\n runCallbacks() {\n const loop = (timestamp: number) => {\n if (this.previousFrameTimestamp === null) {\n this.previousFrameTimestamp = timestamp;\n }\n\n const delta = timestamp - this.previousFrameTimestamp;\n\n this.activeFrameCallbacks.forEach((callbackId: number) => {\n const callbackDetails = this.frameCallbackRegistry.get(callbackId)!;\n\n const { startTime } = callbackDetails;\n\n if (startTime === null) {\n // First frame\n callbackDetails.startTime = timestamp;\n\n callbackDetails.callback({\n timestamp,\n timeSincePreviousFrame: null,\n timeSinceFirstFrame: 0,\n });\n } else {\n // Next frame\n callbackDetails.callback({\n timestamp,\n timeSincePreviousFrame: delta,\n timeSinceFirstFrame: timestamp - startTime,\n });\n }\n });\n\n if (this.activeFrameCallbacks.size > 0) {\n this.previousFrameTimestamp = timestamp;\n requestAnimationFrame(loop);\n } else {\n this.previousFrameTimestamp = null;\n }\n };\n\n // runCallback() should only be called after registering a callback,\n // so if there is only one active callback, then it means that there were\n // zero previously and the loop isn't running yet.\n if (this.activeFrameCallbacks.size === 1) {\n requestAnimationFrame(loop);\n }\n },\n\n registerFrameCallback(\n callback: (frameInfo: FrameInfo) => void,\n callbackId: number\n ) {\n this.frameCallbackRegistry.set(callbackId, {\n callback: callback,\n startTime: null,\n });\n },\n\n unregisterFrameCallback(callbackId: number) {\n this.manageStateFrameCallback(callbackId, false);\n this.frameCallbackRegistry.delete(callbackId);\n },\n\n manageStateFrameCallback(callbackId: number, state: boolean) {\n if (callbackId === -1) {\n return;\n }\n if (state) {\n this.activeFrameCallbacks.add(callbackId);\n this.runCallbacks();\n } else {\n const callback = this.frameCallbackRegistry.get(callbackId)!;\n callback.startTime = null;\n\n this.activeFrameCallbacks.delete(callbackId);\n }\n },\n };\n\n global._frameCallbackRegistry = frameCallbackRegistry;\n});\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_threads","require","prepareUIRegistry","runOnUIImmediately","frameCallbackRegistry","Map","activeFrameCallbacks","Set","previousFrameTimestamp","nextCallId","runCallbacks","callId","loop","timestamp","delta","forEach","callbackId","callbackDetails","get","startTime","callback","timeSincePreviousFrame","timeSinceFirstFrame","size","requestAnimationFrame","registerFrameCallback","set","unregisterFrameCallback","manageStateFrameCallback","delete","state","add","global","_frameCallbackRegistry","exports"],"sources":["FrameCallbackRegistryUI.ts"],"sourcesContent":["import { runOnUIImmediately } from '../threads';\n\ntype CallbackDetails = {\n callback: (frameInfo: FrameInfo) => void;\n startTime: number | null;\n};\n\nexport type FrameInfo = {\n timestamp: number;\n timeSincePreviousFrame: number | null;\n timeSinceFirstFrame: number;\n};\n\nexport interface FrameCallbackRegistryUI {\n frameCallbackRegistry: Map<number, CallbackDetails>;\n activeFrameCallbacks: Set<number>;\n previousFrameTimestamp: number | null;\n runCallbacks: (callId: number) => void;\n nextCallId: number;\n registerFrameCallback: (\n callback: (frameInfo: FrameInfo) => void,\n callbackId: number\n ) => void;\n unregisterFrameCallback: (callbackId: number) => void;\n manageStateFrameCallback: (callbackId: number, state: boolean) => void;\n}\n\nexport const prepareUIRegistry = runOnUIImmediately(() => {\n 'worklet';\n\n const frameCallbackRegistry: FrameCallbackRegistryUI = {\n frameCallbackRegistry: new Map<number, CallbackDetails>(),\n activeFrameCallbacks: new Set<number>(),\n previousFrameTimestamp: null,\n nextCallId: 0,\n\n runCallbacks(callId) {\n const loop = (timestamp: number) => {\n if (callId !== this.nextCallId) {\n return;\n }\n if (this.previousFrameTimestamp === null) {\n this.previousFrameTimestamp = timestamp;\n }\n\n const delta = timestamp - this.previousFrameTimestamp;\n\n this.activeFrameCallbacks.forEach((callbackId: number) => {\n const callbackDetails = this.frameCallbackRegistry.get(callbackId)!;\n\n const { startTime } = callbackDetails;\n\n if (startTime === null) {\n // First frame\n callbackDetails.startTime = timestamp;\n\n callbackDetails.callback({\n timestamp,\n timeSincePreviousFrame: null,\n timeSinceFirstFrame: 0,\n });\n } else {\n // Next frame\n callbackDetails.callback({\n timestamp,\n timeSincePreviousFrame: delta,\n timeSinceFirstFrame: timestamp - startTime,\n });\n }\n });\n\n if (this.activeFrameCallbacks.size > 0) {\n this.previousFrameTimestamp = timestamp;\n requestAnimationFrame(loop);\n } else {\n this.previousFrameTimestamp = null;\n }\n };\n\n // runCallback() should only be called after registering a callback,\n // so if there is only one active callback, then it means that there were\n // zero previously and the loop isn't running yet.\n if (this.activeFrameCallbacks.size === 1 && callId === this.nextCallId) {\n requestAnimationFrame(loop);\n }\n },\n\n registerFrameCallback(\n callback: (frameInfo: FrameInfo) => void,\n callbackId: number\n ) {\n this.frameCallbackRegistry.set(callbackId, {\n callback: callback,\n startTime: null,\n });\n },\n\n unregisterFrameCallback(callbackId: number) {\n this.manageStateFrameCallback(callbackId, false);\n this.frameCallbackRegistry.delete(callbackId);\n },\n\n manageStateFrameCallback(callbackId: number, state: boolean) {\n if (callbackId === -1) {\n return;\n }\n if (state) {\n this.activeFrameCallbacks.add(callbackId);\n this.runCallbacks(this.nextCallId);\n } else {\n const callback = this.frameCallbackRegistry.get(callbackId)!;\n callback.startTime = null;\n\n this.activeFrameCallbacks.delete(callbackId);\n if (this.activeFrameCallbacks.size === 0) {\n this.nextCallId += 1;\n }\n }\n },\n };\n\n global._frameCallbackRegistry = frameCallbackRegistry;\n});\n"],"mappings":"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"}
|