react-native-reanimated 2.6.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 +20 -2
- package/Common/cpp/Tools/Mapper.cpp +23 -4
- package/Common/cpp/Tools/RuntimeDecorator.cpp +92 -46
- 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 +196 -41
- package/android/src/main/cpp/headers/NativeProxy.h +45 -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/AnimationsManager.java +13 -6
- package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/LayoutAnimations.java +2 -1
- package/android/src/{main → paper}/java/com/swmansion/reanimated/NativeProxy.java +26 -10
- 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/LayoutReanimation/REAAnimationsManager.h +1 -1
- package/ios/LayoutReanimation/REAAnimationsManager.m +2 -2
- package/ios/LayoutReanimation/REASnapshot.m +1 -1
- package/ios/LayoutReanimation/REAUIManager.h +1 -1
- package/ios/LayoutReanimation/REAUIManager.mm +4 -5
- package/ios/REAEventDispatcher.m +1 -2
- package/ios/REAModule.h +10 -1
- package/ios/REAModule.mm +284 -0
- package/ios/REANodesManager.h +27 -52
- package/ios/{REANodesManager.m → REANodesManager.mm} +92 -226
- package/ios/native/NativeMethods.h +1 -3
- package/ios/native/NativeMethods.mm +1 -1
- package/ios/native/NativeProxy.h +2 -2
- package/ios/native/NativeProxy.mm +162 -32
- package/ios/native/REAIOSErrorHandler.h +2 -4
- package/ios/native/REAIOSErrorHandler.mm +1 -1
- package/ios/native/REAIOSLogger.h +1 -3
- package/ios/native/REAIOSLogger.mm +1 -1
- package/ios/native/REAIOSScheduler.h +1 -3
- package/ios/native/REAIOSScheduler.mm +2 -2
- package/ios/native/REAInitializer.h +0 -7
- package/ios/native/REAInitializer.mm +14 -6
- package/ios/native/UIResponder+Reanimated.h +3 -1
- package/ios/native/UIResponder+Reanimated.mm +6 -4
- package/ios/sensor/ReanimatedSensor.h +1 -1
- package/ios/sensor/ReanimatedSensor.m +1 -1
- package/ios/sensor/ReanimatedSensorContainer.h +1 -1
- package/ios/sensor/ReanimatedSensorContainer.m +2 -2
- package/lib/Animated.js +0 -13
- package/lib/ConfigHelper.js +0 -1
- package/lib/createAnimatedComponent.js +30 -169
- package/lib/index.js +0 -13
- package/lib/reanimated2/Easing.js +8 -44
- package/lib/reanimated2/NativeMethods.js +20 -3
- package/lib/reanimated2/UpdateProps.js +25 -10
- package/lib/reanimated2/core.js +4 -37
- package/lib/reanimated2/fabricUtils.js +18 -0
- package/lib/reanimated2/globals.d.ts +18 -3
- 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 -2
- 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 +1 -3
- 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 +10 -10
- package/plugin.js +29 -33
- package/react-native-reanimated.d.ts +15 -3
- package/src/Animated.js +0 -13
- package/src/ConfigHelper.ts +0 -1
- package/src/createAnimatedComponent.tsx +37 -197
- package/src/reanimated2/Easing.ts +8 -55
- package/src/reanimated2/NativeMethods.ts +39 -7
- package/src/reanimated2/UpdateProps.ts +38 -19
- package/src/reanimated2/commonTypes.ts +4 -2
- package/src/reanimated2/component/FlatList.tsx +8 -5
- package/src/reanimated2/core.ts +7 -48
- package/src/reanimated2/fabricUtils.ts +27 -0
- package/src/reanimated2/globals.d.ts +18 -3
- 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/useAnimatedSensor.ts +1 -3
- 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 -104
- 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 -9
- 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 -115
- 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 -98
- 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 -28
- package/ios/Nodes/REATransformNode.h +0 -5
- package/ios/Nodes/REATransformNode.m +0 -36
- package/ios/Nodes/REAValueNode.h +0 -11
- package/ios/Nodes/REAValueNode.m +0 -26
- package/ios/REAModule.m +0 -185
- package/ios/Transitioning/RCTConvert+REATransition.h +0 -12
- package/ios/Transitioning/RCTConvert+REATransition.m +0 -53
- package/ios/Transitioning/REAAllTransitions.h +0 -26
- package/ios/Transitioning/REAAllTransitions.m +0 -297
- package/ios/Transitioning/REATransition.h +0 -65
- package/ios/Transitioning/REATransition.m +0 -211
- package/ios/Transitioning/REATransitionAnimation.h +0 -17
- package/ios/Transitioning/REATransitionAnimation.m +0 -80
- package/ios/Transitioning/REATransitionManager.h +0 -9
- package/ios/Transitioning/REATransitionManager.m +0 -62
- package/ios/Transitioning/REATransitionValues.h +0 -15
- package/ios/Transitioning/REATransitionValues.m +0 -26
- 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
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
package com.swmansion.reanimated;
|
|
2
|
-
|
|
3
|
-
import com.swmansion.reanimated.nodes.Node;
|
|
4
|
-
import java.util.ArrayList;
|
|
5
|
-
|
|
6
|
-
public class UpdateContext {
|
|
7
|
-
|
|
8
|
-
public long updateLoopID = 0;
|
|
9
|
-
public String callID = "";
|
|
10
|
-
public final ArrayList<Node> updatedNodes = new ArrayList<>();
|
|
11
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
package com.swmansion.reanimated.nodes;
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.bridge.ReadableMap;
|
|
4
|
-
import com.swmansion.reanimated.MapUtils;
|
|
5
|
-
import com.swmansion.reanimated.NodesManager;
|
|
6
|
-
|
|
7
|
-
public class AlwaysNode extends Node implements FinalNode {
|
|
8
|
-
public AlwaysNode(int nodeID, ReadableMap config, NodesManager nodesManager) {
|
|
9
|
-
super(nodeID, config, nodesManager);
|
|
10
|
-
mNodeToBeEvaluated =
|
|
11
|
-
MapUtils.getInt(
|
|
12
|
-
config,
|
|
13
|
-
"what",
|
|
14
|
-
"Reanimated: Argument passed to always node is either of wrong type or is missing.");
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
private int mNodeToBeEvaluated;
|
|
18
|
-
|
|
19
|
-
@Override
|
|
20
|
-
public void update() {
|
|
21
|
-
this.value();
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
@Override
|
|
25
|
-
protected Double evaluate() {
|
|
26
|
-
mNodesManager.findNodeById(mNodeToBeEvaluated, Node.class).value();
|
|
27
|
-
return ZERO;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
package com.swmansion.reanimated.nodes;
|
|
2
|
-
|
|
3
|
-
import android.graphics.PointF;
|
|
4
|
-
import com.facebook.react.bridge.ReadableMap;
|
|
5
|
-
import com.swmansion.reanimated.MapUtils;
|
|
6
|
-
import com.swmansion.reanimated.NodesManager;
|
|
7
|
-
|
|
8
|
-
public class BezierNode extends Node {
|
|
9
|
-
|
|
10
|
-
private static class CubicBezierInterpolator {
|
|
11
|
-
|
|
12
|
-
protected PointF start;
|
|
13
|
-
protected PointF end;
|
|
14
|
-
protected PointF a = new PointF();
|
|
15
|
-
protected PointF b = new PointF();
|
|
16
|
-
protected PointF c = new PointF();
|
|
17
|
-
|
|
18
|
-
public CubicBezierInterpolator(PointF start, PointF end) {
|
|
19
|
-
this.start = start;
|
|
20
|
-
this.end = end;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
public CubicBezierInterpolator(float startX, float startY, float endX, float endY) {
|
|
24
|
-
this(new PointF(startX, startY), new PointF(endX, endY));
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
public float getInterpolation(float time) {
|
|
28
|
-
return getBezierCoordinateY(getXForTime(time));
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
protected float getBezierCoordinateY(float time) {
|
|
32
|
-
c.y = 3 * start.y;
|
|
33
|
-
b.y = 3 * (end.y - start.y) - c.y;
|
|
34
|
-
a.y = 1 - c.y - b.y;
|
|
35
|
-
return time * (c.y + time * (b.y + time * a.y));
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
protected float getXForTime(float time) {
|
|
39
|
-
float x = time;
|
|
40
|
-
float z;
|
|
41
|
-
for (int i = 1; i < 14; i++) {
|
|
42
|
-
z = getBezierCoordinateX(x) - time;
|
|
43
|
-
if (Math.abs(z) < 1e-3) {
|
|
44
|
-
break;
|
|
45
|
-
}
|
|
46
|
-
x -= z / getXDerivate(x);
|
|
47
|
-
}
|
|
48
|
-
return x;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
private float getXDerivate(float t) {
|
|
52
|
-
return c.x + t * (2 * b.x + 3 * a.x * t);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
private float getBezierCoordinateX(float time) {
|
|
56
|
-
c.x = 3 * start.x;
|
|
57
|
-
b.x = 3 * (end.x - start.x) - c.x;
|
|
58
|
-
a.x = 1 - c.x - b.x;
|
|
59
|
-
return time * (c.x + time * (b.x + time * a.x));
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
private final int mInputID;
|
|
64
|
-
private final CubicBezierInterpolator mInterpolator;
|
|
65
|
-
|
|
66
|
-
public BezierNode(int nodeID, ReadableMap config, NodesManager nodesManager) {
|
|
67
|
-
super(nodeID, config, nodesManager);
|
|
68
|
-
|
|
69
|
-
mInputID =
|
|
70
|
-
MapUtils.getInt(
|
|
71
|
-
config,
|
|
72
|
-
"input",
|
|
73
|
-
"Reanimated: Argument passed to bezier node is either of wrong type or is missing.");
|
|
74
|
-
|
|
75
|
-
float startX = (float) config.getDouble("mX1");
|
|
76
|
-
float startY = (float) config.getDouble("mY1");
|
|
77
|
-
float endX = (float) config.getDouble("mX2");
|
|
78
|
-
float endY = (float) config.getDouble("mY2");
|
|
79
|
-
mInterpolator = new CubicBezierInterpolator(startX, startY, endX, endY);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
@Override
|
|
83
|
-
protected Double evaluate() {
|
|
84
|
-
Double in = (Double) mNodesManager.getNodeValue(mInputID);
|
|
85
|
-
return Double.valueOf(mInterpolator.getInterpolation(in.floatValue()));
|
|
86
|
-
}
|
|
87
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
package com.swmansion.reanimated.nodes;
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.bridge.ReadableMap;
|
|
4
|
-
import com.swmansion.reanimated.NodesManager;
|
|
5
|
-
import com.swmansion.reanimated.Utils;
|
|
6
|
-
|
|
7
|
-
public class BlockNode extends Node {
|
|
8
|
-
|
|
9
|
-
private final int[] mBlock;
|
|
10
|
-
|
|
11
|
-
public BlockNode(int nodeID, ReadableMap config, NodesManager nodesManager) {
|
|
12
|
-
super(nodeID, config, nodesManager);
|
|
13
|
-
mBlock = Utils.processIntArray(config.getArray("block"));
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
@Override
|
|
17
|
-
protected Object evaluate() {
|
|
18
|
-
Object res = null;
|
|
19
|
-
for (int i = 0; i < mBlock.length; i++) {
|
|
20
|
-
res = mNodesManager.findNodeById(mBlock[i], Node.class).value();
|
|
21
|
-
}
|
|
22
|
-
return res;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
package com.swmansion.reanimated.nodes;
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.bridge.ReadableMap;
|
|
4
|
-
import com.swmansion.reanimated.NodesManager;
|
|
5
|
-
import com.swmansion.reanimated.Utils;
|
|
6
|
-
|
|
7
|
-
public class CallFuncNode extends Node {
|
|
8
|
-
|
|
9
|
-
private String mPreviousCallID;
|
|
10
|
-
private final int mWhatNodeID;
|
|
11
|
-
private final int[] mArgs;
|
|
12
|
-
private final int[] mParams;
|
|
13
|
-
|
|
14
|
-
public CallFuncNode(int nodeID, ReadableMap config, NodesManager nodesManager) {
|
|
15
|
-
super(nodeID, config, nodesManager);
|
|
16
|
-
mWhatNodeID = config.getInt("what");
|
|
17
|
-
mParams = Utils.processIntArray(config.getArray("params"));
|
|
18
|
-
mArgs = Utils.processIntArray(config.getArray("args"));
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
private void beginContext() {
|
|
22
|
-
mPreviousCallID = mNodesManager.updateContext.callID;
|
|
23
|
-
mNodesManager.updateContext.callID =
|
|
24
|
-
mNodesManager.updateContext.callID + '/' + String.valueOf(mNodeID);
|
|
25
|
-
for (int i = 0; i < mParams.length; i++) {
|
|
26
|
-
int paramId = mParams[i];
|
|
27
|
-
ParamNode paramNode = mNodesManager.findNodeById(paramId, ParamNode.class);
|
|
28
|
-
paramNode.beginContext(mArgs[i], mPreviousCallID);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
private void endContext() {
|
|
33
|
-
for (int i = 0; i < mParams.length; i++) {
|
|
34
|
-
int paramId = mParams[i];
|
|
35
|
-
ParamNode paramNode = mNodesManager.findNodeById(paramId, ParamNode.class);
|
|
36
|
-
paramNode.endContext();
|
|
37
|
-
}
|
|
38
|
-
mNodesManager.updateContext.callID = mPreviousCallID;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
@Override
|
|
42
|
-
protected Object evaluate() {
|
|
43
|
-
beginContext();
|
|
44
|
-
Node whatNode = mNodesManager.findNodeById(mWhatNodeID, Node.class);
|
|
45
|
-
Object retVal = whatNode.value();
|
|
46
|
-
endContext();
|
|
47
|
-
return retVal;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
package com.swmansion.reanimated.nodes;
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.bridge.ReadableMap;
|
|
4
|
-
import com.swmansion.reanimated.NodesManager;
|
|
5
|
-
|
|
6
|
-
public class ClockNode extends Node implements NodesManager.OnAnimationFrame {
|
|
7
|
-
|
|
8
|
-
public boolean isRunning;
|
|
9
|
-
|
|
10
|
-
public ClockNode(int nodeID, ReadableMap config, NodesManager nodesManager) {
|
|
11
|
-
super(nodeID, config, nodesManager);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
public void start() {
|
|
15
|
-
if (isRunning) {
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
isRunning = true;
|
|
19
|
-
mNodesManager.postOnAnimation(this);
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
public void stop() {
|
|
23
|
-
isRunning = false;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
@Override
|
|
27
|
-
protected Double evaluate() {
|
|
28
|
-
return mNodesManager.currentFrameTimeMs;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
@Override
|
|
32
|
-
public void onAnimationFrame(double timestampMs) {
|
|
33
|
-
if (isRunning) {
|
|
34
|
-
markUpdated();
|
|
35
|
-
mNodesManager.postOnAnimation(this);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
package com.swmansion.reanimated.nodes;
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.bridge.ReadableMap;
|
|
4
|
-
import com.swmansion.reanimated.MapUtils;
|
|
5
|
-
import com.swmansion.reanimated.NodesManager;
|
|
6
|
-
|
|
7
|
-
public abstract class ClockOpNode extends Node {
|
|
8
|
-
|
|
9
|
-
public static class ClockStartNode extends ClockOpNode {
|
|
10
|
-
public ClockStartNode(int nodeID, ReadableMap config, NodesManager nodesManager) {
|
|
11
|
-
super(nodeID, config, nodesManager);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
@Override
|
|
15
|
-
protected Double eval(Node clock) {
|
|
16
|
-
if (clock instanceof ParamNode) {
|
|
17
|
-
((ParamNode) clock).start();
|
|
18
|
-
} else {
|
|
19
|
-
((ClockNode) clock).start();
|
|
20
|
-
}
|
|
21
|
-
return ZERO;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
public static class ClockStopNode extends ClockOpNode {
|
|
26
|
-
public ClockStopNode(int nodeID, ReadableMap config, NodesManager nodesManager) {
|
|
27
|
-
super(nodeID, config, nodesManager);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
@Override
|
|
31
|
-
protected Double eval(Node clock) {
|
|
32
|
-
if (clock instanceof ParamNode) {
|
|
33
|
-
((ParamNode) clock).stop();
|
|
34
|
-
} else {
|
|
35
|
-
((ClockNode) clock).stop();
|
|
36
|
-
}
|
|
37
|
-
return ZERO;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
public static class ClockTestNode extends ClockOpNode {
|
|
42
|
-
public ClockTestNode(int nodeID, ReadableMap config, NodesManager nodesManager) {
|
|
43
|
-
super(nodeID, config, nodesManager);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
@Override
|
|
47
|
-
protected Double eval(Node clock) {
|
|
48
|
-
if (clock instanceof ParamNode) {
|
|
49
|
-
return ((ParamNode) clock).isRunning() ? 1. : 0.;
|
|
50
|
-
}
|
|
51
|
-
return ((ClockNode) clock).isRunning ? 1. : 0.;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
private int clockID;
|
|
56
|
-
|
|
57
|
-
public ClockOpNode(int nodeID, ReadableMap config, NodesManager nodesManager) {
|
|
58
|
-
super(nodeID, config, nodesManager);
|
|
59
|
-
clockID =
|
|
60
|
-
MapUtils.getInt(
|
|
61
|
-
config,
|
|
62
|
-
"clock",
|
|
63
|
-
"Reanimated: Argument passed to clock node is either of wrong type or is missing.");
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
@Override
|
|
67
|
-
protected Double evaluate() {
|
|
68
|
-
Node clock = mNodesManager.findNodeById(clockID, Node.class);
|
|
69
|
-
return eval(clock);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
protected abstract Double eval(Node clock);
|
|
73
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
package com.swmansion.reanimated.nodes;
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.bridge.ReadableMap;
|
|
4
|
-
import com.swmansion.reanimated.NodesManager;
|
|
5
|
-
import com.swmansion.reanimated.Utils;
|
|
6
|
-
import java.text.NumberFormat;
|
|
7
|
-
import java.util.Locale;
|
|
8
|
-
|
|
9
|
-
public class ConcatNode extends Node {
|
|
10
|
-
private final int[] mInputIDs;
|
|
11
|
-
private static final NumberFormat sFormatter = NumberFormat.getInstance(Locale.ENGLISH);
|
|
12
|
-
|
|
13
|
-
static {
|
|
14
|
-
sFormatter.setMinimumFractionDigits(0);
|
|
15
|
-
sFormatter.setGroupingUsed(false);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
public ConcatNode(int nodeID, ReadableMap config, NodesManager nodesManager) {
|
|
19
|
-
super(nodeID, config, nodesManager);
|
|
20
|
-
mInputIDs = Utils.processIntArray(config.getArray("input"));
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
@Override
|
|
24
|
-
protected String evaluate() {
|
|
25
|
-
StringBuilder builder = new StringBuilder();
|
|
26
|
-
for (int i = 0; i < mInputIDs.length; i++) {
|
|
27
|
-
Node inputNodes = mNodesManager.findNodeById(mInputIDs[i], Node.class);
|
|
28
|
-
Object value = inputNodes.value();
|
|
29
|
-
if (value instanceof Double) {
|
|
30
|
-
value = sFormatter.format((Double) value);
|
|
31
|
-
}
|
|
32
|
-
builder.append(value);
|
|
33
|
-
}
|
|
34
|
-
return builder.toString();
|
|
35
|
-
}
|
|
36
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
package com.swmansion.reanimated.nodes;
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.bridge.ReadableMap;
|
|
4
|
-
import com.swmansion.reanimated.MapUtils;
|
|
5
|
-
import com.swmansion.reanimated.NodesManager;
|
|
6
|
-
|
|
7
|
-
public class CondNode extends Node {
|
|
8
|
-
|
|
9
|
-
private final int mCondID, mIfBlockID, mElseBlockID;
|
|
10
|
-
|
|
11
|
-
public CondNode(int nodeID, ReadableMap config, NodesManager nodesManager) {
|
|
12
|
-
super(nodeID, config, nodesManager);
|
|
13
|
-
mCondID =
|
|
14
|
-
MapUtils.getInt(
|
|
15
|
-
config,
|
|
16
|
-
"cond",
|
|
17
|
-
"Reanimated: First argument passed to cond node is either of wrong type or is missing.");
|
|
18
|
-
mIfBlockID =
|
|
19
|
-
MapUtils.getInt(
|
|
20
|
-
config,
|
|
21
|
-
"ifBlock",
|
|
22
|
-
"Reanimated: Second argument passed to cond node is either of wrong type or is missing.");
|
|
23
|
-
mElseBlockID =
|
|
24
|
-
config.hasKey("elseBlock")
|
|
25
|
-
? MapUtils.getInt(
|
|
26
|
-
config,
|
|
27
|
-
"elseBlock",
|
|
28
|
-
"Reanimated: Second argument passed to cond node is either of wrong type or is missing.")
|
|
29
|
-
: -1;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
@Override
|
|
33
|
-
protected Object evaluate() {
|
|
34
|
-
Object cond = mNodesManager.getNodeValue(mCondID);
|
|
35
|
-
if (cond instanceof Number && ((Number) cond).doubleValue() != 0.0) {
|
|
36
|
-
// This is not a good way to compare doubles but in this case it is what we want
|
|
37
|
-
return mIfBlockID != -1 ? mNodesManager.getNodeValue(mIfBlockID) : ZERO;
|
|
38
|
-
}
|
|
39
|
-
return mElseBlockID != -1 ? mNodesManager.getNodeValue(mElseBlockID) : ZERO;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
package com.swmansion.reanimated.nodes;
|
|
2
|
-
|
|
3
|
-
import android.util.Log;
|
|
4
|
-
import com.facebook.react.bridge.ReadableMap;
|
|
5
|
-
import com.swmansion.reanimated.MapUtils;
|
|
6
|
-
import com.swmansion.reanimated.NodesManager;
|
|
7
|
-
|
|
8
|
-
public class DebugNode extends Node {
|
|
9
|
-
|
|
10
|
-
private final String mMessage;
|
|
11
|
-
private final int mValueID;
|
|
12
|
-
|
|
13
|
-
public DebugNode(int nodeID, ReadableMap config, NodesManager nodesManager) {
|
|
14
|
-
super(nodeID, config, nodesManager);
|
|
15
|
-
mMessage =
|
|
16
|
-
MapUtils.getString(
|
|
17
|
-
config,
|
|
18
|
-
"message",
|
|
19
|
-
"Reanimated: First argument passed to debug node is either of wrong type or is missing.");
|
|
20
|
-
mValueID =
|
|
21
|
-
MapUtils.getInt(
|
|
22
|
-
config,
|
|
23
|
-
"value",
|
|
24
|
-
"Reanimated: Second argument passed to debug node is either of wrong type or is missing.");
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
@Override
|
|
28
|
-
protected Object evaluate() {
|
|
29
|
-
Object value = mNodesManager.findNodeById(mValueID, Node.class).value();
|
|
30
|
-
Log.d("REANIMATED", String.format("%s %s", mMessage, value));
|
|
31
|
-
return value;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
package com.swmansion.reanimated.nodes;
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.bridge.ReadableArray;
|
|
4
|
-
import com.facebook.react.bridge.ReadableMap;
|
|
5
|
-
import com.facebook.react.bridge.WritableArray;
|
|
6
|
-
import com.facebook.react.bridge.WritableMap;
|
|
7
|
-
import com.facebook.react.uimanager.events.RCTEventEmitter;
|
|
8
|
-
import com.swmansion.reanimated.NodesManager;
|
|
9
|
-
import java.util.ArrayList;
|
|
10
|
-
import java.util.List;
|
|
11
|
-
import javax.annotation.Nullable;
|
|
12
|
-
|
|
13
|
-
public class EventNode extends Node implements RCTEventEmitter {
|
|
14
|
-
|
|
15
|
-
private static class EventMap {
|
|
16
|
-
private final int nodeID;
|
|
17
|
-
private final String[] path;
|
|
18
|
-
|
|
19
|
-
public EventMap(ReadableArray eventPath) {
|
|
20
|
-
int size = eventPath.size();
|
|
21
|
-
path = new String[size - 1];
|
|
22
|
-
for (int i = 0; i < size - 1; i++) {
|
|
23
|
-
path[i] = eventPath.getString(i);
|
|
24
|
-
}
|
|
25
|
-
nodeID = eventPath.getInt(size - 1);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
public Double lookupValue(ReadableMap event) {
|
|
29
|
-
ReadableMap map = event;
|
|
30
|
-
for (int i = 0; map != null && i < path.length - 1; i++) {
|
|
31
|
-
String key = path[i];
|
|
32
|
-
map = map.hasKey(key) ? map.getMap(key) : null;
|
|
33
|
-
}
|
|
34
|
-
if (map != null) {
|
|
35
|
-
String key = path[path.length - 1];
|
|
36
|
-
return map.hasKey(key) ? map.getDouble(key) : null;
|
|
37
|
-
}
|
|
38
|
-
return null;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
private static List<EventMap> processMapping(ReadableArray mapping) {
|
|
43
|
-
int size = mapping.size();
|
|
44
|
-
List<EventMap> res = new ArrayList<>(size);
|
|
45
|
-
for (int i = 0; i < size; i++) {
|
|
46
|
-
res.add(new EventMap(mapping.getArray(i)));
|
|
47
|
-
}
|
|
48
|
-
return res;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
private final List<EventMap> mMapping;
|
|
52
|
-
|
|
53
|
-
public EventNode(int nodeID, ReadableMap config, NodesManager nodesManager) {
|
|
54
|
-
super(nodeID, config, nodesManager);
|
|
55
|
-
mMapping = processMapping(config.getArray("argMapping"));
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
@Override
|
|
59
|
-
public void receiveEvent(int targetTag, String eventName, @Nullable WritableMap event) {
|
|
60
|
-
if (event == null) {
|
|
61
|
-
throw new IllegalArgumentException("Animated events must have event data.");
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
for (int i = 0; i < mMapping.size(); i++) {
|
|
65
|
-
EventMap eventMap = mMapping.get(i);
|
|
66
|
-
Double value = eventMap.lookupValue(event);
|
|
67
|
-
if (value != null) {
|
|
68
|
-
mNodesManager.findNodeById(eventMap.nodeID, ValueNode.class).setValue(value);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
@Override
|
|
74
|
-
public void receiveTouches(
|
|
75
|
-
String eventName, WritableArray touches, WritableArray changedIndices) {
|
|
76
|
-
throw new RuntimeException("receiveTouches is not support by animated events");
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
@Override
|
|
80
|
-
protected Double evaluate() {
|
|
81
|
-
return ZERO;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
package com.swmansion.reanimated.nodes;
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.bridge.ReadableMap;
|
|
4
|
-
import com.swmansion.reanimated.NodesManager;
|
|
5
|
-
|
|
6
|
-
public class FunctionNode extends Node {
|
|
7
|
-
|
|
8
|
-
private final int mWhatNodeID;
|
|
9
|
-
|
|
10
|
-
public FunctionNode(int nodeID, ReadableMap config, NodesManager nodesManager) {
|
|
11
|
-
super(nodeID, config, nodesManager);
|
|
12
|
-
mWhatNodeID = config.getInt("what");
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
@Override
|
|
16
|
-
protected Object evaluate() {
|
|
17
|
-
Node what = mNodesManager.findNodeById(mWhatNodeID, Node.class);
|
|
18
|
-
return what.value();
|
|
19
|
-
}
|
|
20
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
package com.swmansion.reanimated.nodes;
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.bridge.Arguments;
|
|
4
|
-
import com.facebook.react.bridge.ReadableMap;
|
|
5
|
-
import com.facebook.react.bridge.WritableArray;
|
|
6
|
-
import com.facebook.react.bridge.WritableMap;
|
|
7
|
-
import com.swmansion.reanimated.NodesManager;
|
|
8
|
-
import com.swmansion.reanimated.Utils;
|
|
9
|
-
|
|
10
|
-
public class JSCallNode extends Node {
|
|
11
|
-
|
|
12
|
-
private final int[] mInputIDs;
|
|
13
|
-
|
|
14
|
-
public JSCallNode(int nodeID, ReadableMap config, NodesManager nodesManager) {
|
|
15
|
-
super(nodeID, config, nodesManager);
|
|
16
|
-
mInputIDs = Utils.processIntArray(config.getArray("input"));
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
@Override
|
|
20
|
-
protected Double evaluate() {
|
|
21
|
-
WritableArray args = Arguments.createArray();
|
|
22
|
-
for (int i = 0; i < mInputIDs.length; i++) {
|
|
23
|
-
Node node = mNodesManager.findNodeById(mInputIDs[i], Node.class);
|
|
24
|
-
if (node.value() == null) {
|
|
25
|
-
args.pushNull();
|
|
26
|
-
} else {
|
|
27
|
-
Object value = node.value();
|
|
28
|
-
if (value instanceof String) {
|
|
29
|
-
args.pushString((String) value);
|
|
30
|
-
} else {
|
|
31
|
-
args.pushDouble(node.doubleValue());
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
WritableMap eventData = Arguments.createMap();
|
|
36
|
-
eventData.putInt("id", mNodeID);
|
|
37
|
-
eventData.putArray("args", args);
|
|
38
|
-
mNodesManager.sendEvent("onReanimatedCall", eventData);
|
|
39
|
-
return ZERO;
|
|
40
|
-
}
|
|
41
|
-
}
|