react-native-reanimated 2.8.0 → 3.0.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Common/cpp/Fabric/FabricUtils.cpp +128 -0
- package/Common/cpp/Fabric/ReanimatedUIManagerBinding.cpp +197 -0
- package/Common/cpp/NativeModules/NativeReanimatedModule.cpp +311 -6
- package/Common/cpp/Registries/EventHandlerRegistry.cpp +14 -1
- package/Common/cpp/Registries/NewestShadowNodesRegistry.cpp +68 -0
- package/Common/cpp/SharedItems/ShareableValue.cpp +18 -0
- package/Common/cpp/Tools/Mapper.cpp +23 -4
- package/Common/cpp/Tools/RuntimeDecorator.cpp +92 -32
- package/Common/cpp/Tools/Scheduler.cpp +4 -0
- package/Common/cpp/headers/Fabric/FabricUtils.h +78 -0
- package/Common/cpp/headers/Fabric/ReanimatedUIManagerBinding.h +46 -0
- package/Common/cpp/headers/NativeModules/NativeReanimatedModule.h +72 -2
- package/Common/cpp/headers/Registries/EventHandlerRegistry.h +8 -0
- package/Common/cpp/headers/Registries/NewestShadowNodesRegistry.h +41 -0
- package/Common/cpp/headers/SharedItems/SharedParent.h +3 -0
- package/Common/cpp/headers/SharedItems/ValueWrapper.h +25 -0
- package/Common/cpp/headers/SpecTools/ErrorHandler.h +5 -0
- package/Common/cpp/headers/Tools/Mapper.h +1 -1
- package/Common/cpp/headers/Tools/PlatformDepMethodsHolder.h +43 -8
- package/Common/cpp/headers/Tools/RuntimeDecorator.h +8 -3
- package/README.md +4 -0
- package/RNReanimated.podspec +22 -11
- package/android/CMakeLists.txt +139 -27
- package/android/build.gradle +86 -209
- package/android/local.properties +1 -0
- package/android/src/fabric/java/com/swmansion/reanimated/NativeProxy.java +310 -0
- package/android/src/fabric/java/com/swmansion/reanimated/ReaCompatibility.java +25 -0
- package/android/src/main/cpp/NativeProxy.cpp +178 -33
- package/android/src/main/cpp/headers/NativeProxy.h +43 -7
- package/android/src/main/java/com/swmansion/reanimated/NodesManager.java +13 -245
- package/android/src/main/java/com/swmansion/reanimated/ReanimatedModule.java +0 -125
- package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/LayoutAnimations.java +2 -1
- package/android/src/{main → paper}/java/com/swmansion/reanimated/NativeProxy.java +15 -2
- package/android/src/paper/java/com/swmansion/reanimated/ReaCompatibility.java +17 -0
- package/ios/Fabric/REAInitializerRCTFabricSurface.h +12 -0
- package/ios/Fabric/REAInitializerRCTFabricSurface.mm +73 -0
- package/ios/REAEventDispatcher.m +0 -1
- package/ios/REAModule.h +10 -1
- package/ios/REAModule.mm +284 -0
- package/ios/REANodesManager.h +27 -51
- package/ios/{REANodesManager.m → REANodesManager.mm} +91 -223
- package/ios/native/NativeProxy.mm +144 -17
- package/ios/native/REAInitializer.mm +12 -4
- package/ios/native/UIResponder+Reanimated.h +3 -1
- package/ios/native/UIResponder+Reanimated.mm +3 -1
- package/lib/Animated.js +0 -4
- package/lib/createAnimatedComponent.js +30 -169
- package/lib/index.js +0 -4
- package/lib/reanimated2/Easing.js +0 -42
- package/lib/reanimated2/NativeMethods.js +20 -3
- package/lib/reanimated2/UpdateProps.js +25 -10
- package/lib/reanimated2/core.js +4 -1
- package/lib/reanimated2/fabricUtils.js +18 -0
- package/lib/reanimated2/globals.d.ts +17 -1
- package/lib/reanimated2/hook/useAnimatedRef.js +6 -2
- package/lib/reanimated2/hook/utils.js +0 -5
- package/lib/reanimated2/interpolateColor.js +5 -2
- package/lib/reanimated2/interpolation.js +0 -15
- package/lib/reanimated2/js-reanimated/index.js +3 -0
- package/lib/types/{lib/ConfigHelper.d.ts → ConfigHelper.d.ts} +0 -0
- package/lib/types/{lib/ReanimatedEventEmitter.d.ts → ReanimatedEventEmitter.d.ts} +0 -0
- package/lib/types/{lib/ReanimatedModule.d.ts → ReanimatedModule.d.ts} +0 -0
- package/lib/types/{lib/ReanimatedModule.macos.d.ts → ReanimatedModule.macos.d.ts} +0 -0
- package/lib/types/{lib/ReanimatedModule.native.d.ts → ReanimatedModule.native.d.ts} +0 -0
- package/lib/types/{lib/ReanimatedModule.windows.d.ts → ReanimatedModule.windows.d.ts} +0 -0
- package/lib/types/{lib/ReanimatedModuleCompat.d.ts → ReanimatedModuleCompat.d.ts} +0 -0
- package/lib/types/{lib/createAnimatedComponent.d.ts → createAnimatedComponent.d.ts} +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/Bezier.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/Colors.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/Easing.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/NativeMethods.d.ts +2 -1
- package/lib/types/{lib/reanimated2 → reanimated2}/NativeReanimated/NativeReanimated.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/NativeReanimated/index.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/PlatformChecker.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/PropAdapters.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/UpdateProps.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/ViewDescriptorsSet.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/WorkletEventHandler.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/__mocks__/MutableValue.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/__mocks__/NativeReanimated.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/__mocks__/NativeReanimated.native.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/animation/commonTypes.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/animation/decay.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/animation/delay.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/animation/index.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/animation/repeat.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/animation/sequence.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/animation/spring.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/animation/styleAnimation.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/animation/timing.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/animation/util.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/commonTypes.d.ts +2 -1
- package/lib/types/{lib/reanimated2 → reanimated2}/component/FlatList.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/component/WrappedComponents.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/component/index.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/core.d.ts +0 -0
- package/lib/types/reanimated2/fabricUtils.d.ts +4 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/hook/Hooks.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/hook/commonTypes.d.ts +2 -1
- package/lib/types/{lib/reanimated2 → reanimated2}/hook/index.d.ts +1 -1
- package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedGestureHandler.d.ts +2 -2
- package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedReaction.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedRef.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedScrollHandler.d.ts +2 -2
- package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedSensor.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedStyle.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/hook/useDerivedValue.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/hook/useSharedValue.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/hook/utils.d.ts +2 -2
- package/lib/types/{lib/reanimated2 → reanimated2}/index.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/interpolateColor.d.ts +5 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/interpolation.d.ts +1 -4
- package/lib/types/{lib/reanimated2 → reanimated2}/jestUtils.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/JSReanimated.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/Mapper.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/MapperRegistry.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/MutableValue.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/commonTypes.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/index.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/LayoutAnimationRepository.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/BaseAnimationBuilder.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/ComplexAnimationBuilder.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/Keyframe.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/commonTypes.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/index.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Bounce.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Default.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Fade.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Flip.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Lightspeed.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Pinwheel.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Roll.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Rotate.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Slide.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Stretch.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Zoom.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/index.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/CurvedTransition.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/EntryExitTransition.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/FadingTransition.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/JumpingTransition.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/LinearTransition.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/SequencedTransition.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/index.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/index.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/mock.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/platform-specific/RNRenderer.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/platform-specific/RNRenderer.web.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/utils.d.ts +0 -0
- package/lib/types/{lib/setAndForwardRef.d.ts → setAndForwardRef.d.ts} +0 -0
- package/package.json +7 -5
- package/plugin.js +4 -1
- package/src/Animated.js +0 -4
- package/src/createAnimatedComponent.tsx +37 -197
- package/src/reanimated2/Easing.ts +0 -53
- package/src/reanimated2/NativeMethods.ts +39 -7
- package/src/reanimated2/UpdateProps.ts +38 -19
- package/src/reanimated2/commonTypes.ts +4 -1
- package/src/reanimated2/component/FlatList.tsx +8 -5
- package/src/reanimated2/core.ts +7 -1
- package/src/reanimated2/fabricUtils.ts +27 -0
- package/src/reanimated2/globals.d.ts +17 -1
- package/src/reanimated2/hook/commonTypes.ts +4 -2
- package/src/reanimated2/hook/index.ts +1 -1
- package/src/reanimated2/hook/useAnimatedGestureHandler.ts +2 -2
- package/src/reanimated2/hook/useAnimatedRef.ts +8 -3
- package/src/reanimated2/hook/useAnimatedScrollHandler.ts +2 -2
- package/src/reanimated2/hook/utils.ts +2 -11
- package/src/reanimated2/interpolateColor.ts +6 -2
- package/src/reanimated2/interpolation.ts +1 -26
- package/src/reanimated2/js-reanimated/index.ts +5 -0
- package/android/.gradle/7.2/dependencies-accessors/dependencies-accessors.lock +0 -0
- package/android/.gradle/7.2/dependencies-accessors/gc.properties +0 -0
- package/android/.gradle/7.2/executionHistory/executionHistory.bin +0 -0
- package/android/.gradle/7.2/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/7.2/fileChanges/last-build.bin +0 -0
- package/android/.gradle/7.2/fileHashes/fileHashes.bin +0 -0
- package/android/.gradle/7.2/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/7.2/fileHashes/resourceHashesCache.bin +0 -0
- package/android/.gradle/7.2/gc.properties +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
- package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
- package/android/.gradle/checksums/checksums.lock +0 -0
- package/android/.gradle/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/checksums/sha1-checksums.bin +0 -0
- package/android/.gradle/vcs-1/gc.properties +0 -0
- package/android/react-native-reanimated-64-hermes.aar +0 -0
- package/android/react-native-reanimated-64-jsc.aar +0 -0
- package/android/react-native-reanimated-65-hermes.aar +0 -0
- package/android/react-native-reanimated-65-jsc.aar +0 -0
- package/android/react-native-reanimated-66-hermes.aar +0 -0
- package/android/react-native-reanimated-66-jsc.aar +0 -0
- package/android/react-native-reanimated-67-hermes.aar +0 -0
- package/android/react-native-reanimated-67-jsc.aar +0 -0
- package/android/react-native-reanimated-68-hermes.aar +0 -0
- package/android/react-native-reanimated-68-jsc.aar +0 -0
- package/android/src/main/java/com/swmansion/reanimated/UpdateContext.java +0 -11
- package/android/src/main/java/com/swmansion/reanimated/nodes/AlwaysNode.java +0 -29
- package/android/src/main/java/com/swmansion/reanimated/nodes/BezierNode.java +0 -87
- package/android/src/main/java/com/swmansion/reanimated/nodes/BlockNode.java +0 -24
- package/android/src/main/java/com/swmansion/reanimated/nodes/CallFuncNode.java +0 -49
- package/android/src/main/java/com/swmansion/reanimated/nodes/ClockNode.java +0 -38
- package/android/src/main/java/com/swmansion/reanimated/nodes/ClockOpNode.java +0 -73
- package/android/src/main/java/com/swmansion/reanimated/nodes/ConcatNode.java +0 -36
- package/android/src/main/java/com/swmansion/reanimated/nodes/CondNode.java +0 -41
- package/android/src/main/java/com/swmansion/reanimated/nodes/DebugNode.java +0 -33
- package/android/src/main/java/com/swmansion/reanimated/nodes/EventNode.java +0 -83
- package/android/src/main/java/com/swmansion/reanimated/nodes/FinalNode.java +0 -5
- package/android/src/main/java/com/swmansion/reanimated/nodes/FunctionNode.java +0 -20
- package/android/src/main/java/com/swmansion/reanimated/nodes/JSCallNode.java +0 -41
- package/android/src/main/java/com/swmansion/reanimated/nodes/Node.java +0 -139
- package/android/src/main/java/com/swmansion/reanimated/nodes/NoopNode.java +0 -37
- package/android/src/main/java/com/swmansion/reanimated/nodes/OperatorNode.java +0 -377
- package/android/src/main/java/com/swmansion/reanimated/nodes/ParamNode.java +0 -71
- package/android/src/main/java/com/swmansion/reanimated/nodes/PropsNode.java +0 -153
- package/android/src/main/java/com/swmansion/reanimated/nodes/SetNode.java +0 -32
- package/android/src/main/java/com/swmansion/reanimated/nodes/StyleNode.java +0 -40
- package/android/src/main/java/com/swmansion/reanimated/nodes/TransformNode.java +0 -84
- package/android/src/main/java/com/swmansion/reanimated/nodes/ValueNode.java +0 -40
- package/android/src/main/java/com/swmansion/reanimated/transitions/ChangeTransition.java +0 -84
- package/android/src/main/java/com/swmansion/reanimated/transitions/SaneSidePropagation.java +0 -25
- package/android/src/main/java/com/swmansion/reanimated/transitions/Scale.java +0 -86
- package/android/src/main/java/com/swmansion/reanimated/transitions/TransitionModule.java +0 -41
- package/android/src/main/java/com/swmansion/reanimated/transitions/TransitionUtils.java +0 -161
- package/ios/Nodes/REAAlwaysNode.h +0 -4
- package/ios/Nodes/REAAlwaysNode.m +0 -35
- package/ios/Nodes/REABezierNode.h +0 -5
- package/ios/Nodes/REABezierNode.m +0 -103
- package/ios/Nodes/REABlockNode.h +0 -5
- package/ios/Nodes/REABlockNode.m +0 -25
- package/ios/Nodes/REACallFuncNode.h +0 -6
- package/ios/Nodes/REACallFuncNode.m +0 -69
- package/ios/Nodes/REAClockNodes.h +0 -19
- package/ios/Nodes/REAClockNodes.m +0 -118
- package/ios/Nodes/REAConcatNode.h +0 -5
- package/ios/Nodes/REAConcatNode.m +0 -32
- package/ios/Nodes/REACondNode.h +0 -5
- package/ios/Nodes/REACondNode.m +0 -36
- package/ios/Nodes/READebugNode.h +0 -5
- package/ios/Nodes/READebugNode.m +0 -30
- package/ios/Nodes/REAEventNode.h +0 -8
- package/ios/Nodes/REAEventNode.m +0 -35
- package/ios/Nodes/REAFunctionNode.h +0 -6
- package/ios/Nodes/REAFunctionNode.m +0 -24
- package/ios/Nodes/REAJSCallNode.h +0 -5
- package/ios/Nodes/REAJSCallNode.m +0 -30
- package/ios/Nodes/REANode.h +0 -40
- package/ios/Nodes/REANode.m +0 -155
- package/ios/Nodes/REAOperatorNode.h +0 -5
- package/ios/Nodes/REAOperatorNode.m +0 -114
- package/ios/Nodes/REAParamNode.h +0 -10
- package/ios/Nodes/REAParamNode.m +0 -79
- package/ios/Nodes/REAPropsNode.h +0 -9
- package/ios/Nodes/REAPropsNode.m +0 -96
- package/ios/Nodes/REASetNode.h +0 -5
- package/ios/Nodes/REASetNode.m +0 -34
- package/ios/Nodes/REAStyleNode.h +0 -5
- package/ios/Nodes/REAStyleNode.m +0 -27
- package/ios/Nodes/REATransformNode.h +0 -5
- package/ios/Nodes/REATransformNode.m +0 -36
- package/ios/Nodes/REAValueNode.h +0 -9
- package/ios/Nodes/REAValueNode.m +0 -26
- package/ios/REAModule.m +0 -184
- package/ios/Transitioning/RCTConvert+REATransition.h +0 -11
- package/ios/Transitioning/RCTConvert+REATransition.m +0 -53
- package/ios/Transitioning/REAAllTransitions.h +0 -26
- package/ios/Transitioning/REAAllTransitions.m +0 -296
- package/ios/Transitioning/REATransition.h +0 -64
- package/ios/Transitioning/REATransition.m +0 -210
- package/ios/Transitioning/REATransitionAnimation.h +0 -17
- package/ios/Transitioning/REATransitionAnimation.m +0 -79
- package/ios/Transitioning/REATransitionManager.h +0 -9
- package/ios/Transitioning/REATransitionManager.m +0 -60
- package/ios/Transitioning/REATransitionValues.h +0 -15
- package/ios/Transitioning/REATransitionValues.m +0 -25
- package/lib/reanimated1/Easing.js +0 -231
- package/lib/reanimated1/SpringConfig.js +0 -79
- package/lib/reanimated1/Transitioning.js +0 -158
- package/lib/reanimated1/animations/Animation.js +0 -32
- package/lib/reanimated1/animations/SpringUtils.js +0 -199
- package/lib/reanimated1/animations/backwardCompatibleAnimWrapper.js +0 -117
- package/lib/reanimated1/animations/decay.js +0 -54
- package/lib/reanimated1/animations/spring.js +0 -198
- package/lib/reanimated1/animations/timing.js +0 -74
- package/lib/reanimated1/base.js +0 -13
- package/lib/reanimated1/core/AnimatedAlways.js +0 -33
- package/lib/reanimated1/core/AnimatedBezier.js +0 -150
- package/lib/reanimated1/core/AnimatedBlock.js +0 -52
- package/lib/reanimated1/core/AnimatedCall.js +0 -55
- package/lib/reanimated1/core/AnimatedCallFunc.js +0 -72
- package/lib/reanimated1/core/AnimatedClock.js +0 -90
- package/lib/reanimated1/core/AnimatedClockTest.js +0 -22
- package/lib/reanimated1/core/AnimatedCode.js +0 -32
- package/lib/reanimated1/core/AnimatedConcat.js +0 -32
- package/lib/reanimated1/core/AnimatedCond.js +0 -57
- package/lib/reanimated1/core/AnimatedDebug.js +0 -62
- package/lib/reanimated1/core/AnimatedEvent.js +0 -126
- package/lib/reanimated1/core/AnimatedFunction.js +0 -55
- package/lib/reanimated1/core/AnimatedNode.js +0 -223
- package/lib/reanimated1/core/AnimatedOperator.js +0 -103
- package/lib/reanimated1/core/AnimatedParam.js +0 -88
- package/lib/reanimated1/core/AnimatedProps.js +0 -108
- package/lib/reanimated1/core/AnimatedSet.js +0 -38
- package/lib/reanimated1/core/AnimatedStartClock.js +0 -30
- package/lib/reanimated1/core/AnimatedStopClock.js +0 -30
- package/lib/reanimated1/core/AnimatedStyle.js +0 -78
- package/lib/reanimated1/core/AnimatedTransform.js +0 -78
- package/lib/reanimated1/core/AnimatedValue.js +0 -38
- package/lib/reanimated1/core/Core.test.js +0 -30
- package/lib/reanimated1/core/InternalAnimatedValue.js +0 -87
- package/lib/reanimated1/core/__mocks__/AnimatedProps.js +0 -86
- package/lib/reanimated1/core/createEventObjectProxyPolyfill.js +0 -44
- package/lib/reanimated1/derived/__mocks__/evaluateOnce.js +0 -14
- package/lib/reanimated1/derived/acc.js +0 -11
- package/lib/reanimated1/derived/color.js +0 -47
- package/lib/reanimated1/derived/diff.js +0 -16
- package/lib/reanimated1/derived/diffClamp.js +0 -11
- package/lib/reanimated1/derived/evaluateOnce.js +0 -35
- package/lib/reanimated1/derived/index.js +0 -8
- package/lib/reanimated1/derived/interpolate.js +0 -152
- package/lib/reanimated1/derived/interpolateColors.js +0 -62
- package/lib/reanimated1/derived/onChange.js +0 -14
- package/lib/reanimated1/derived/useCode.js +0 -41
- package/lib/reanimated1/index.js +0 -53
- package/lib/reanimated1/operators.js +0 -35
- package/lib/reanimated1/useValue.js +0 -10
- package/lib/reanimated1/val.js +0 -3
- package/lib/types/react-native-reanimated-tests.d.ts +0 -1
- package/src/reanimated1/Easing.js +0 -231
- package/src/reanimated1/SpringConfig.js +0 -79
- package/src/reanimated1/Transitioning.js +0 -158
- package/src/reanimated1/animations/Animation.js +0 -32
- package/src/reanimated1/animations/SpringUtils.js +0 -199
- package/src/reanimated1/animations/backwardCompatibleAnimWrapper.js +0 -117
- package/src/reanimated1/animations/decay.js +0 -54
- package/src/reanimated1/animations/spring.js +0 -198
- package/src/reanimated1/animations/timing.js +0 -74
- package/src/reanimated1/base.js +0 -13
- package/src/reanimated1/core/AnimatedAlways.js +0 -33
- package/src/reanimated1/core/AnimatedBezier.js +0 -150
- package/src/reanimated1/core/AnimatedBlock.js +0 -52
- package/src/reanimated1/core/AnimatedCall.js +0 -55
- package/src/reanimated1/core/AnimatedCallFunc.js +0 -72
- package/src/reanimated1/core/AnimatedClock.js +0 -90
- package/src/reanimated1/core/AnimatedClockTest.js +0 -22
- package/src/reanimated1/core/AnimatedCode.js +0 -32
- package/src/reanimated1/core/AnimatedConcat.js +0 -32
- package/src/reanimated1/core/AnimatedCond.js +0 -57
- package/src/reanimated1/core/AnimatedDebug.js +0 -62
- package/src/reanimated1/core/AnimatedEvent.js +0 -126
- package/src/reanimated1/core/AnimatedFunction.js +0 -55
- package/src/reanimated1/core/AnimatedNode.js +0 -223
- package/src/reanimated1/core/AnimatedOperator.js +0 -103
- package/src/reanimated1/core/AnimatedParam.js +0 -88
- package/src/reanimated1/core/AnimatedProps.js +0 -108
- package/src/reanimated1/core/AnimatedSet.js +0 -38
- package/src/reanimated1/core/AnimatedStartClock.js +0 -30
- package/src/reanimated1/core/AnimatedStopClock.js +0 -30
- package/src/reanimated1/core/AnimatedStyle.js +0 -78
- package/src/reanimated1/core/AnimatedTransform.js +0 -78
- package/src/reanimated1/core/AnimatedValue.js +0 -38
- package/src/reanimated1/core/Core.test.js +0 -30
- package/src/reanimated1/core/InternalAnimatedValue.js +0 -87
- package/src/reanimated1/core/__mocks__/AnimatedProps.js +0 -86
- package/src/reanimated1/core/createEventObjectProxyPolyfill.js +0 -44
- package/src/reanimated1/derived/__mocks__/evaluateOnce.js +0 -14
- package/src/reanimated1/derived/acc.js +0 -11
- package/src/reanimated1/derived/color.js +0 -47
- package/src/reanimated1/derived/diff.js +0 -16
- package/src/reanimated1/derived/diffClamp.js +0 -11
- package/src/reanimated1/derived/evaluateOnce.js +0 -35
- package/src/reanimated1/derived/index.js +0 -8
- package/src/reanimated1/derived/interpolate.js +0 -152
- package/src/reanimated1/derived/interpolateColors.js +0 -62
- package/src/reanimated1/derived/onChange.js +0 -14
- package/src/reanimated1/derived/useCode.js +0 -41
- package/src/reanimated1/index.js +0 -53
- package/src/reanimated1/operators.js +0 -35
- package/src/reanimated1/useValue.js +0 -10
- package/src/reanimated1/val.js +0 -3
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
import { val } from '../val';
|
|
2
|
-
import AnimatedNode from './AnimatedNode';
|
|
3
|
-
import invariant from 'invariant';
|
|
4
|
-
|
|
5
|
-
// These values are established by empiricism with tests (tradeoff: performance VS precision)
|
|
6
|
-
var NEWTON_ITERATIONS = 4;
|
|
7
|
-
var NEWTON_MIN_SLOPE = 0.001;
|
|
8
|
-
var SUBDIVISION_PRECISION = 0.0000001;
|
|
9
|
-
var SUBDIVISION_MAX_ITERATIONS = 10;
|
|
10
|
-
|
|
11
|
-
var kSplineTableSize = 11;
|
|
12
|
-
var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);
|
|
13
|
-
|
|
14
|
-
var float32ArraySupported = typeof Float32Array === 'function';
|
|
15
|
-
|
|
16
|
-
function A(aA1, aA2) {
|
|
17
|
-
return 1.0 - 3.0 * aA2 + 3.0 * aA1;
|
|
18
|
-
}
|
|
19
|
-
function B(aA1, aA2) {
|
|
20
|
-
return 3.0 * aA2 - 6.0 * aA1;
|
|
21
|
-
}
|
|
22
|
-
function C(aA1) {
|
|
23
|
-
return 3.0 * aA1;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
// Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.
|
|
27
|
-
function calcBezier(aT, aA1, aA2) {
|
|
28
|
-
return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
// Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.
|
|
32
|
-
function getSlope(aT, aA1, aA2) {
|
|
33
|
-
return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
function binarySubdivide(aX, aA, aB, mX1, mX2) {
|
|
37
|
-
var currentX = 0;
|
|
38
|
-
var currentT = 0;
|
|
39
|
-
var i = 0;
|
|
40
|
-
do {
|
|
41
|
-
currentT = aA + (aB - aA) / 2.0;
|
|
42
|
-
currentX = calcBezier(currentT, mX1, mX2) - aX;
|
|
43
|
-
if (currentX > 0.0) {
|
|
44
|
-
aB = currentT;
|
|
45
|
-
} else {
|
|
46
|
-
aA = currentT;
|
|
47
|
-
}
|
|
48
|
-
} while (
|
|
49
|
-
Math.abs(currentX) > SUBDIVISION_PRECISION &&
|
|
50
|
-
++i < SUBDIVISION_MAX_ITERATIONS
|
|
51
|
-
);
|
|
52
|
-
return currentT;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {
|
|
56
|
-
for (var i = 0; i < NEWTON_ITERATIONS; ++i) {
|
|
57
|
-
var currentSlope = getSlope(aGuessT, mX1, mX2);
|
|
58
|
-
if (currentSlope === 0.0) {
|
|
59
|
-
return aGuessT;
|
|
60
|
-
}
|
|
61
|
-
var currentX = calcBezier(aGuessT, mX1, mX2) - aX;
|
|
62
|
-
aGuessT -= currentX / currentSlope;
|
|
63
|
-
}
|
|
64
|
-
return aGuessT;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
function bezier(mX1, mY1, mX2, mY2) {
|
|
68
|
-
// Precompute samples table
|
|
69
|
-
var sampleValues = float32ArraySupported
|
|
70
|
-
? new Float32Array(kSplineTableSize)
|
|
71
|
-
: new Array(kSplineTableSize);
|
|
72
|
-
if (mX1 !== mY1 || mX2 !== mY2) {
|
|
73
|
-
for (var i = 0; i < kSplineTableSize; ++i) {
|
|
74
|
-
sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
function getTForX(aX) {
|
|
79
|
-
var intervalStart = 0.0;
|
|
80
|
-
var currentSample = 1;
|
|
81
|
-
var lastSample = kSplineTableSize - 1;
|
|
82
|
-
|
|
83
|
-
for (
|
|
84
|
-
;
|
|
85
|
-
currentSample !== lastSample && sampleValues[currentSample] <= aX;
|
|
86
|
-
++currentSample
|
|
87
|
-
) {
|
|
88
|
-
intervalStart += kSampleStepSize;
|
|
89
|
-
}
|
|
90
|
-
--currentSample;
|
|
91
|
-
|
|
92
|
-
// Interpolate to provide an initial guess for t
|
|
93
|
-
var dist =
|
|
94
|
-
(aX - sampleValues[currentSample]) /
|
|
95
|
-
(sampleValues[currentSample + 1] - sampleValues[currentSample]);
|
|
96
|
-
var guessForT = intervalStart + dist * kSampleStepSize;
|
|
97
|
-
|
|
98
|
-
var initialSlope = getSlope(guessForT, mX1, mX2);
|
|
99
|
-
if (initialSlope >= NEWTON_MIN_SLOPE) {
|
|
100
|
-
return newtonRaphsonIterate(aX, guessForT, mX1, mX2);
|
|
101
|
-
} else if (initialSlope === 0.0) {
|
|
102
|
-
return guessForT;
|
|
103
|
-
} else {
|
|
104
|
-
return binarySubdivide(
|
|
105
|
-
aX,
|
|
106
|
-
intervalStart,
|
|
107
|
-
intervalStart + kSampleStepSize,
|
|
108
|
-
mX1,
|
|
109
|
-
mX2
|
|
110
|
-
);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
return function BezierEasing(x) {
|
|
115
|
-
if (mX1 === mY1 && mX2 === mY2) {
|
|
116
|
-
return x; // linear
|
|
117
|
-
}
|
|
118
|
-
// Because JavaScript number are imprecise, we should guarantee the extremes are right.
|
|
119
|
-
if (x === 0) {
|
|
120
|
-
return 0;
|
|
121
|
-
}
|
|
122
|
-
if (x === 1) {
|
|
123
|
-
return 1;
|
|
124
|
-
}
|
|
125
|
-
return calcBezier(getTForX(x), mY1, mY2);
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
export default class AnimatedBezier extends AnimatedNode {
|
|
130
|
-
_value;
|
|
131
|
-
_bezier;
|
|
132
|
-
|
|
133
|
-
constructor(value, mX1, mY1, mX2, mY2) {
|
|
134
|
-
invariant(
|
|
135
|
-
value instanceof AnimatedNode,
|
|
136
|
-
`Reanimated: Bezier node argument should be of type AnimatedNode but got ${value}`
|
|
137
|
-
);
|
|
138
|
-
super({ type: 'bezier', mX1, mY1, mX2, mY2, input: value }, [value]);
|
|
139
|
-
this._value = value;
|
|
140
|
-
this._bezier = bezier(mX1, mY1, mX2, mY2);
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
toString() {
|
|
144
|
-
return `AnimatedBezier, id: ${this.__nodeID}`;
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
__onEvaluate() {
|
|
148
|
-
return this._bezier(val(this._value));
|
|
149
|
-
}
|
|
150
|
-
}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import invariant from 'invariant';
|
|
2
|
-
import { val } from '../val';
|
|
3
|
-
import AnimatedNode from './AnimatedNode';
|
|
4
|
-
import InternalAnimatedValue from './InternalAnimatedValue';
|
|
5
|
-
|
|
6
|
-
class AnimatedBlock extends AnimatedNode {
|
|
7
|
-
_array;
|
|
8
|
-
|
|
9
|
-
constructor(array) {
|
|
10
|
-
invariant(
|
|
11
|
-
array.every((el) => el instanceof AnimatedNode),
|
|
12
|
-
`Reanimated: Animated.block node argument should be an array with elements of type AnimatedNode. One or more of them are not AnimatedNodes`
|
|
13
|
-
);
|
|
14
|
-
super({ type: 'block', block: array }, array);
|
|
15
|
-
this._array = array;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
toString() {
|
|
19
|
-
return `AnimatedBlock, id: ${this.__nodeID}`;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
__onEvaluate() {
|
|
23
|
-
let result;
|
|
24
|
-
this._array.forEach((node) => {
|
|
25
|
-
result = val(node);
|
|
26
|
-
});
|
|
27
|
-
return result;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export function createAnimatedBlock(items) {
|
|
32
|
-
return adapt(items);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
function nodify(v) {
|
|
36
|
-
if (typeof v === 'object' && v?.__isProxy) {
|
|
37
|
-
if (!v.__val) {
|
|
38
|
-
v.__val = new InternalAnimatedValue(0);
|
|
39
|
-
}
|
|
40
|
-
return v.__val;
|
|
41
|
-
}
|
|
42
|
-
// TODO: cache some typical static values (e.g. 0, 1, -1)
|
|
43
|
-
return v instanceof AnimatedNode
|
|
44
|
-
? v
|
|
45
|
-
: InternalAnimatedValue.valueForConstant(v);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
export function adapt(v) {
|
|
49
|
-
return Array.isArray(v)
|
|
50
|
-
? new AnimatedBlock(v.map((node) => adapt(node)))
|
|
51
|
-
: nodify(v);
|
|
52
|
-
}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import invariant from 'invariant';
|
|
2
|
-
import ReanimatedEventEmitter from '../../ReanimatedEventEmitter';
|
|
3
|
-
import { val } from '../val';
|
|
4
|
-
import AnimatedNode from './AnimatedNode';
|
|
5
|
-
|
|
6
|
-
const NODE_MAPPING = new Map();
|
|
7
|
-
|
|
8
|
-
function listener(data) {
|
|
9
|
-
const node = NODE_MAPPING.get(data.id);
|
|
10
|
-
node && node._callback(data.args);
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
class AnimatedCall extends AnimatedNode {
|
|
14
|
-
_callback;
|
|
15
|
-
_args;
|
|
16
|
-
|
|
17
|
-
constructor(args, jsFunction) {
|
|
18
|
-
invariant(
|
|
19
|
-
args.every((el) => el instanceof AnimatedNode),
|
|
20
|
-
`Reanimated: Animated.call node args should be an array with elements of type AnimatedNode. One or more of them are not AnimatedNodes`
|
|
21
|
-
);
|
|
22
|
-
super({ type: 'call', input: args }, args);
|
|
23
|
-
this._callback = jsFunction;
|
|
24
|
-
this._args = args;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
toString() {
|
|
28
|
-
return `AnimatedCall, id: ${this.__nodeID}`;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
__attach() {
|
|
32
|
-
super.__attach();
|
|
33
|
-
NODE_MAPPING.set(this.__nodeID, this);
|
|
34
|
-
if (NODE_MAPPING.size === 1) {
|
|
35
|
-
ReanimatedEventEmitter.addListener('onReanimatedCall', listener);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
__detach() {
|
|
40
|
-
NODE_MAPPING.delete(this.__nodeID);
|
|
41
|
-
if (NODE_MAPPING.size === 0) {
|
|
42
|
-
ReanimatedEventEmitter.removeAllListeners('onReanimatedCall');
|
|
43
|
-
}
|
|
44
|
-
super.__detach();
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
__onEvaluate() {
|
|
48
|
-
this._callback(this._args.map(val));
|
|
49
|
-
return 0;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
export function createAnimatedCall(args, func) {
|
|
54
|
-
return new AnimatedCall(args, func);
|
|
55
|
-
}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import AnimatedNode, { getCallID, setCallID } from './AnimatedNode';
|
|
2
|
-
import { adapt } from './AnimatedBlock';
|
|
3
|
-
import { val } from '../val';
|
|
4
|
-
import invariant from 'invariant';
|
|
5
|
-
|
|
6
|
-
class AnimatedCallFunc extends AnimatedNode {
|
|
7
|
-
_previousCallID;
|
|
8
|
-
_what;
|
|
9
|
-
_args;
|
|
10
|
-
_params;
|
|
11
|
-
constructor(what, args, params) {
|
|
12
|
-
invariant(
|
|
13
|
-
what instanceof AnimatedNode,
|
|
14
|
-
`Reanimated: AnimatedCallFunc 'what' argument should be of type AnimatedNode but got ${what}`
|
|
15
|
-
);
|
|
16
|
-
invariant(
|
|
17
|
-
args.every((el) => el instanceof AnimatedNode),
|
|
18
|
-
`Reanimated: every AnimatedCallFunc 'args' argument should be of type AnimatedNode but got ${args}`
|
|
19
|
-
);
|
|
20
|
-
invariant(
|
|
21
|
-
params.every((el) => el instanceof AnimatedNode),
|
|
22
|
-
`Reanimated: every AnimatedCallFunc 'params' argument should be of type AnimatedNode but got ${params}`
|
|
23
|
-
);
|
|
24
|
-
super(
|
|
25
|
-
{
|
|
26
|
-
type: 'callfunc',
|
|
27
|
-
what,
|
|
28
|
-
args,
|
|
29
|
-
params,
|
|
30
|
-
},
|
|
31
|
-
[...args]
|
|
32
|
-
);
|
|
33
|
-
this._what = what;
|
|
34
|
-
this._args = args;
|
|
35
|
-
this._params = params;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
toString() {
|
|
39
|
-
return `AnimatedCallFunc, id: ${this.__nodeID}`;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
beginContext() {
|
|
43
|
-
this._previousCallID = getCallID();
|
|
44
|
-
setCallID(getCallID() + '/' + this.__nodeID);
|
|
45
|
-
|
|
46
|
-
this._params.forEach((param, index) => {
|
|
47
|
-
param.beginContext(this._args[index], this._previousCallID);
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
endContext() {
|
|
52
|
-
this._params.forEach((param) => {
|
|
53
|
-
param.endContext();
|
|
54
|
-
});
|
|
55
|
-
setCallID(this._previousCallID);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
__onEvaluate() {
|
|
59
|
-
this.beginContext();
|
|
60
|
-
const value = val(this._what);
|
|
61
|
-
this.endContext();
|
|
62
|
-
return value;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
export function createAnimatedCallFunc(proc, args, params) {
|
|
67
|
-
return new AnimatedCallFunc(
|
|
68
|
-
proc,
|
|
69
|
-
args.map((p) => adapt(p)),
|
|
70
|
-
params
|
|
71
|
-
);
|
|
72
|
-
}
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import InternalAnimatedValue from './InternalAnimatedValue';
|
|
2
|
-
import AnimatedNode from './AnimatedNode';
|
|
3
|
-
import { val } from '../val';
|
|
4
|
-
|
|
5
|
-
class AnimatedMainClock extends InternalAnimatedValue {
|
|
6
|
-
_frameCallback;
|
|
7
|
-
|
|
8
|
-
constructor() {
|
|
9
|
-
super({ type: 'MAIN_CLOCK' });
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
__onEvaluate() {
|
|
13
|
-
return +new Date();
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
_runFrame = () => {
|
|
17
|
-
this._updateValue(0);
|
|
18
|
-
if (this.__children.length > 0) {
|
|
19
|
-
this._frameCallback = requestAnimationFrame(this._runFrame);
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
__attach() {
|
|
24
|
-
super.__attach();
|
|
25
|
-
if (!this._frameCallback) {
|
|
26
|
-
this._frameCallback = requestAnimationFrame(this._runFrame);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
__detach() {
|
|
31
|
-
if (this._frameCallback) {
|
|
32
|
-
cancelAnimationFrame(this._frameCallback);
|
|
33
|
-
this._frameCallback = null;
|
|
34
|
-
}
|
|
35
|
-
super.__detach();
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
const mainClock = new AnimatedMainClock();
|
|
40
|
-
|
|
41
|
-
export default class AnimatedClock extends AnimatedNode {
|
|
42
|
-
_started;
|
|
43
|
-
_attached;
|
|
44
|
-
|
|
45
|
-
constructor() {
|
|
46
|
-
super({ type: 'clock' });
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
toString() {
|
|
50
|
-
return `AnimatedClock, id: ${this.__nodeID}`;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
__onEvaluate() {
|
|
54
|
-
return val(mainClock);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
__attach() {
|
|
58
|
-
super.__attach();
|
|
59
|
-
if (this._started && !this._attached) {
|
|
60
|
-
mainClock.__addChild(this);
|
|
61
|
-
}
|
|
62
|
-
this._attached = true;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
__detach() {
|
|
66
|
-
if (this._started && this._attached) {
|
|
67
|
-
mainClock.__removeChild(this);
|
|
68
|
-
}
|
|
69
|
-
this._attached = false;
|
|
70
|
-
super.__detach();
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
start() {
|
|
74
|
-
if (!this._started && this._attached) {
|
|
75
|
-
mainClock.__addChild(this);
|
|
76
|
-
}
|
|
77
|
-
this._started = true;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
stop() {
|
|
81
|
-
if (this._started && this._attached) {
|
|
82
|
-
mainClock.__removeChild(this);
|
|
83
|
-
}
|
|
84
|
-
this._started = false;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
isStarted() {
|
|
88
|
-
return this._started;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import AnimatedNode from './AnimatedNode';
|
|
2
|
-
|
|
3
|
-
class AnimatedClockTest extends AnimatedNode {
|
|
4
|
-
_clockNode;
|
|
5
|
-
|
|
6
|
-
constructor(clockNode) {
|
|
7
|
-
super({ type: 'clockTest', clock: clockNode });
|
|
8
|
-
this._clockNode = clockNode;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
toString() {
|
|
12
|
-
return `AnimatedClockTest, id: ${this.__nodeID}`;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
__onEvaluate() {
|
|
16
|
-
return this._clockNode.isStarted() ? 1 : 0;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export function createAnimatedClockTest(clock) {
|
|
21
|
-
return new AnimatedClockTest(clock);
|
|
22
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import useCode from '../derived/useCode';
|
|
2
|
-
import AnimatedNode from './AnimatedNode';
|
|
3
|
-
|
|
4
|
-
function assertNodesNotNull(code, children, exec) {
|
|
5
|
-
if (!code) {
|
|
6
|
-
const error = !children
|
|
7
|
-
? `Got "${typeof children}" type passed to children`
|
|
8
|
-
: `Got "${typeof exec}" type passed to exec`;
|
|
9
|
-
|
|
10
|
-
throw new Error(
|
|
11
|
-
`<Animated.Code /> expects the 'exec' prop or children to be an animated node or a function returning an animated node. ${error}`
|
|
12
|
-
);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
function Code({ exec, children, dependencies }) {
|
|
17
|
-
const nodes = children || exec;
|
|
18
|
-
|
|
19
|
-
let code = null;
|
|
20
|
-
if (nodes instanceof AnimatedNode) {
|
|
21
|
-
code = () => nodes;
|
|
22
|
-
} else if (typeof nodes === 'function') {
|
|
23
|
-
code = nodes;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
assertNodesNotNull(code, children, exec);
|
|
27
|
-
|
|
28
|
-
useCode(code, dependencies);
|
|
29
|
-
return null;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export default Code;
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import invariant from 'invariant';
|
|
2
|
-
import { adapt } from '../core/AnimatedBlock';
|
|
3
|
-
import AnimatedNode from './AnimatedNode';
|
|
4
|
-
import { val } from '../val';
|
|
5
|
-
|
|
6
|
-
class AnimatedConcat extends AnimatedNode {
|
|
7
|
-
constructor(input) {
|
|
8
|
-
invariant(
|
|
9
|
-
input.every(
|
|
10
|
-
(el) =>
|
|
11
|
-
el instanceof AnimatedNode ||
|
|
12
|
-
typeof el === 'number' ||
|
|
13
|
-
typeof el === 'string'
|
|
14
|
-
),
|
|
15
|
-
`Reanimated: Animated.concat node arguments should be of type AnimatedNode or String or Number. One or more of them are not of that type. Node: ${input}`
|
|
16
|
-
);
|
|
17
|
-
super({ type: 'concat', input }, input);
|
|
18
|
-
this._input = input;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
__onEvaluate() {
|
|
22
|
-
return this._input.reduce((prev, current) => prev + val(current), '');
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
toString() {
|
|
26
|
-
return `AnimatedConcat, id: ${this.__nodeID}`;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export function createAnimatedConcat(...args) {
|
|
31
|
-
return new AnimatedConcat(args.map(adapt));
|
|
32
|
-
}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import invariant from 'invariant';
|
|
2
|
-
import { adapt } from '../core/AnimatedBlock';
|
|
3
|
-
import { val } from '../val';
|
|
4
|
-
import AnimatedNode from './AnimatedNode';
|
|
5
|
-
|
|
6
|
-
class AnimatedCond extends AnimatedNode {
|
|
7
|
-
_condition;
|
|
8
|
-
_ifBlock;
|
|
9
|
-
_elseBlock;
|
|
10
|
-
|
|
11
|
-
constructor(condition, ifBlock, elseBlock) {
|
|
12
|
-
invariant(
|
|
13
|
-
condition instanceof AnimatedNode,
|
|
14
|
-
`Reanimated: Animated.cond node first argument should be of type AnimatedNode but got ${condition}`
|
|
15
|
-
);
|
|
16
|
-
invariant(
|
|
17
|
-
ifBlock instanceof AnimatedNode,
|
|
18
|
-
`Reanimated: Animated.cond node second argument should be of type AnimatedNode but got ${ifBlock}`
|
|
19
|
-
);
|
|
20
|
-
invariant(
|
|
21
|
-
elseBlock instanceof AnimatedNode || elseBlock === undefined,
|
|
22
|
-
`Reanimated: Animated.cond node third argument should be of type AnimatedNode or should be undefined but got ${elseBlock}`
|
|
23
|
-
);
|
|
24
|
-
super(
|
|
25
|
-
{
|
|
26
|
-
type: 'cond',
|
|
27
|
-
cond: condition,
|
|
28
|
-
ifBlock,
|
|
29
|
-
elseBlock,
|
|
30
|
-
},
|
|
31
|
-
[condition, ifBlock, elseBlock]
|
|
32
|
-
);
|
|
33
|
-
this._condition = condition;
|
|
34
|
-
this._ifBlock = ifBlock;
|
|
35
|
-
this._elseBlock = elseBlock;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
toString() {
|
|
39
|
-
return `AnimatedCond, id: ${this.__nodeID}`;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
__onEvaluate() {
|
|
43
|
-
if (val(this._condition)) {
|
|
44
|
-
return val(this._ifBlock);
|
|
45
|
-
} else {
|
|
46
|
-
return this._elseBlock !== undefined ? val(this._elseBlock) : undefined;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
export function createAnimatedCond(cond, ifBlock, elseBlock) {
|
|
52
|
-
return new AnimatedCond(
|
|
53
|
-
adapt(cond),
|
|
54
|
-
adapt(ifBlock),
|
|
55
|
-
elseBlock === undefined ? undefined : adapt(elseBlock)
|
|
56
|
-
);
|
|
57
|
-
}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import invariant from 'invariant';
|
|
2
|
-
import { NativeModules } from 'react-native';
|
|
3
|
-
import { val } from '../val';
|
|
4
|
-
import { adapt, createAnimatedBlock as block } from './AnimatedBlock';
|
|
5
|
-
import { createAnimatedCall as call } from './AnimatedCall';
|
|
6
|
-
import AnimatedNode from './AnimatedNode';
|
|
7
|
-
|
|
8
|
-
class AnimatedDebug extends AnimatedNode {
|
|
9
|
-
_message;
|
|
10
|
-
_value;
|
|
11
|
-
|
|
12
|
-
constructor(message, value) {
|
|
13
|
-
invariant(
|
|
14
|
-
typeof message === 'string',
|
|
15
|
-
`Reanimated: Animated.debug node first argument should be of type string but got ${message}`
|
|
16
|
-
);
|
|
17
|
-
invariant(
|
|
18
|
-
value instanceof AnimatedNode,
|
|
19
|
-
`Reanimated: Animated.debug node second argument should be of type AnimatedNode but got ${value}`
|
|
20
|
-
);
|
|
21
|
-
super({ type: 'debug', message, value }, [value]);
|
|
22
|
-
this._message = message;
|
|
23
|
-
this._value = value;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
toString() {
|
|
27
|
-
return `AnimatedDebug, id: ${this.__nodeID}`;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
__onEvaluate() {
|
|
31
|
-
const value = val(this._value);
|
|
32
|
-
console.log(this._message, value);
|
|
33
|
-
return value;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export function createAnimatedDebug(message, value) {
|
|
38
|
-
if (__DEV__) {
|
|
39
|
-
// hack to detect if app is running in remote debugger
|
|
40
|
-
// https://stackoverflow.com/questions/39022216
|
|
41
|
-
const runningInRemoteDebugger = typeof atob !== 'undefined';
|
|
42
|
-
|
|
43
|
-
// read the executionEnvironment off of expo-constants without explicitly
|
|
44
|
-
// depending on the package
|
|
45
|
-
const runningInExpoShell =
|
|
46
|
-
NativeModules.NativeUnimoduleProxy?.modulesConstants?.ExponentConstants
|
|
47
|
-
?.executionEnvironment === 'storeClient';
|
|
48
|
-
|
|
49
|
-
if (runningInRemoteDebugger || runningInExpoShell) {
|
|
50
|
-
// When running in expo or remote debugger we use JS console.log to output variables
|
|
51
|
-
// otherwise we output to the native console using native debug node
|
|
52
|
-
return block([
|
|
53
|
-
call([value], ([a]) => console.log(`${message} ${a}`)),
|
|
54
|
-
value,
|
|
55
|
-
]);
|
|
56
|
-
} else {
|
|
57
|
-
return new AnimatedDebug(message, adapt(value));
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
// Debugging is disabled in PROD
|
|
61
|
-
return value;
|
|
62
|
-
}
|