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
package/ios/Nodes/READebugNode.m
CHANGED
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
#import "READebugNode.h"
|
|
2
|
-
#import "REAUtils.h"
|
|
3
|
-
#import "REANodesManager.h"
|
|
4
2
|
#import <React/RCTConvert.h>
|
|
5
3
|
#import <React/RCTLog.h>
|
|
4
|
+
#import "REANodesManager.h"
|
|
5
|
+
#import "REAUtils.h"
|
|
6
6
|
|
|
7
7
|
@implementation READebugNode {
|
|
8
8
|
NSNumber *_valueNodeID;
|
|
9
9
|
NSString *_message;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
- (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary<NSString *,id> *)config
|
|
12
|
+
- (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary<NSString *, id> *)config
|
|
13
13
|
{
|
|
14
14
|
if ((self = [super initWithID:nodeID config:config])) {
|
|
15
15
|
_message = [RCTConvert NSString:config[@"message"]];
|
|
16
16
|
_valueNodeID = [RCTConvert NSNumber:config[@"value"]];
|
|
17
|
-
REA_LOG_ERROR_IF_NIL(
|
|
17
|
+
REA_LOG_ERROR_IF_NIL(
|
|
18
|
+
_valueNodeID, @"Reanimated: Second argument passed to debug node is either of wrong type or is missing.");
|
|
18
19
|
}
|
|
19
20
|
return self;
|
|
20
21
|
}
|
package/ios/Nodes/REAEventNode.m
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
NSArray *_argMapping;
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
-
- (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary<NSString *,id> *)config
|
|
9
|
+
- (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary<NSString *, id> *)config
|
|
10
10
|
{
|
|
11
11
|
if ((self = [super initWithID:nodeID config:config])) {
|
|
12
12
|
_argMapping = config[@"argMapping"];
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
|
|
2
2
|
#import "REAFunctionNode.h"
|
|
3
|
-
#import "REAParamNode.h"
|
|
4
3
|
#import "REANodesManager.h"
|
|
4
|
+
#import "REAParamNode.h"
|
|
5
5
|
|
|
6
6
|
@implementation REAFunctionNode {
|
|
7
7
|
NSNumber *_nodeToBeEvaluated;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
-
- (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary<NSString *,id> *)config
|
|
10
|
+
- (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary<NSString *, id> *)config
|
|
11
11
|
{
|
|
12
12
|
if ((self = [super initWithID:nodeID config:config])) {
|
|
13
13
|
_nodeToBeEvaluated = config[@"what"];
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
#import "REAJSCallNode.h"
|
|
2
|
-
#import "REANodesManager.h"
|
|
3
2
|
#import "REAModule.h"
|
|
3
|
+
#import "REANodesManager.h"
|
|
4
4
|
|
|
5
5
|
@implementation REAJSCallNode {
|
|
6
6
|
NSArray<NSNumber *> *_input;
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
-
- (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary<NSString *,id> *)config
|
|
9
|
+
- (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary<NSString *, id> *)config
|
|
10
10
|
{
|
|
11
11
|
if ((self = [super initWithID:nodeID config:config])) {
|
|
12
12
|
_input = config[@"input"];
|
|
@@ -21,9 +21,8 @@
|
|
|
21
21
|
args[i] = [[self.nodesManager findNodeByID:_input[i]] value];
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
[self.nodesManager.reanimatedModule
|
|
25
|
-
|
|
26
|
-
body:@{@"id": self.nodeID, @"args": args }];
|
|
24
|
+
[self.nodesManager.reanimatedModule sendEventWithName:@"onReanimatedCall"
|
|
25
|
+
body:@{@"id" : self.nodeID, @"args" : args}];
|
|
27
26
|
|
|
28
27
|
return @(0);
|
|
29
28
|
}
|
package/ios/Nodes/REANode.h
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
@class REANodesManager;
|
|
5
5
|
|
|
6
|
-
typedef NSNumber*
|
|
6
|
+
typedef NSNumber *REANodeID;
|
|
7
7
|
|
|
8
8
|
@protocol REAFinalNode
|
|
9
9
|
|
|
@@ -12,15 +12,14 @@ typedef NSNumber* REANodeID;
|
|
|
12
12
|
@end
|
|
13
13
|
|
|
14
14
|
@interface REAUpdateContext : NSObject
|
|
15
|
-
@property (nonatomic) NSString*
|
|
15
|
+
@property (nonatomic) NSString *callID;
|
|
16
16
|
@end
|
|
17
17
|
|
|
18
18
|
@interface REANode : NSObject
|
|
19
19
|
|
|
20
20
|
+ (void)runPropUpdates:(nonnull REAUpdateContext *)context;
|
|
21
21
|
|
|
22
|
-
- (instancetype)initWithID:(REANodeID)nodeID
|
|
23
|
-
config:(NSDictionary<NSString *, id> *)config NS_DESIGNATED_INITIALIZER;
|
|
22
|
+
- (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary<NSString *, id> *)config NS_DESIGNATED_INITIALIZER;
|
|
24
23
|
|
|
25
24
|
@property (nonatomic, weak, nullable) REANodesManager *nodesManager;
|
|
26
25
|
@property (nonatomic, nullable) REAUpdateContext *updateContext;
|
package/ios/Nodes/REANode.m
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
@interface REAUpdateContext ()
|
|
7
7
|
|
|
8
8
|
@property (nonatomic, nonnull) NSMutableArray<REANode *> *updatedNodes;
|
|
9
|
-
@property (nonatomic) NSNumber*
|
|
9
|
+
@property (nonatomic) NSNumber *loopID;
|
|
10
10
|
|
|
11
11
|
@end
|
|
12
12
|
|
|
@@ -24,18 +24,17 @@
|
|
|
24
24
|
|
|
25
25
|
@end
|
|
26
26
|
|
|
27
|
-
|
|
28
27
|
@interface REANode ()
|
|
29
28
|
|
|
30
|
-
@property (nonatomic) NSMutableDictionary<REANodeID, NSNumber
|
|
31
|
-
@property (nonatomic) NSMutableDictionary<REANodeID, id
|
|
29
|
+
@property (nonatomic) NSMutableDictionary<REANodeID, NSNumber *> *lastLoopID;
|
|
30
|
+
@property (nonatomic) NSMutableDictionary<REANodeID, id> *memoizedValue;
|
|
32
31
|
@property (nonatomic, nullable) NSMutableArray<REANode *> *childNodes;
|
|
33
32
|
|
|
34
33
|
@end
|
|
35
34
|
|
|
36
35
|
@implementation REANode
|
|
37
36
|
|
|
38
|
-
- (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary<NSString *,id> *)config
|
|
37
|
+
- (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary<NSString *, id> *)config
|
|
39
38
|
{
|
|
40
39
|
if ((self = [super init])) {
|
|
41
40
|
_nodeID = nodeID;
|
|
@@ -46,7 +45,7 @@
|
|
|
46
45
|
return self;
|
|
47
46
|
}
|
|
48
47
|
|
|
49
|
-
RCT_NOT_IMPLEMENTED(-
|
|
48
|
+
RCT_NOT_IMPLEMENTED(-(instancetype)init)
|
|
50
49
|
|
|
51
50
|
- (void)dangerouslyRescheduleEvaluate
|
|
52
51
|
{
|
|
@@ -67,7 +66,8 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init)
|
|
|
67
66
|
|
|
68
67
|
- (id)value
|
|
69
68
|
{
|
|
70
|
-
if (![_lastLoopID objectForKey:_updateContext.callID] ||
|
|
69
|
+
if (![_lastLoopID objectForKey:_updateContext.callID] ||
|
|
70
|
+
[[_lastLoopID objectForKey:_updateContext.callID] longValue] < [_updateContext.loopID longValue]) {
|
|
71
71
|
[_lastLoopID setObject:_updateContext.loopID forKey:_updateContext.callID];
|
|
72
72
|
id val = [self evaluate];
|
|
73
73
|
[_memoizedValue setObject:(val == nil ? [NSNull null] : val) forKey:_updateContext.callID];
|
|
@@ -133,9 +133,7 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init)
|
|
|
133
133
|
NSMutableSet<REANode *> *visitedNodes = [NSMutableSet new];
|
|
134
134
|
NSMutableArray<id<REAFinalNode>> *finalNodes = [NSMutableArray new];
|
|
135
135
|
for (NSUInteger i = 0; i < context.updatedNodes.count; i++) {
|
|
136
|
-
[self findAndUpdateNodes:context.updatedNodes[i]
|
|
137
|
-
withVisitedSet:visitedNodes
|
|
138
|
-
withFinalNodes:finalNodes];
|
|
136
|
+
[self findAndUpdateNodes:context.updatedNodes[i] withVisitedSet:visitedNodes withFinalNodes:finalNodes];
|
|
139
137
|
if (i == context.updatedNodes.count - 1) {
|
|
140
138
|
while (finalNodes.count > 0) {
|
|
141
139
|
// NSMutableArray used for stack implementation
|
|
@@ -151,7 +149,7 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init)
|
|
|
151
149
|
|
|
152
150
|
- (void)onDrop
|
|
153
151
|
{
|
|
154
|
-
//noop
|
|
152
|
+
// noop
|
|
155
153
|
}
|
|
156
154
|
|
|
157
155
|
@end
|
|
@@ -1,29 +1,32 @@
|
|
|
1
1
|
#include <tgmath.h>
|
|
2
2
|
|
|
3
|
-
#import "REAOperatorNode.h"
|
|
4
3
|
#import "REANodesManager.h"
|
|
4
|
+
#import "REAOperatorNode.h"
|
|
5
5
|
|
|
6
6
|
typedef id (^REAOperatorBlock)(NSArray<REANode *> *inputNodes);
|
|
7
7
|
|
|
8
|
-
#define REA_REDUCE(OP)
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
8
|
+
#define REA_REDUCE(OP) \
|
|
9
|
+
^(NSArray<REANode *> * inputNodes) { \
|
|
10
|
+
double acc = [[inputNodes[0] value] doubleValue]; \
|
|
11
|
+
for (NSUInteger i = 1; i < inputNodes.count; i++) { \
|
|
12
|
+
double a = acc, b = [[inputNodes[i] value] doubleValue]; \
|
|
13
|
+
acc = OP; \
|
|
14
|
+
} \
|
|
15
|
+
return @(acc); \
|
|
16
|
+
}
|
|
16
17
|
|
|
17
|
-
#define REA_SINGLE(OP)
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
#define REA_SINGLE(OP) \
|
|
19
|
+
^(NSArray<REANode *> * inputNodes) { \
|
|
20
|
+
double a = [[inputNodes[0] value] doubleValue]; \
|
|
21
|
+
return @(OP); \
|
|
22
|
+
}
|
|
21
23
|
|
|
22
|
-
#define REA_INFIX(OP)
|
|
23
|
-
|
|
24
|
-
double
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
#define REA_INFIX(OP) \
|
|
25
|
+
^(NSArray<REANode *> * inputNodes) { \
|
|
26
|
+
double a = [[inputNodes[0] value] doubleValue]; \
|
|
27
|
+
double b = [[inputNodes[1] value] doubleValue]; \
|
|
28
|
+
return @(OP); \
|
|
29
|
+
}
|
|
27
30
|
|
|
28
31
|
@implementation REAOperatorNode {
|
|
29
32
|
NSArray<NSNumber *> *_input;
|
|
@@ -31,55 +34,54 @@ return @(OP); \
|
|
|
31
34
|
REAOperatorBlock _op;
|
|
32
35
|
}
|
|
33
36
|
|
|
34
|
-
- (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary<NSString *,id> *)config
|
|
37
|
+
- (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary<NSString *, id> *)config
|
|
35
38
|
{
|
|
36
39
|
static NSDictionary *OPS;
|
|
37
40
|
static dispatch_once_t opsToken;
|
|
38
41
|
dispatch_once(&opsToken, ^{
|
|
39
|
-
OPS = @{
|
|
40
|
-
|
|
41
|
-
@"
|
|
42
|
-
@"
|
|
43
|
-
@"
|
|
44
|
-
@"
|
|
45
|
-
@"
|
|
46
|
-
@"
|
|
47
|
-
@"
|
|
48
|
-
@"
|
|
49
|
-
@"
|
|
50
|
-
@"
|
|
51
|
-
@"
|
|
52
|
-
@"
|
|
53
|
-
@"
|
|
54
|
-
@"
|
|
55
|
-
@"
|
|
56
|
-
@"
|
|
57
|
-
@"
|
|
58
|
-
@"
|
|
59
|
-
@"
|
|
60
|
-
@"
|
|
61
|
-
@"min": REA_REDUCE(MIN(a, b)),
|
|
42
|
+
OPS = @{// arithmetic
|
|
43
|
+
@"add" : REA_REDUCE(a + b),
|
|
44
|
+
@"sub" : REA_REDUCE(a - b),
|
|
45
|
+
@"multiply" : REA_REDUCE(a * b),
|
|
46
|
+
@"divide" : REA_REDUCE(a / b),
|
|
47
|
+
@"pow" : REA_REDUCE(pow(a, b)),
|
|
48
|
+
@"modulo" : REA_REDUCE(fmod(fmod(a, b) + b, b)),
|
|
49
|
+
@"sqrt" : REA_SINGLE(sqrt(a)),
|
|
50
|
+
@"log" : REA_SINGLE(log(a)),
|
|
51
|
+
@"sin" : REA_SINGLE(sin(a)),
|
|
52
|
+
@"cos" : REA_SINGLE(cos(a)),
|
|
53
|
+
@"tan" : REA_SINGLE(tan(a)),
|
|
54
|
+
@"acos" : REA_SINGLE(acos(a)),
|
|
55
|
+
@"asin" : REA_SINGLE(asin(a)),
|
|
56
|
+
@"atan" : REA_SINGLE(atan(a)),
|
|
57
|
+
@"exp" : REA_SINGLE(exp(a)),
|
|
58
|
+
@"round" : REA_SINGLE(round(a)),
|
|
59
|
+
@"abs" : REA_SINGLE(fabs(a)),
|
|
60
|
+
@"ceil" : REA_SINGLE(ceil(a)),
|
|
61
|
+
@"floor" : REA_SINGLE(floor(a)),
|
|
62
|
+
@"max" : REA_REDUCE(MAX(a, b)),
|
|
63
|
+
@"min" : REA_REDUCE(MIN(a, b)),
|
|
62
64
|
|
|
63
65
|
// logical
|
|
64
|
-
@"and": ^(NSArray<REANode *> *inputNodes)
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
66
|
+
@"and" : ^(NSArray<REANode *> *inputNodes){
|
|
67
|
+
BOOL res = [[inputNodes[0] value] doubleValue];
|
|
68
|
+
for (NSUInteger i = 1; i < inputNodes.count && res; i++) {
|
|
69
|
+
res = res && [[inputNodes[i] value] doubleValue];
|
|
70
|
+
}
|
|
71
|
+
return res ? @(1.) : @(0.);
|
|
70
72
|
},
|
|
71
73
|
@"or": ^(NSArray<REANode *> *inputNodes) {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
74
|
+
BOOL res = [[inputNodes[0] value] doubleValue];
|
|
75
|
+
for (NSUInteger i = 1; i < inputNodes.count && !res; i++) {
|
|
76
|
+
res = res || [[inputNodes[i] value] doubleValue];
|
|
77
|
+
}
|
|
78
|
+
return res ? @(1.) : @(0.);
|
|
77
79
|
},
|
|
78
80
|
@"not": REA_SINGLE(!a),
|
|
79
81
|
@"defined": ^(NSArray<REANode *> *inputNodes) {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
82
|
+
id val = [inputNodes[0] value];
|
|
83
|
+
id res = @(val != nil && !([val isKindOfClass:[NSNumber class]] && isnan([val doubleValue])));
|
|
84
|
+
return res;
|
|
83
85
|
},
|
|
84
86
|
|
|
85
87
|
// comparing
|
|
@@ -89,17 +91,17 @@ return @(OP); \
|
|
|
89
91
|
@"lessOrEq": REA_INFIX(a <= b),
|
|
90
92
|
@"greaterOrEq": REA_INFIX(a >= b),
|
|
91
93
|
@"neq": REA_INFIX(a != b),
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
}
|
|
94
|
+
};
|
|
95
|
+
});
|
|
96
|
+
if ((self = [super initWithID:nodeID config:config])) {
|
|
97
|
+
_input = config[@"input"];
|
|
98
|
+
_inputNodes = [NSMutableArray arrayWithCapacity:_input.count];
|
|
99
|
+
_op = OPS[config[@"op"]];
|
|
100
|
+
if (!_op) {
|
|
101
|
+
RCTLogError(@"Operator '%@' not found", config[@"op"]);
|
|
101
102
|
}
|
|
102
|
-
|
|
103
|
+
}
|
|
104
|
+
return self;
|
|
103
105
|
}
|
|
104
106
|
|
|
105
107
|
- (id)evaluate
|
|
@@ -111,4 +113,3 @@ return @(OP); \
|
|
|
111
113
|
}
|
|
112
114
|
|
|
113
115
|
@end
|
|
114
|
-
|
package/ios/Nodes/REAParamNode.h
CHANGED
|
@@ -2,11 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
@interface REAParamNode : REAValueNode
|
|
4
4
|
|
|
5
|
-
- (void)beginContext:(NSNumber*)
|
|
6
|
-
prevCallID:(NSNumber*) prevCallID;
|
|
5
|
+
- (void)beginContext:(NSNumber *)ref prevCallID:(NSNumber *)prevCallID;
|
|
7
6
|
- (void)endContext;
|
|
8
7
|
- (void)start;
|
|
9
8
|
- (void)stop;
|
|
10
9
|
- (BOOL)isRunning;
|
|
11
10
|
@end
|
|
12
|
-
|
package/ios/Nodes/REAParamNode.m
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
#import "REAParamNode.h"
|
|
2
|
-
#import "REAValueNode.h"
|
|
3
|
-
#import "REANodesManager.h"
|
|
4
2
|
#import "REAClockNodes.h"
|
|
3
|
+
#import "REANodesManager.h"
|
|
4
|
+
#import "REAValueNode.h"
|
|
5
5
|
|
|
6
6
|
@implementation REAParamNode {
|
|
7
7
|
NSMutableArray<REANodeID> *_argstack;
|
|
8
8
|
NSString *_prevCallID;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
- (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary<NSString *,id> *)config
|
|
11
|
+
- (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary<NSString *, id> *)config
|
|
12
12
|
{
|
|
13
13
|
if ((self = [super initWithID:nodeID config:config])) {
|
|
14
14
|
_argstack = [NSMutableArray<REANodeID> arrayWithCapacity:0];
|
|
@@ -21,13 +21,12 @@
|
|
|
21
21
|
REANode *node = [self.nodesManager findNodeByID:[_argstack lastObject]];
|
|
22
22
|
NSString *callID = self.updateContext.callID;
|
|
23
23
|
self.updateContext.callID = _prevCallID;
|
|
24
|
-
[(REAValueNode*)node setValue:value];
|
|
24
|
+
[(REAValueNode *)node setValue:value];
|
|
25
25
|
self.updateContext.callID = callID;
|
|
26
26
|
[self forceUpdateMemoizedValue:value];
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
- (void)beginContext:(NSNumber*)
|
|
30
|
-
prevCallID:(NSString*) prevCallID
|
|
29
|
+
- (void)beginContext:(NSNumber *)ref prevCallID:(NSString *)prevCallID
|
|
31
30
|
{
|
|
32
31
|
_prevCallID = prevCallID;
|
|
33
32
|
[_argstack addObject:ref];
|
|
@@ -38,12 +37,11 @@
|
|
|
38
37
|
[_argstack removeLastObject];
|
|
39
38
|
}
|
|
40
39
|
|
|
41
|
-
|
|
42
40
|
- (id)evaluate
|
|
43
41
|
{
|
|
44
42
|
NSString *callID = self.updateContext.callID;
|
|
45
43
|
self.updateContext.callID = _prevCallID;
|
|
46
|
-
REANode *
|
|
44
|
+
REANode *node = [self.nodesManager findNodeByID:[_argstack lastObject]];
|
|
47
45
|
id val = [node value];
|
|
48
46
|
self.updateContext.callID = callID;
|
|
49
47
|
return val;
|
|
@@ -51,31 +49,31 @@
|
|
|
51
49
|
|
|
52
50
|
- (void)start
|
|
53
51
|
{
|
|
54
|
-
REANode*
|
|
52
|
+
REANode *node = [self.nodesManager findNodeByID:[_argstack lastObject]];
|
|
55
53
|
if ([node isKindOfClass:[REAParamNode class]]) {
|
|
56
|
-
[(REAParamNode*
|
|
54
|
+
[(REAParamNode *)node start];
|
|
57
55
|
} else {
|
|
58
|
-
[(REAClockNode*
|
|
56
|
+
[(REAClockNode *)node start];
|
|
59
57
|
}
|
|
60
58
|
}
|
|
61
59
|
|
|
62
60
|
- (void)stop
|
|
63
61
|
{
|
|
64
|
-
REANode*
|
|
62
|
+
REANode *node = [self.nodesManager findNodeByID:[_argstack lastObject]];
|
|
65
63
|
if ([node isKindOfClass:[REAParamNode class]]) {
|
|
66
|
-
[(REAParamNode*
|
|
64
|
+
[(REAParamNode *)node stop];
|
|
67
65
|
} else {
|
|
68
|
-
[(REAClockNode*
|
|
66
|
+
[(REAClockNode *)node stop];
|
|
69
67
|
}
|
|
70
68
|
}
|
|
71
69
|
|
|
72
70
|
- (BOOL)isRunning
|
|
73
71
|
{
|
|
74
|
-
REANode*
|
|
72
|
+
REANode *node = [self.nodesManager findNodeByID:[_argstack lastObject]];
|
|
75
73
|
if ([node isKindOfClass:[REAParamNode class]]) {
|
|
76
|
-
return [(REAParamNode*
|
|
74
|
+
return [(REAParamNode *)node isRunning];
|
|
77
75
|
}
|
|
78
|
-
return [(REAClockNode*
|
|
76
|
+
return [(REAClockNode *)node isRunning];
|
|
79
77
|
}
|
|
80
78
|
|
|
81
79
|
@end
|
package/ios/Nodes/REAPropsNode.h
CHANGED
|
@@ -2,10 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
@interface REAPropsNode : REANode <REAFinalNode>
|
|
4
4
|
|
|
5
|
-
- (void)connectToView:(NSNumber *_Nonnull)viewTag
|
|
6
|
-
viewName:(NSString *_Nonnull)viewName;
|
|
5
|
+
- (void)connectToView:(NSNumber *_Nonnull)viewTag viewName:(NSString *_Nonnull)viewName;
|
|
7
6
|
|
|
8
7
|
- (void)disconnectFromView:(NSNumber *_Nonnull)viewTag;
|
|
9
8
|
|
|
10
9
|
@end
|
|
11
|
-
|
package/ios/Nodes/REAPropsNode.m
CHANGED
|
@@ -1,22 +1,20 @@
|
|
|
1
1
|
#import "REAPropsNode.h"
|
|
2
2
|
|
|
3
|
+
#import "REAModule.h"
|
|
3
4
|
#import "REANodesManager.h"
|
|
4
5
|
#import "REAStyleNode.h"
|
|
5
|
-
#import "REAModule.h"
|
|
6
6
|
|
|
7
7
|
#import <React/RCTLog.h>
|
|
8
8
|
#import <React/RCTUIManager.h>
|
|
9
9
|
#import "React/RCTComponentData.h"
|
|
10
10
|
|
|
11
|
-
@implementation REAPropsNode
|
|
12
|
-
{
|
|
11
|
+
@implementation REAPropsNode {
|
|
13
12
|
NSNumber *_connectedViewTag;
|
|
14
13
|
NSString *_connectedViewName;
|
|
15
14
|
NSMutableDictionary<NSString *, REANodeID> *_propsConfig;
|
|
16
15
|
}
|
|
17
16
|
|
|
18
|
-
- (instancetype)initWithID:(REANodeID)nodeID
|
|
19
|
-
config:(NSDictionary<NSString *,id> *)config
|
|
17
|
+
- (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary<NSString *, id> *)config
|
|
20
18
|
{
|
|
21
19
|
if (self = [super initWithID:nodeID config:config]) {
|
|
22
20
|
_propsConfig = config[@"props"];
|
|
@@ -24,8 +22,7 @@
|
|
|
24
22
|
return self;
|
|
25
23
|
}
|
|
26
24
|
|
|
27
|
-
- (void)connectToView:(NSNumber *)viewTag
|
|
28
|
-
viewName:(NSString *)viewName
|
|
25
|
+
- (void)connectToView:(NSNumber *)viewTag viewName:(NSString *)viewName
|
|
29
26
|
{
|
|
30
27
|
_connectedViewTag = viewTag;
|
|
31
28
|
_connectedViewName = viewName;
|
|
@@ -43,8 +40,8 @@
|
|
|
43
40
|
NSMutableDictionary *uiProps = [NSMutableDictionary new];
|
|
44
41
|
NSMutableDictionary *nativeProps = [NSMutableDictionary new];
|
|
45
42
|
NSMutableDictionary *jsProps = [NSMutableDictionary new];
|
|
46
|
-
|
|
47
|
-
void (^addBlock)(NSString *key, id obj, BOOL *
|
|
43
|
+
|
|
44
|
+
void (^addBlock)(NSString *key, id obj, BOOL *stop) = ^(NSString *key, id obj, BOOL *stop) {
|
|
48
45
|
if ([self.nodesManager.uiProps containsObject:key]) {
|
|
49
46
|
uiProps[key] = obj;
|
|
50
47
|
} else if ([self.nodesManager.nativeProps containsObject:key]) {
|
|
@@ -53,34 +50,35 @@
|
|
|
53
50
|
jsProps[key] = obj;
|
|
54
51
|
}
|
|
55
52
|
};
|
|
56
|
-
|
|
53
|
+
|
|
57
54
|
for (NSString *prop in _propsConfig) {
|
|
58
55
|
REANode *propNode = [self.nodesManager findNodeByID:_propsConfig[prop]];
|
|
59
|
-
|
|
56
|
+
|
|
60
57
|
if ([propNode isKindOfClass:[REAStyleNode class]]) {
|
|
61
58
|
[[propNode value] enumerateKeysAndObjectsUsingBlock:addBlock];
|
|
62
59
|
} else {
|
|
63
60
|
addBlock(prop, [propNode value], nil);
|
|
64
61
|
}
|
|
65
62
|
}
|
|
66
|
-
|
|
63
|
+
|
|
67
64
|
if (_connectedViewTag != nil) {
|
|
68
65
|
if (uiProps.count > 0) {
|
|
69
|
-
[self.nodesManager.uiManager
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
props:uiProps];
|
|
66
|
+
[self.nodesManager.uiManager synchronouslyUpdateViewOnUIThread:_connectedViewTag
|
|
67
|
+
viewName:_connectedViewName
|
|
68
|
+
props:uiProps];
|
|
73
69
|
}
|
|
74
70
|
if (nativeProps.count > 0) {
|
|
75
|
-
[self.nodesManager enqueueUpdateViewOnNativeThread:_connectedViewTag
|
|
71
|
+
[self.nodesManager enqueueUpdateViewOnNativeThread:_connectedViewTag
|
|
72
|
+
viewName:_connectedViewName
|
|
73
|
+
nativeProps:nativeProps
|
|
74
|
+
trySynchronously:NO];
|
|
76
75
|
}
|
|
77
76
|
if (jsProps.count > 0) {
|
|
78
|
-
[self.nodesManager.reanimatedModule
|
|
79
|
-
|
|
80
|
-
body:@{@"viewTag": _connectedViewTag, @"props": jsProps }];
|
|
77
|
+
[self.nodesManager.reanimatedModule sendEventWithName:@"onReanimatedPropsChange"
|
|
78
|
+
body:@{@"viewTag" : _connectedViewTag, @"props" : jsProps}];
|
|
81
79
|
}
|
|
82
80
|
}
|
|
83
|
-
|
|
81
|
+
|
|
84
82
|
return @(0);
|
|
85
83
|
}
|
|
86
84
|
|
|
@@ -98,4 +96,3 @@
|
|
|
98
96
|
}
|
|
99
97
|
|
|
100
98
|
@end
|
|
101
|
-
|
package/ios/Nodes/REASetNode.h
CHANGED
package/ios/Nodes/REASetNode.m
CHANGED
|
@@ -1,22 +1,24 @@
|
|
|
1
1
|
#import "REASetNode.h"
|
|
2
|
-
#import "REAUtils.h"
|
|
3
2
|
#import <React/RCTConvert.h>
|
|
4
3
|
#import <React/RCTLog.h>
|
|
5
|
-
#import "REAValueNode.h"
|
|
6
4
|
#import "REANodesManager.h"
|
|
5
|
+
#import "REAUtils.h"
|
|
6
|
+
#import "REAValueNode.h"
|
|
7
7
|
|
|
8
8
|
@implementation REASetNode {
|
|
9
9
|
NSNumber *_whatNodeID;
|
|
10
10
|
NSNumber *_valueNodeID;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
- (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary<NSString *,id> *)config
|
|
13
|
+
- (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary<NSString *, id> *)config
|
|
14
14
|
{
|
|
15
15
|
if ((self = [super initWithID:nodeID config:config])) {
|
|
16
16
|
_whatNodeID = [RCTConvert NSNumber:config[@"what"]];
|
|
17
|
-
REA_LOG_ERROR_IF_NIL(
|
|
17
|
+
REA_LOG_ERROR_IF_NIL(
|
|
18
|
+
_whatNodeID, @"Reanimated: First argument passed to set node is either of wrong type or is missing.");
|
|
18
19
|
_valueNodeID = [RCTConvert NSNumber:config[@"value"]];
|
|
19
|
-
REA_LOG_ERROR_IF_NIL(
|
|
20
|
+
REA_LOG_ERROR_IF_NIL(
|
|
21
|
+
_valueNodeID, @"Reanimated: Second argument passed to set node is either of wrong type or is missing.");
|
|
20
22
|
}
|
|
21
23
|
return self;
|
|
22
24
|
}
|
package/ios/Nodes/REAStyleNode.h
CHANGED
package/ios/Nodes/REAStyleNode.m
CHANGED
|
@@ -2,13 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
#import "REANodesManager.h"
|
|
4
4
|
|
|
5
|
-
@implementation REAStyleNode
|
|
6
|
-
{
|
|
5
|
+
@implementation REAStyleNode {
|
|
7
6
|
NSMutableDictionary<NSString *, REANodeID> *_styleConfig;
|
|
8
7
|
}
|
|
9
8
|
|
|
10
|
-
- (instancetype)initWithID:(REANodeID)nodeID
|
|
11
|
-
config:(NSDictionary<NSString *, id> *)config;
|
|
9
|
+
- (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary<NSString *, id> *)config;
|
|
12
10
|
{
|
|
13
11
|
if ((self = [super initWithID:nodeID config:config])) {
|
|
14
12
|
_styleConfig = config[@"style"];
|
|
@@ -2,12 +2,11 @@
|
|
|
2
2
|
#import <React/RCTConvert.h>
|
|
3
3
|
#import "REANodesManager.h"
|
|
4
4
|
|
|
5
|
-
@implementation REATransformNode
|
|
6
|
-
{
|
|
5
|
+
@implementation REATransformNode {
|
|
7
6
|
NSArray<id> *_transformConfigs;
|
|
8
7
|
}
|
|
9
8
|
|
|
10
|
-
- (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary<NSString *,id> *)config
|
|
9
|
+
- (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary<NSString *, id> *)config
|
|
11
10
|
{
|
|
12
11
|
if ((self = [super initWithID:nodeID config:config])) {
|
|
13
12
|
_transformConfigs = config[@"transform"];
|
|
@@ -28,11 +27,10 @@
|
|
|
28
27
|
} else {
|
|
29
28
|
value = transformConfig[@"value"];
|
|
30
29
|
}
|
|
31
|
-
[transform addObject:@{property: value}];
|
|
30
|
+
[transform addObject:@{property : value}];
|
|
32
31
|
}
|
|
33
32
|
|
|
34
33
|
return transform;
|
|
35
34
|
}
|
|
36
35
|
|
|
37
36
|
@end
|
|
38
|
-
|