react-native-reanimated 2.3.0-alpha.1 → 2.3.0-beta.2
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/LayoutAnimations/LayoutAnimationsProxy.cpp +15 -8
- package/Common/cpp/NativeModules/NativeReanimatedModule.cpp +170 -166
- package/Common/cpp/NativeModules/NativeReanimatedModuleSpec.cpp +36 -34
- package/Common/cpp/Registries/EventHandlerRegistry.cpp +13 -6
- package/Common/cpp/Registries/MapperRegistry.cpp +19 -15
- package/Common/cpp/Registries/WorkletsCache.cpp +19 -9
- package/Common/cpp/SharedItems/FrozenObject.cpp +19 -8
- package/Common/cpp/SharedItems/MutableValue.cpp +38 -25
- package/Common/cpp/SharedItems/MutableValueSetterProxy.cpp +11 -7
- package/Common/cpp/SharedItems/RemoteObject.cpp +9 -5
- package/Common/cpp/SharedItems/ShareableValue.cpp +216 -143
- package/Common/cpp/Tools/JSIStoreValueUser.cpp +36 -24
- package/Common/cpp/Tools/Mapper.cpp +41 -29
- package/Common/cpp/Tools/RuntimeDecorator.cpp +103 -84
- package/Common/cpp/Tools/Scheduler.cpp +14 -6
- package/Common/cpp/Tools/WorkletEventHandler.cpp +1 -1
- package/Common/cpp/headers/LayoutAnimations/LayoutAnimationsProxy.h +12 -11
- package/Common/cpp/headers/NativeModules/NativeReanimatedModule.h +45 -34
- package/Common/cpp/headers/NativeModules/NativeReanimatedModuleSpec.h +28 -16
- package/Common/cpp/headers/Registries/EventHandlerRegistry.h +14 -8
- package/Common/cpp/headers/Registries/MapperRegistry.h +4 -4
- package/Common/cpp/headers/Registries/WorkletsCache.h +9 -7
- package/Common/cpp/headers/SharedItems/FrozenObject.h +15 -11
- package/Common/cpp/headers/SharedItems/HostFunctionHandler.h +6 -4
- package/Common/cpp/headers/SharedItems/MutableValue.h +21 -12
- package/Common/cpp/headers/SharedItems/MutableValueSetterProxy.h +10 -7
- package/Common/cpp/headers/SharedItems/RemoteObject.h +16 -8
- package/Common/cpp/headers/SharedItems/RuntimeManager.h +39 -21
- package/Common/cpp/headers/SharedItems/ShareableValue.h +31 -27
- package/Common/cpp/headers/SharedItems/SharedParent.h +7 -4
- package/Common/cpp/headers/SharedItems/ValueWrapper.h +80 -61
- package/Common/cpp/headers/SpecTools/ErrorHandler.h +17 -19
- package/Common/cpp/headers/Tools/JSIStoreValueUser.h +18 -13
- package/Common/cpp/headers/Tools/Mapper.h +24 -18
- package/Common/cpp/headers/Tools/PlatformDepMethodsHolder.h +12 -7
- package/Common/cpp/headers/Tools/ReanimatedHiddenHeaders.h +7 -7
- package/Common/cpp/headers/Tools/RuntimeDecorator.h +29 -23
- package/Common/cpp/headers/Tools/Scheduler.h +28 -33
- package/Common/cpp/headers/Tools/WorkletEventHandler.h +9 -7
- package/Common/cpp/hidden_headers/Logger.h +14 -14
- package/Common/cpp/hidden_headers/LoggerInterface.h +8 -9
- package/Common/cpp/hidden_headers/SpeedChecker.h +7 -8
- package/README.md +1 -1
- package/RNReanimated.podspec +4 -4
- package/android/build.gradle +80 -3
- package/android/react-native-reanimated-63-hermes.aar +0 -0
- package/android/react-native-reanimated-63-jsc.aar +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/ios/LayoutReanimation/REAAnimationsManager.h +19 -10
- package/ios/LayoutReanimation/REAAnimationsManager.m +195 -200
- package/ios/LayoutReanimation/REASnapshot.h +13 -0
- package/ios/LayoutReanimation/REASnapshot.m +29 -0
- package/ios/LayoutReanimation/REAUIManager.h +16 -0
- package/ios/LayoutReanimation/REAUIManager.mm +348 -0
- package/ios/Nodes/REAAlwaysNode.m +14 -15
- package/ios/Nodes/REABezierNode.m +8 -7
- package/ios/Nodes/REABlockNode.m +1 -1
- package/ios/Nodes/REACallFuncNode.h +0 -1
- package/ios/Nodes/REACallFuncNode.m +10 -8
- package/ios/Nodes/REAClockNodes.m +22 -20
- package/ios/Nodes/REAConcatNode.h +0 -1
- package/ios/Nodes/REAConcatNode.m +2 -2
- package/ios/Nodes/REACondNode.m +7 -5
- package/ios/Nodes/READebugNode.m +5 -4
- package/ios/Nodes/REAEventNode.m +1 -1
- package/ios/Nodes/REAFunctionNode.h +0 -1
- package/ios/Nodes/REAFunctionNode.m +2 -2
- package/ios/Nodes/REAJSCallNode.m +4 -5
- package/ios/Nodes/REANode.h +3 -4
- package/ios/Nodes/REANode.m +9 -11
- package/ios/Nodes/REAOperatorNode.m +68 -67
- package/ios/Nodes/REAParamNode.h +1 -3
- package/ios/Nodes/REAParamNode.m +15 -17
- package/ios/Nodes/REAPropsNode.h +1 -3
- package/ios/Nodes/REAPropsNode.m +19 -22
- package/ios/Nodes/REASetNode.h +0 -1
- package/ios/Nodes/REASetNode.m +7 -5
- package/ios/Nodes/REAStyleNode.h +0 -1
- package/ios/Nodes/REAStyleNode.m +2 -4
- package/ios/Nodes/REATransformNode.h +0 -1
- package/ios/Nodes/REATransformNode.m +3 -5
- package/ios/Nodes/REAValueNode.m +5 -7
- package/ios/REAEventDispatcher.m +3 -3
- package/ios/REAModule.h +0 -2
- package/ios/REAModule.m +29 -40
- package/ios/REANodesManager.h +11 -19
- package/ios/REANodesManager.m +105 -130
- package/ios/REAUtils.h +5 -3
- package/ios/Transitioning/RCTConvert+REATransition.m +45 -29
- package/ios/Transitioning/REAAllTransitions.h +2 -2
- package/ios/Transitioning/REAAllTransitions.m +14 -25
- package/ios/Transitioning/REATransition.h +8 -7
- package/ios/Transitioning/REATransition.m +19 -16
- package/ios/Transitioning/REATransitionAnimation.h +1 -1
- package/ios/Transitioning/REATransitionAnimation.m +2 -3
- package/ios/Transitioning/REATransitionManager.m +3 -3
- package/ios/native/NativeMethods.h +15 -5
- package/ios/native/NativeProxy.h +4 -3
- package/ios/native/NativeProxy.mm +19 -5
- package/ios/native/REAIOSErrorHandler.h +13 -10
- package/ios/native/REAIOSLogger.h +8 -8
- package/ios/native/REAIOSScheduler.h +5 -5
- package/ios/native/REAIOSScheduler.mm +7 -5
- package/ios/native/REAInitializer.h +37 -0
- package/ios/native/REAInitializer.mm +63 -0
- package/ios/native/UIResponder+Reanimated.mm +9 -48
- package/lib/ConfigHelper.js +1 -0
- package/lib/ReanimatedModule.native.js +10 -2
- package/lib/createAnimatedComponent.js +64 -30
- package/lib/reanimated1/core/AnimatedAlways.js +1 -1
- package/lib/reanimated1/core/AnimatedBezier.js +1 -1
- package/lib/reanimated1/core/AnimatedBlock.js +1 -1
- package/lib/reanimated1/core/AnimatedCall.js +1 -1
- package/lib/reanimated1/core/AnimatedCallFunc.js +1 -1
- package/lib/reanimated1/core/AnimatedConcat.js +1 -1
- package/lib/reanimated1/core/AnimatedCond.js +1 -1
- package/lib/reanimated1/core/AnimatedDebug.js +1 -1
- package/lib/reanimated1/core/AnimatedEvent.js +1 -1
- package/lib/reanimated1/core/AnimatedFunction.js +1 -1
- package/lib/reanimated1/core/AnimatedOperator.js +1 -1
- package/lib/reanimated1/core/AnimatedParam.js +1 -1
- package/lib/reanimated1/core/AnimatedProps.js +2 -2
- package/lib/reanimated1/core/AnimatedSet.js +1 -1
- package/lib/reanimated1/core/AnimatedStartClock.js +1 -1
- package/lib/reanimated1/core/AnimatedStopClock.js +1 -1
- package/lib/reanimated1/core/AnimatedStyle.js +1 -1
- package/lib/reanimated1/core/AnimatedTransform.js +1 -1
- package/lib/reanimated1/core/Core.test.js +30 -0
- package/lib/reanimated1/core/InternalAnimatedValue.js +1 -1
- package/lib/reanimated1/core/__mocks__/AnimatedProps.js +1 -1
- package/lib/reanimated1/derived/interpolate.js +1 -1
- package/lib/reanimated2/Colors.js +16 -12
- package/lib/reanimated2/NativeMethods.js +3 -14
- package/lib/reanimated2/{NativeReanimated.native.js → NativeReanimated/NativeReanimated.js} +19 -24
- package/lib/reanimated2/NativeReanimated/index.js +15 -0
- package/lib/reanimated2/PlatformChecker.js +16 -0
- package/lib/reanimated2/PropAdapters.js +14 -4
- package/lib/reanimated2/UpdateProps.js +14 -11
- package/lib/reanimated2/ViewDescriptorsSet.js +73 -0
- package/lib/reanimated2/WorkletEventHandler.js +15 -13
- package/lib/reanimated2/animation/commonTypes.js +1 -0
- package/lib/reanimated2/animation/decay.js +71 -0
- package/lib/reanimated2/animation/delay.js +64 -0
- package/lib/reanimated2/animation/index.js +8 -0
- package/lib/reanimated2/animation/repeat.js +69 -0
- package/lib/reanimated2/animation/sequence.js +72 -0
- package/lib/reanimated2/animation/spring.js +101 -0
- package/lib/reanimated2/animation/styleAnimation.js +166 -0
- package/lib/reanimated2/animation/timing.js +64 -0
- package/lib/reanimated2/animation/util.js +157 -0
- package/lib/reanimated2/commonTypes.js +1 -0
- package/lib/reanimated2/core.js +35 -39
- package/lib/reanimated2/globals.d.ts +47 -1
- package/lib/reanimated2/hook/Hooks.js +9 -0
- package/lib/reanimated2/hook/commonTypes.js +1 -0
- package/lib/reanimated2/hook/index.js +8 -0
- package/lib/reanimated2/hook/useAnimatedGestureHandler.js +50 -0
- package/lib/reanimated2/hook/useAnimatedReaction.js +37 -0
- package/lib/reanimated2/hook/useAnimatedRef.js +25 -0
- package/lib/reanimated2/hook/useAnimatedScrollHandler.js +41 -0
- package/lib/reanimated2/hook/useAnimatedStyle.js +376 -0
- package/lib/reanimated2/hook/useDerivedValue.js +36 -0
- package/lib/reanimated2/hook/useSharedValue.js +17 -0
- package/lib/reanimated2/hook/utils.js +175 -0
- package/lib/reanimated2/index.js +3 -2
- package/lib/reanimated2/interpolation.js +95 -86
- package/lib/reanimated2/jestUtils.js +0 -12
- package/lib/reanimated2/js-reanimated/JSReanimated.js +9 -10
- package/lib/reanimated2/js-reanimated/index.js +57 -1
- package/lib/reanimated2/layoutReanimation/LayoutAnimationRepository.js +58 -0
- package/lib/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js +69 -0
- package/lib/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js +125 -0
- package/lib/reanimated2/layoutReanimation/animationBuilder/Keyframe.js +193 -0
- package/lib/reanimated2/layoutReanimation/animationBuilder/commonTypes.js +1 -0
- package/lib/reanimated2/layoutReanimation/animationBuilder/index.js +3 -0
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Bounce.js +325 -207
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Default.js +36 -0
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Fade.js +235 -187
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Flip.js +327 -269
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js +146 -0
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js +85 -0
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Roll.js +119 -0
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Rotate.js +289 -0
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Slide.js +159 -121
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Stretch.js +83 -65
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Zoom.js +371 -277
- package/lib/reanimated2/layoutReanimation/defaultAnimations/index.js +4 -0
- package/lib/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js +78 -0
- package/lib/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js +128 -0
- package/lib/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js +37 -0
- package/lib/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js +41 -0
- package/lib/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js +34 -0
- package/lib/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js +46 -0
- package/lib/reanimated2/layoutReanimation/defaultTransitions/index.js +6 -0
- package/lib/reanimated2/layoutReanimation/index.js +3 -2
- package/lib/reanimated2/platform-specific/RNRenderer.web.js +2 -0
- package/lib/reanimated2/utils.js +9 -0
- package/libSo/fbjni/jni/arm64-v8a/libfbjni.so +0 -0
- package/libSo/fbjni/jni/armeabi-v7a/libfbjni.so +0 -0
- package/libSo/fbjni/jni/x86/libfbjni.so +0 -0
- package/libSo/fbjni/jni/x86_64/libfbjni.so +0 -0
- package/package.json +21 -10
- package/plugin.js +244 -85
- package/react-native-reanimated.d.ts +531 -453
- package/src/ConfigHelper.js +1 -0
- package/src/ReanimatedModule.native.js +10 -2
- package/src/createAnimatedComponent.js +64 -30
- package/src/reanimated1/core/AnimatedAlways.js +1 -1
- package/src/reanimated1/core/AnimatedBezier.js +1 -1
- package/src/reanimated1/core/AnimatedBlock.js +1 -1
- package/src/reanimated1/core/AnimatedCall.js +1 -1
- package/src/reanimated1/core/AnimatedCallFunc.js +1 -1
- package/src/reanimated1/core/AnimatedConcat.js +1 -1
- package/src/reanimated1/core/AnimatedCond.js +1 -1
- package/src/reanimated1/core/AnimatedDebug.js +1 -1
- package/src/reanimated1/core/AnimatedEvent.js +1 -1
- package/src/reanimated1/core/AnimatedFunction.js +1 -1
- package/src/reanimated1/core/AnimatedOperator.js +1 -1
- package/src/reanimated1/core/AnimatedParam.js +1 -1
- package/src/reanimated1/core/AnimatedProps.js +2 -2
- package/src/reanimated1/core/AnimatedSet.js +1 -1
- package/src/reanimated1/core/AnimatedStartClock.js +1 -1
- package/src/reanimated1/core/AnimatedStopClock.js +1 -1
- package/src/reanimated1/core/AnimatedStyle.js +1 -1
- package/src/reanimated1/core/AnimatedTransform.js +1 -1
- package/src/reanimated1/core/Core.test.js +30 -0
- package/src/reanimated1/core/InternalAnimatedValue.js +1 -1
- package/src/reanimated1/core/__mocks__/AnimatedProps.js +1 -1
- package/src/reanimated1/derived/interpolate.js +1 -1
- package/src/reanimated2/Colors.ts +30 -27
- package/src/reanimated2/Easing.ts +3 -1
- package/src/reanimated2/NativeMethods.ts +26 -16
- package/src/reanimated2/NativeReanimated/NativeReanimated.ts +78 -0
- package/src/reanimated2/NativeReanimated/index.ts +18 -0
- package/src/reanimated2/PlatformChecker.ts +21 -0
- package/src/reanimated2/PropAdapters.ts +52 -34
- package/src/reanimated2/UpdateProps.ts +40 -20
- package/src/reanimated2/ViewDescriptorsSet.ts +108 -0
- package/src/reanimated2/WorkletEventHandler.ts +41 -23
- package/src/reanimated2/animation/commonTypes.ts +48 -0
- package/src/reanimated2/animation/decay.ts +141 -0
- package/src/reanimated2/animation/delay.ts +103 -0
- package/src/reanimated2/animation/index.ts +16 -0
- package/src/reanimated2/animation/repeat.ts +128 -0
- package/src/reanimated2/animation/sequence.ts +110 -0
- package/src/reanimated2/animation/spring.ts +165 -0
- package/src/reanimated2/animation/styleAnimation.ts +253 -0
- package/src/reanimated2/animation/timing.ts +109 -0
- package/src/reanimated2/animation/util.ts +242 -0
- package/src/reanimated2/commonTypes.ts +81 -0
- package/src/reanimated2/core.ts +128 -82
- package/src/reanimated2/globals.d.ts +47 -1
- package/src/reanimated2/hook/Hooks.ts +16 -0
- package/src/reanimated2/hook/commonTypes.ts +12 -0
- package/src/reanimated2/hook/index.ts +25 -0
- package/src/reanimated2/hook/useAnimatedGestureHandler.ts +110 -0
- package/src/reanimated2/hook/useAnimatedReaction.ts +49 -0
- package/src/reanimated2/hook/useAnimatedRef.ts +34 -0
- package/src/reanimated2/hook/useAnimatedScrollHandler.ts +83 -0
- package/src/reanimated2/hook/useAnimatedStyle.ts +538 -0
- package/src/reanimated2/hook/useDerivedValue.ts +48 -0
- package/src/reanimated2/hook/useSharedValue.ts +22 -0
- package/src/reanimated2/hook/utils.ts +259 -0
- package/src/reanimated2/index.ts +3 -2
- package/src/reanimated2/interpolation.ts +170 -101
- package/src/reanimated2/jestUtils.ts +0 -12
- package/src/reanimated2/js-reanimated/JSReanimated.ts +47 -22
- package/src/reanimated2/js-reanimated/Mapper.ts +1 -1
- package/src/reanimated2/js-reanimated/index.ts +71 -0
- package/src/reanimated2/layoutReanimation/LayoutAnimationRepository.tsx +62 -0
- package/src/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.ts +91 -0
- package/src/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.ts +169 -0
- package/src/reanimated2/layoutReanimation/animationBuilder/Keyframe.ts +263 -0
- package/src/reanimated2/layoutReanimation/animationBuilder/commonTypes.ts +78 -0
- package/src/reanimated2/layoutReanimation/animationBuilder/index.ts +16 -0
- package/src/reanimated2/layoutReanimation/defaultAnimations/Bounce.ts +243 -121
- package/src/reanimated2/layoutReanimation/defaultAnimations/Default.ts +43 -0
- package/src/reanimated2/layoutReanimation/defaultAnimations/Fade.ts +95 -53
- package/src/reanimated2/layoutReanimation/defaultAnimations/Flip.ts +114 -64
- package/src/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.ts +179 -0
- package/src/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.ts +93 -0
- package/src/reanimated2/layoutReanimation/defaultAnimations/Roll.ts +132 -0
- package/src/reanimated2/layoutReanimation/defaultAnimations/Rotate.ts +333 -0
- package/src/reanimated2/layoutReanimation/defaultAnimations/Slide.ts +84 -50
- package/src/reanimated2/layoutReanimation/defaultAnimations/Stretch.ts +41 -23
- package/src/reanimated2/layoutReanimation/defaultAnimations/Zoom.ts +234 -154
- package/src/reanimated2/layoutReanimation/defaultAnimations/index.ts +4 -0
- package/src/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.ts +104 -0
- package/src/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.ts +213 -0
- package/src/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.ts +60 -0
- package/src/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.ts +58 -0
- package/src/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.ts +41 -0
- package/src/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.ts +78 -0
- package/src/reanimated2/layoutReanimation/defaultTransitions/index.ts +6 -0
- package/src/reanimated2/layoutReanimation/index.ts +3 -2
- package/src/reanimated2/platform-specific/RNRenderer.web.ts +2 -0
- package/src/reanimated2/utils.ts +21 -0
- package/android/react-native-reanimated-62-hermes.aar +0 -0
- package/android/react-native-reanimated-62-jsc.aar +0 -0
- package/ios/LayoutReanimation/REAAnimationRootView.h +0 -12
- package/ios/LayoutReanimation/REAAnimationRootView.m +0 -16
- package/ios/LayoutReanimation/REAAnimationRootViewManager.h +0 -9
- package/ios/LayoutReanimation/REAAnimationRootViewManager.m +0 -49
- package/ios/LayoutReanimation/REAReactBatchObserver.h +0 -20
- package/ios/LayoutReanimation/REAReactBatchObserver.m +0 -125
- package/ios/LayoutReanimation/REASnapshooter.h +0 -19
- package/ios/LayoutReanimation/REASnapshooter.m +0 -64
- package/ios/LayoutReanimation/REAViewTraverser.h +0 -13
- package/ios/LayoutReanimation/REAViewTraverser.m +0 -40
- package/lib/reanimated2/Hooks.js +0 -732
- package/lib/reanimated2/NativeReanimated.js +0 -4
- package/lib/reanimated2/animations.js +0 -713
- package/lib/reanimated2/js-reanimated/index.web.js +0 -20
- package/lib/reanimated2/layoutReanimation/AnimatedRoot.js +0 -55
- package/lib/reanimated2/layoutReanimation/defaultAnimationsBuilder.js +0 -374
- package/src/reanimated2/Hooks.ts +0 -918
- package/src/reanimated2/NativeReanimated.native.ts +0 -61
- package/src/reanimated2/NativeReanimated.ts +0 -5
- package/src/reanimated2/animations.ts +0 -868
- package/src/reanimated2/js-reanimated/index.js +0 -0
- package/src/reanimated2/js-reanimated/index.web.ts +0 -29
- package/src/reanimated2/layoutReanimation/AnimatedRoot.tsx +0 -68
- package/src/reanimated2/layoutReanimation/defaultAnimationsBuilder.ts +0 -440
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
#import <UIKit/UIKit.h>
|
|
2
1
|
#import <QuartzCore/QuartzCore.h>
|
|
3
2
|
#import <React/RCTView.h>
|
|
3
|
+
#import <UIKit/UIKit.h>
|
|
4
4
|
|
|
5
5
|
#import "REATransitionAnimation.h"
|
|
6
6
|
#import "REATransitionValues.h"
|
|
@@ -53,12 +53,13 @@ typedef NS_ENUM(NSInteger, REATransitionPropagationType) {
|
|
|
53
53
|
- (void)playInRoot:(UIView *)root;
|
|
54
54
|
- (REATransitionValues *)findStartValuesForKey:(NSNumber *)key;
|
|
55
55
|
- (REATransitionValues *)findEndValuesForKey:(NSNumber *)key;
|
|
56
|
-
- (REATransitionAnimation *)animationForTransitioning:(REATransitionValues*)startValues
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
- (NSArray<REATransitionAnimation
|
|
60
|
-
|
|
61
|
-
|
|
56
|
+
- (REATransitionAnimation *)animationForTransitioning:(REATransitionValues *)startValues
|
|
57
|
+
endValues:(REATransitionValues *)endValues
|
|
58
|
+
forRoot:(UIView *)root;
|
|
59
|
+
- (NSArray<REATransitionAnimation *> *)
|
|
60
|
+
animationsForTransitioning:(NSMutableDictionary<NSNumber *, REATransitionValues *> *)startValues
|
|
61
|
+
endValues:(NSMutableDictionary<NSNumber *, REATransitionValues *> *)endValues
|
|
62
|
+
forRoot:(UIView *)root;
|
|
62
63
|
|
|
63
64
|
+ (REATransition *)inflate:(NSDictionary *)config;
|
|
64
65
|
@end
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
#import <UIKit/UIKit.h>
|
|
2
1
|
#import <QuartzCore/QuartzCore.h>
|
|
3
2
|
#import <React/RCTConvert.h>
|
|
4
3
|
#import <React/RCTViewManager.h>
|
|
4
|
+
#import <UIKit/UIKit.h>
|
|
5
5
|
|
|
6
|
+
#import "RCTConvert+REATransition.h"
|
|
6
7
|
#import "REATransition.h"
|
|
7
8
|
#import "REATransitionValues.h"
|
|
8
|
-
#import "RCTConvert+REATransition.h"
|
|
9
9
|
|
|
10
10
|
#define DEFAULT_PROPAGATION_SPEED 3
|
|
11
11
|
|
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
|
|
18
18
|
@interface REAVisibilityTransition : REATransition
|
|
19
19
|
@property (nonatomic) REATransitionAnimationType animationType;
|
|
20
|
-
- (REATransitionAnimation *)appearView:(UIView*)view inParent:(UIView*)parent;
|
|
21
|
-
- (REATransitionAnimation *)disappearView:(UIView*)view fromParent:(UIView*)parent;
|
|
20
|
+
- (REATransitionAnimation *)appearView:(UIView *)view inParent:(UIView *)parent;
|
|
21
|
+
- (REATransitionAnimation *)disappearView:(UIView *)view fromParent:(UIView *)parent;
|
|
22
22
|
- (instancetype)initWithConfig:(NSDictionary *)config;
|
|
23
23
|
@end
|
|
24
24
|
|
|
@@ -36,8 +36,8 @@
|
|
|
36
36
|
|
|
37
37
|
@implementation REATransition {
|
|
38
38
|
__weak UIView *_root;
|
|
39
|
-
NSMutableDictionary<NSNumber*, REATransitionValues*> *_startValues;
|
|
40
|
-
NSMutableDictionary<NSNumber*, REATransitionValues*> *_endValues;
|
|
39
|
+
NSMutableDictionary<NSNumber *, REATransitionValues *> *_startValues;
|
|
40
|
+
NSMutableDictionary<NSNumber *, REATransitionValues *> *_endValues;
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
+ (REATransition *)inflate:(NSDictionary *)config
|
|
@@ -70,7 +70,9 @@
|
|
|
70
70
|
return self;
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
-
- (void)captureRecursiveIn:(UIView *)view
|
|
73
|
+
- (void)captureRecursiveIn:(UIView *)view
|
|
74
|
+
to:(NSMutableDictionary<NSNumber *, REATransitionValues *> *)map
|
|
75
|
+
forRoot:(UIView *)root
|
|
74
76
|
{
|
|
75
77
|
NSNumber *tag = view.reactTag;
|
|
76
78
|
if (tag != nil) {
|
|
@@ -91,9 +93,7 @@
|
|
|
91
93
|
{
|
|
92
94
|
_endValues = [NSMutableDictionary new];
|
|
93
95
|
[self captureRecursiveIn:root to:_endValues forRoot:root];
|
|
94
|
-
NSArray *animations = [self animationsForTransitioning:_startValues
|
|
95
|
-
endValues:_endValues
|
|
96
|
-
forRoot:root];
|
|
96
|
+
NSArray *animations = [self animationsForTransitioning:_startValues endValues:_endValues forRoot:root];
|
|
97
97
|
for (REATransitionAnimation *animation in animations) {
|
|
98
98
|
[animation play];
|
|
99
99
|
}
|
|
@@ -164,15 +164,16 @@
|
|
|
164
164
|
}
|
|
165
165
|
|
|
166
166
|
- (REATransitionAnimation *)animationForTransitioning:(REATransitionValues *)startValues
|
|
167
|
-
|
|
168
|
-
|
|
167
|
+
endValues:(REATransitionValues *)endValues
|
|
168
|
+
forRoot:(UIView *)root
|
|
169
169
|
{
|
|
170
170
|
return nil;
|
|
171
171
|
}
|
|
172
172
|
|
|
173
|
-
- (NSArray<REATransitionAnimation
|
|
174
|
-
|
|
175
|
-
|
|
173
|
+
- (NSArray<REATransitionAnimation *> *)
|
|
174
|
+
animationsForTransitioning:(NSMutableDictionary<NSNumber *, REATransitionValues *> *)startValues
|
|
175
|
+
endValues:(NSMutableDictionary<NSNumber *, REATransitionValues *> *)endValues
|
|
176
|
+
forRoot:(UIView *)root
|
|
176
177
|
{
|
|
177
178
|
NSMutableArray *animations = [NSMutableArray new];
|
|
178
179
|
[startValues enumerateKeysAndObjectsUsingBlock:^(NSNumber *key, REATransitionValues *startValue, BOOL *stop) {
|
|
@@ -182,7 +183,9 @@
|
|
|
182
183
|
animation.animation.timingFunction = self.mediaTiming;
|
|
183
184
|
animation.animation.duration = self.duration;
|
|
184
185
|
[animation delayBy:self.delay];
|
|
185
|
-
CFTimeInterval propagationDelay = [self propagationDelayForTransitioning:startValue
|
|
186
|
+
CFTimeInterval propagationDelay = [self propagationDelayForTransitioning:startValue
|
|
187
|
+
endValues:endValue
|
|
188
|
+
forRoot:root];
|
|
186
189
|
[animation delayBy:propagationDelay];
|
|
187
190
|
// animation.animation.duration -= propagationDelay;
|
|
188
191
|
[animations addObject:animation];
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
+ (REATransitionAnimation *)transitionWithAnimation:(CAAnimation *)animation
|
|
10
10
|
layer:(CALayer *)layer
|
|
11
|
-
andKeyPath:(NSString*)keyPath;
|
|
11
|
+
andKeyPath:(NSString *)keyPath;
|
|
12
12
|
- (void)play;
|
|
13
13
|
- (void)delayBy:(CFTimeInterval)delay;
|
|
14
14
|
- (CFTimeInterval)finishTime;
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
#import "REATransitionAnimation.h"
|
|
4
4
|
|
|
5
|
-
|
|
6
5
|
#define DEFAULT_DURATION 0.25
|
|
7
6
|
|
|
8
7
|
#if TARGET_IPHONE_SIMULATOR
|
|
@@ -31,7 +30,7 @@ CGFloat SimAnimationDragCoefficient()
|
|
|
31
30
|
|
|
32
31
|
+ (REATransitionAnimation *)transitionWithAnimation:(CAAnimation *)animation
|
|
33
32
|
layer:(CALayer *)layer
|
|
34
|
-
andKeyPath:(NSString*)keyPath;
|
|
33
|
+
andKeyPath:(NSString *)keyPath;
|
|
35
34
|
{
|
|
36
35
|
REATransitionAnimation *anim = [REATransitionAnimation new];
|
|
37
36
|
anim.animation = animation;
|
|
@@ -47,7 +46,7 @@ CGFloat SimAnimationDragCoefficient()
|
|
|
47
46
|
it calls mach_absolute_time() which is based on the last time the device booted
|
|
48
47
|
which might cause the delay
|
|
49
48
|
*/
|
|
50
|
-
if (_delay > 0){
|
|
49
|
+
if (_delay > 0) {
|
|
51
50
|
_animation.beginTime = CACurrentMediaTime() + _delay * SimAnimationDragCoefficient();
|
|
52
51
|
}
|
|
53
52
|
_animation.duration = self.duration * SimAnimationDragCoefficient();
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
|
|
36
36
|
- (void)uiManagerWillPerformMounting:(RCTUIManager *)manager
|
|
37
37
|
{
|
|
38
|
-
[manager addUIBlock:^(RCTUIManager *uiManager, NSDictionary<NSNumber *,UIView *> *viewRegistry) {
|
|
38
|
+
[manager addUIBlock:^(RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
39
39
|
[_pendingTransition playInRoot:_pendingTransitionRoot];
|
|
40
40
|
_pendingTransitionRoot = nil;
|
|
41
41
|
_pendingTransition = nil;
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
- (void)animateNextTransitionInRoot:(NSNumber *)reactTag withConfig:(NSDictionary *)config
|
|
46
46
|
{
|
|
47
47
|
[_uiManager.observerCoordinator addObserver:self];
|
|
48
|
-
[_uiManager prependUIBlock:^(RCTUIManager *uiManager, NSDictionary<NSNumber *,UIView *> *viewRegistry) {
|
|
48
|
+
[_uiManager prependUIBlock:^(RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
49
49
|
UIView *view = viewRegistry[reactTag];
|
|
50
50
|
NSArray *transitionConfigs = [RCTConvert NSArray:config[@"transitions"]];
|
|
51
51
|
for (id transitionConfig in transitionConfigs) {
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
}
|
|
55
55
|
}];
|
|
56
56
|
__weak id weakSelf = self;
|
|
57
|
-
[_uiManager addUIBlock:^(RCTUIManager *uiManager, NSDictionary<NSNumber *,UIView *> *viewRegistry) {
|
|
57
|
+
[_uiManager addUIBlock:^(RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
58
58
|
[uiManager.observerCoordinator removeObserver:weakSelf];
|
|
59
59
|
}];
|
|
60
60
|
}
|
|
@@ -1,11 +1,21 @@
|
|
|
1
1
|
#import <Foundation/Foundation.h>
|
|
2
|
-
#import <vector>
|
|
3
|
-
#import <string>
|
|
4
2
|
#import <React/RCTUIManager.h>
|
|
3
|
+
#include <string>
|
|
4
|
+
#import <string>
|
|
5
|
+
#include <utility>
|
|
6
|
+
#include <vector>
|
|
7
|
+
#import <vector>
|
|
5
8
|
|
|
6
9
|
namespace reanimated {
|
|
7
10
|
|
|
8
|
-
std::vector<std::pair<std::string,double>> measure(
|
|
9
|
-
|
|
11
|
+
std::vector<std::pair<std::string, double>> measure(
|
|
12
|
+
int viewTag,
|
|
13
|
+
RCTUIManager *uiManager);
|
|
14
|
+
void scrollTo(
|
|
15
|
+
int scrollViewTag,
|
|
16
|
+
RCTUIManager *uiManager,
|
|
17
|
+
double x,
|
|
18
|
+
double y,
|
|
19
|
+
bool animated);
|
|
10
20
|
|
|
11
|
-
}
|
|
21
|
+
} // namespace reanimated
|
package/ios/native/NativeProxy.h
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
#import <React/RCTEventDispatcher.h>
|
|
2
2
|
|
|
3
3
|
#if __cplusplus
|
|
4
|
-
|
|
5
4
|
#import <RNReanimated/NativeReanimatedModule.h>
|
|
5
|
+
#include <memory>
|
|
6
6
|
|
|
7
7
|
namespace reanimated {
|
|
8
|
-
|
|
9
|
-
std::shared_ptr<reanimated::NativeReanimatedModule> createReanimatedModule(
|
|
8
|
+
|
|
9
|
+
std::shared_ptr<reanimated::NativeReanimatedModule> createReanimatedModule(
|
|
10
|
+
std::shared_ptr<facebook::react::CallInvoker> jsInvoker);
|
|
10
11
|
|
|
11
12
|
}
|
|
12
13
|
|
|
@@ -9,9 +9,11 @@
|
|
|
9
9
|
#import <React/RCTUIManager.h>
|
|
10
10
|
#import "LayoutAnimationsProxy.h"
|
|
11
11
|
#import "REAAnimationsManager.h"
|
|
12
|
-
#import "
|
|
12
|
+
#import "REAUIManager.h"
|
|
13
13
|
|
|
14
|
-
#if __has_include(<
|
|
14
|
+
#if __has_include(<reacthermes/HermesExecutorFactory.h>)
|
|
15
|
+
#import <reacthermes/HermesExecutorFactory.h>
|
|
16
|
+
#elif __has_include(<hermes/hermes.h>)
|
|
15
17
|
#import <hermes/hermes.h>
|
|
16
18
|
#else
|
|
17
19
|
#import <jsi/JSCRuntime.h>
|
|
@@ -113,8 +115,9 @@ std::shared_ptr<NativeReanimatedModule> createReanimatedModule(std::shared_ptr<C
|
|
|
113
115
|
return val;
|
|
114
116
|
};
|
|
115
117
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
+
#if __has_include(<reacthermes/HermesExecutorFactory.h>)
|
|
119
|
+
std::shared_ptr<jsi::Runtime> animatedRuntime = facebook::hermes::makeHermesRuntime();
|
|
120
|
+
#elif __has_include(<hermes/hermes.h>)
|
|
118
121
|
std::shared_ptr<jsi::Runtime> animatedRuntime = facebook::hermes::makeHermesRuntime();
|
|
119
122
|
#else
|
|
120
123
|
std::shared_ptr<jsi::Runtime> animatedRuntime = facebook::jsc::makeJSCRuntime();
|
|
@@ -124,6 +127,14 @@ std::shared_ptr<NativeReanimatedModule> createReanimatedModule(std::shared_ptr<C
|
|
|
124
127
|
std::shared_ptr<ErrorHandler> errorHandler = std::make_shared<REAIOSErrorHandler>(scheduler);
|
|
125
128
|
std::shared_ptr<NativeReanimatedModule> module;
|
|
126
129
|
|
|
130
|
+
__block std::weak_ptr<Scheduler> weakScheduler = scheduler;
|
|
131
|
+
((REAUIManager*)uiManager).flushUiOperations = ^void() {
|
|
132
|
+
std::shared_ptr<Scheduler> scheduler = weakScheduler.lock();
|
|
133
|
+
if (scheduler != nullptr) {
|
|
134
|
+
scheduler->triggerUI();
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
|
|
127
138
|
auto requestRender = [reanimatedModule, &module](std::function<void(double)> onRender, jsi::Runtime &rt) {
|
|
128
139
|
[reanimatedModule.nodesManager postOnAnimation:^(CADisplayLink *displayLink) {
|
|
129
140
|
double frameTimestamp = displayLink.targetTimestamp * 1000;
|
|
@@ -140,7 +151,10 @@ std::shared_ptr<NativeReanimatedModule> createReanimatedModule(std::shared_ptr<C
|
|
|
140
151
|
};
|
|
141
152
|
|
|
142
153
|
// Layout Animations start
|
|
143
|
-
|
|
154
|
+
REAUIManager* reaUiManagerNoCast = [bridge moduleForClass:[REAUIManager class]];
|
|
155
|
+
RCTUIManager* reaUiManager = reaUiManagerNoCast;
|
|
156
|
+
REAAnimationsManager *animationsManager = [[REAAnimationsManager alloc] initWithUIManager:reaUiManager];
|
|
157
|
+
[reaUiManagerNoCast setUp:animationsManager];
|
|
144
158
|
|
|
145
159
|
auto notifyAboutProgress = [=](int tag, jsi::Object newStyle) {
|
|
146
160
|
if (animationsManager) {
|
|
@@ -1,20 +1,23 @@
|
|
|
1
1
|
#pragma once
|
|
2
2
|
|
|
3
|
+
#include <memory>
|
|
4
|
+
#include <string>
|
|
3
5
|
#include "ErrorHandler.h"
|
|
4
6
|
#include "Scheduler.h"
|
|
5
7
|
|
|
6
8
|
namespace reanimated {
|
|
7
9
|
|
|
8
10
|
class REAIOSErrorHandler : public ErrorHandler {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
std::shared_ptr<Scheduler> scheduler;
|
|
12
|
+
void raiseSpec() override;
|
|
13
|
+
std::shared_ptr<ErrorWrapper> error;
|
|
14
|
+
|
|
15
|
+
public:
|
|
16
|
+
REAIOSErrorHandler(std::shared_ptr<Scheduler> scheduler);
|
|
17
|
+
std::shared_ptr<Scheduler> getScheduler() override;
|
|
18
|
+
std::shared_ptr<ErrorWrapper> getError() override;
|
|
19
|
+
void setError(std::string message) override;
|
|
20
|
+
virtual ~REAIOSErrorHandler() {}
|
|
18
21
|
};
|
|
19
22
|
|
|
20
|
-
}
|
|
23
|
+
} // namespace reanimated
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
#pragma once
|
|
2
2
|
|
|
3
|
-
#include "ReanimatedHiddenHeaders.h"
|
|
4
3
|
#include <stdio.h>
|
|
4
|
+
#include "ReanimatedHiddenHeaders.h"
|
|
5
5
|
|
|
6
6
|
namespace reanimated {
|
|
7
7
|
|
|
8
8
|
class REAIOSLogger : public LoggerInterface {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
public:
|
|
10
|
+
void log(const char *str) override;
|
|
11
|
+
void log(double d) override;
|
|
12
|
+
void log(int i) override;
|
|
13
|
+
void log(bool b) override;
|
|
14
|
+
virtual ~REAIOSLogger() {}
|
|
15
15
|
};
|
|
16
16
|
|
|
17
|
-
}
|
|
17
|
+
} // namespace reanimated
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
#pragma once
|
|
2
2
|
|
|
3
|
+
#import <React/RCTUIManager.h>
|
|
4
|
+
#import <ReactCommon/CallInvoker.h>
|
|
3
5
|
#include <stdio.h>
|
|
6
|
+
#include <memory>
|
|
4
7
|
#include "Scheduler.h"
|
|
5
|
-
#import <ReactCommon/CallInvoker.h>
|
|
6
|
-
#import <React/RCTUIManager.h>
|
|
7
8
|
|
|
8
|
-
namespace reanimated
|
|
9
|
-
{
|
|
9
|
+
namespace reanimated {
|
|
10
10
|
|
|
11
11
|
using namespace facebook;
|
|
12
12
|
using namespace react;
|
|
13
13
|
|
|
14
14
|
class REAIOSScheduler : public Scheduler {
|
|
15
|
-
|
|
15
|
+
public:
|
|
16
16
|
REAIOSScheduler(std::shared_ptr<CallInvoker> jsInvoker);
|
|
17
17
|
void scheduleOnUI(std::function<void()> job) override;
|
|
18
18
|
virtual ~REAIOSScheduler();
|
|
@@ -25,12 +25,14 @@ void REAIOSScheduler::scheduleOnUI(std::function<void()> job) {
|
|
|
25
25
|
if (runtimeManager.lock()) triggerUI();
|
|
26
26
|
return;
|
|
27
27
|
}
|
|
28
|
+
|
|
29
|
+
if (!this->scheduledOnUI) {
|
|
30
|
+
__block std::weak_ptr<RuntimeManager> blockRuntimeManager = runtimeManager;
|
|
28
31
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
});
|
|
32
|
+
dispatch_async(dispatch_get_main_queue(), ^{
|
|
33
|
+
if (blockRuntimeManager.lock()) triggerUI();
|
|
34
|
+
});
|
|
35
|
+
}
|
|
34
36
|
}
|
|
35
37
|
|
|
36
38
|
REAIOSScheduler::~REAIOSScheduler(){
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
//
|
|
2
|
+
// REAInitializer.h
|
|
3
|
+
// RNReanimated
|
|
4
|
+
//
|
|
5
|
+
// Created by Szymon Kapala on 27/07/2021.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
#import <Foundation/Foundation.h>
|
|
9
|
+
#import <RNReanimated/NativeProxy.h>
|
|
10
|
+
#import <RNReanimated/REAEventDispatcher.h>
|
|
11
|
+
#import <RNReanimated/REAModule.h>
|
|
12
|
+
#import <React/RCTBridge+Private.h>
|
|
13
|
+
#import <React/RCTCxxBridgeDelegate.h>
|
|
14
|
+
#import <ReactCommon/RCTTurboModuleManager.h>
|
|
15
|
+
#import <jsireact/JSIExecutor.h>
|
|
16
|
+
|
|
17
|
+
#if RNVERSION >= 64
|
|
18
|
+
#import <React/RCTJSIExecutorRuntimeInstaller.h>
|
|
19
|
+
#endif
|
|
20
|
+
|
|
21
|
+
#if RNVERSION < 63
|
|
22
|
+
#import <ReactCommon/BridgeJSCallInvoker.h>
|
|
23
|
+
#endif
|
|
24
|
+
|
|
25
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
26
|
+
|
|
27
|
+
namespace reanimated {
|
|
28
|
+
|
|
29
|
+
using namespace facebook;
|
|
30
|
+
using namespace react;
|
|
31
|
+
|
|
32
|
+
JSIExecutor::RuntimeInstaller REAJSIExecutorRuntimeInstaller(
|
|
33
|
+
RCTBridge *bridge,
|
|
34
|
+
JSIExecutor::RuntimeInstaller runtimeInstallerToWrap);
|
|
35
|
+
|
|
36
|
+
} // namespace reanimated
|
|
37
|
+
NS_ASSUME_NONNULL_END
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
#import "REAInitializer.h"
|
|
2
|
+
#import "REAUIManager.h"
|
|
3
|
+
|
|
4
|
+
@interface RCTEventDispatcher(Reanimated)
|
|
5
|
+
|
|
6
|
+
- (void)setBridge:(RCTBridge*)bridge;
|
|
7
|
+
|
|
8
|
+
@end
|
|
9
|
+
|
|
10
|
+
namespace reanimated {
|
|
11
|
+
|
|
12
|
+
using namespace facebook;
|
|
13
|
+
using namespace react;
|
|
14
|
+
|
|
15
|
+
JSIExecutor::RuntimeInstaller REAJSIExecutorRuntimeInstaller(
|
|
16
|
+
RCTBridge* bridge,
|
|
17
|
+
JSIExecutor::RuntimeInstaller runtimeInstallerToWrap)
|
|
18
|
+
{
|
|
19
|
+
[bridge moduleForClass:[RCTUIManager class]];
|
|
20
|
+
REAUIManager* reaUiManager = [REAUIManager new];
|
|
21
|
+
[reaUiManager setBridge:bridge];
|
|
22
|
+
RCTUIManager* uiManager = reaUiManager;
|
|
23
|
+
[bridge updateModuleWithInstance:uiManager];
|
|
24
|
+
|
|
25
|
+
[bridge moduleForClass:[RCTEventDispatcher class]];
|
|
26
|
+
RCTEventDispatcher *eventDispatcher = [REAEventDispatcher new];
|
|
27
|
+
#if RNVERSION >= 66
|
|
28
|
+
RCTCallableJSModules *callableJSModules = [RCTCallableJSModules new];
|
|
29
|
+
[bridge setValue:callableJSModules forKey:@"_callableJSModules"];
|
|
30
|
+
[callableJSModules setBridge:bridge];
|
|
31
|
+
[eventDispatcher setValue:callableJSModules forKey:@"_callableJSModules"];
|
|
32
|
+
[eventDispatcher setValue:bridge forKey:@"_bridge"];
|
|
33
|
+
[eventDispatcher initialize];
|
|
34
|
+
#else
|
|
35
|
+
[eventDispatcher setBridge:bridge];
|
|
36
|
+
#endif
|
|
37
|
+
[bridge updateModuleWithInstance:eventDispatcher];
|
|
38
|
+
_bridge_reanimated = bridge;
|
|
39
|
+
const auto runtimeInstaller = [bridge, runtimeInstallerToWrap](facebook::jsi::Runtime &runtime) {
|
|
40
|
+
if (!bridge) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
#if RNVERSION >= 63
|
|
44
|
+
auto reanimatedModule = reanimated::createReanimatedModule(bridge.jsCallInvoker);
|
|
45
|
+
#else
|
|
46
|
+
auto callInvoker = std::make_shared<react::BridgeJSCallInvoker>(bridge.reactInstance);
|
|
47
|
+
auto reanimatedModule = reanimated::createReanimatedModule(callInvoker);
|
|
48
|
+
#endif
|
|
49
|
+
runtime.global().setProperty(runtime,
|
|
50
|
+
jsi::PropNameID::forAscii(runtime, "__reanimatedModuleProxy"),
|
|
51
|
+
jsi::Object::createFromHostObject(runtime, reanimatedModule));
|
|
52
|
+
|
|
53
|
+
if (runtimeInstallerToWrap) {
|
|
54
|
+
runtimeInstallerToWrap(runtime);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
return runtimeInstaller;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
|
|
@@ -1,21 +1,11 @@
|
|
|
1
1
|
#import "UIResponder+Reanimated.h"
|
|
2
|
-
#import
|
|
3
|
-
#import
|
|
4
|
-
#import <RNReanimated/REAModule.h>
|
|
5
|
-
#import <ReactCommon/RCTTurboModuleManager.h>
|
|
6
|
-
#import <React/RCTBridge+Private.h>
|
|
7
|
-
#import <React/RCTCxxBridgeDelegate.h>
|
|
8
|
-
#import <RNReanimated/REAEventDispatcher.h>
|
|
2
|
+
#import "REAUIManager.h"
|
|
3
|
+
#import "REAInitializer.h"
|
|
9
4
|
|
|
10
|
-
#if
|
|
11
|
-
#import <
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
#if RNVERSION < 63
|
|
15
|
-
#import <ReactCommon/BridgeJSCallInvoker.h>
|
|
16
|
-
#endif
|
|
17
|
-
|
|
18
|
-
#if __has_include(<React/HermesExecutorFactory.h>)
|
|
5
|
+
#if __has_include(<reacthermes/HermesExecutorFactory.h>)
|
|
6
|
+
#import <reacthermes/HermesExecutorFactory.h>
|
|
7
|
+
typedef HermesExecutorFactory ExecutorFactory;
|
|
8
|
+
#elif __has_include(<React/HermesExecutorFactory.h>)
|
|
19
9
|
#import <React/HermesExecutorFactory.h>
|
|
20
10
|
typedef HermesExecutorFactory ExecutorFactory;
|
|
21
11
|
#else
|
|
@@ -25,45 +15,16 @@ typedef JSCExecutorFactory ExecutorFactory;
|
|
|
25
15
|
|
|
26
16
|
#ifndef DONT_AUTOINSTALL_REANIMATED
|
|
27
17
|
|
|
28
|
-
@interface RCTEventDispatcher(Reanimated)
|
|
29
|
-
|
|
30
|
-
- (void)setBridge:(RCTBridge*)bridge;
|
|
31
|
-
|
|
32
|
-
@end
|
|
33
|
-
|
|
34
18
|
@implementation UIResponder (Reanimated)
|
|
35
19
|
- (std::unique_ptr<facebook::react::JSExecutorFactory>)jsExecutorFactoryForBridge:(RCTBridge *)bridge
|
|
36
20
|
{
|
|
37
|
-
|
|
38
|
-
RCTEventDispatcher *eventDispatcher = [REAEventDispatcher new];
|
|
39
|
-
[eventDispatcher setBridge:bridge];
|
|
40
|
-
[bridge updateModuleWithInstance:eventDispatcher];
|
|
41
|
-
_bridge_reanimated = bridge;
|
|
42
|
-
__weak __typeof(self) weakSelf = self;
|
|
43
|
-
|
|
44
|
-
const auto executor = [weakSelf, bridge](facebook::jsi::Runtime &runtime) {
|
|
45
|
-
if (!bridge) {
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
__typeof(self) strongSelf = weakSelf;
|
|
49
|
-
if (strongSelf) {
|
|
50
|
-
#if RNVERSION >= 63
|
|
51
|
-
auto reanimatedModule = reanimated::createReanimatedModule(bridge.jsCallInvoker);
|
|
52
|
-
#else
|
|
53
|
-
auto callInvoker = std::make_shared<react::BridgeJSCallInvoker>(bridge.reactInstance);
|
|
54
|
-
auto reanimatedModule = reanimated::createReanimatedModule(callInvoker);
|
|
55
|
-
#endif
|
|
56
|
-
runtime.global().setProperty(runtime,
|
|
57
|
-
jsi::PropNameID::forAscii(runtime, "__reanimatedModuleProxy"),
|
|
58
|
-
jsi::Object::createFromHostObject(runtime, reanimatedModule));
|
|
59
|
-
}
|
|
60
|
-
};
|
|
21
|
+
const auto installer = reanimated::REAJSIExecutorRuntimeInstaller(bridge, NULL);
|
|
61
22
|
|
|
62
23
|
#if RNVERSION >= 64
|
|
63
24
|
// installs globals such as console, nativePerformanceNow, etc.
|
|
64
|
-
return std::make_unique<ExecutorFactory>(RCTJSIExecutorRuntimeInstaller(
|
|
25
|
+
return std::make_unique<ExecutorFactory>(RCTJSIExecutorRuntimeInstaller(installer));
|
|
65
26
|
#else
|
|
66
|
-
return std::make_unique<ExecutorFactory>(
|
|
27
|
+
return std::make_unique<ExecutorFactory>(installer);
|
|
67
28
|
#endif
|
|
68
29
|
}
|
|
69
30
|
|
package/lib/ConfigHelper.js
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import { NativeModules } from 'react-native';
|
|
2
|
+
import ReanimatedModuleCompat from './ReanimatedModuleCompat';
|
|
3
|
+
import { nativeShouldBeMock } from './reanimated2/PlatformChecker';
|
|
2
4
|
|
|
3
|
-
|
|
5
|
+
let exportedModule;
|
|
6
|
+
if (nativeShouldBeMock()) {
|
|
7
|
+
exportedModule = ReanimatedModuleCompat;
|
|
8
|
+
} else {
|
|
9
|
+
const { ReanimatedModule } = NativeModules;
|
|
10
|
+
exportedModule = ReanimatedModule;
|
|
11
|
+
}
|
|
4
12
|
|
|
5
|
-
export default
|
|
13
|
+
export default exportedModule;
|