@react-native-ohos/react-native-reanimated 4.0.0-rc.1 → 4.0.2-beta.1
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/compatibility.json +161 -161
- package/harmony/reanimated/BuildProfile.ets +16 -16
- package/harmony/reanimated/build-profile.json5 +18 -18
- package/harmony/reanimated/hvigorfile.ts +4 -4
- package/harmony/reanimated/index.ets +4 -4
- package/harmony/reanimated/oh-package-lock.json5 +39 -0
- package/harmony/reanimated/oh-package.json5 +12 -12
- package/harmony/reanimated/src/main/cpp/CMakeLists.txt +65 -62
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/AnimatedSensor/AnimatedSensorModule.cpp +81 -81
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/AnimatedSensor/AnimatedSensorModule.h +46 -46
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/InterpolatorRegistry.cpp +390 -390
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/InterpolatorRegistry.h +16 -16
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/definitions.h +30 -30
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/filters/FilterOp.cpp +46 -46
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/filters/FilterOp.h +23 -23
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/Quaternion.cpp +53 -53
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/Quaternion.h +21 -21
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix.cpp +166 -166
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix.h +71 -71
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix2D.cpp +368 -368
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix2D.h +53 -53
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix3D.cpp +594 -594
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix3D.h +67 -67
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformOp.cpp +52 -52
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformOp.h +26 -26
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/vectors.cpp +156 -156
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/vectors.h +76 -76
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSAngle.cpp +94 -93
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSAngle.h +33 -33
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSBoolean.cpp +48 -48
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSBoolean.h +31 -31
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSColor.cpp +135 -135
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSColor.h +61 -61
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSDiscreteArray.cpp +100 -100
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSDiscreteArray.h +45 -44
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSKeyword.cpp +81 -81
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSKeyword.h +53 -53
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSLength.cpp +122 -122
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSLength.h +38 -38
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSNumber.cpp +82 -82
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSNumber.h +63 -63
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValue.h +118 -118
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValueVariant.cpp +174 -174
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValueVariant.h +111 -111
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSBoxShadow.cpp +196 -196
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSBoxShadow.h +66 -66
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSDropShadow.cpp +134 -134
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSDropShadow.h +44 -44
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSAnimationConfig.cpp +174 -174
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSAnimationConfig.h +49 -49
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSKeyframesConfig.cpp +45 -45
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSKeyframesConfig.h +26 -26
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSTransitionConfig.cpp +90 -90
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSTransitionConfig.h +43 -43
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/common.cpp +17 -17
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/common.h +13 -13
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSAnimation.cpp +127 -127
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSAnimation.h +51 -51
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSTransition.cpp +145 -145
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSTransition.h +47 -47
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/EasingFunctions.cpp +69 -69
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/EasingFunctions.h +22 -22
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/cubicBezier.cpp +66 -66
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/cubicBezier.h +15 -15
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/linear.cpp +28 -28
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/linear.h +15 -15
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/steps.cpp +13 -13
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/steps.h +12 -12
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/InterpolatorFactory.cpp +157 -157
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/InterpolatorFactory.h +189 -189
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/PropertyInterpolator.cpp +76 -76
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/PropertyInterpolator.h +66 -66
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/configs.h +20 -20
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperation.cpp +136 -136
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperation.h +40 -40
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperationInterpolator.cpp +38 -38
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperationInterpolator.h +24 -24
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterStyleInterpolator.cpp +58 -58
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterStyleInterpolator.h +24 -24
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/blur.h +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/brightness.h +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/contrast.h +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/dropShadow.h +17 -17
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/grayscale.h +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/hueRotate.h +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/invert.h +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/opacity.h +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/saturate.h +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/sepia.h +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/ArrayPropertiesInterpolator.cpp +95 -95
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/ArrayPropertiesInterpolator.h +36 -36
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/GroupPropertiesInterpolator.cpp +41 -41
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/GroupPropertiesInterpolator.h +32 -32
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/RecordPropertiesInterpolator.cpp +99 -99
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/RecordPropertiesInterpolator.h +37 -37
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/OperationsStyleInterpolator.cpp +308 -308
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/OperationsStyleInterpolator.h +100 -100
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperation.cpp +19 -19
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperation.h +94 -94
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperationInterpolator.cpp +18 -18
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperationInterpolator.h +43 -43
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/AnimationStyleInterpolator.h +26 -26
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/TransitionStyleInterpolator.cpp +103 -103
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/TransitionStyleInterpolator.h +42 -42
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperation.cpp +224 -224
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperation.h +52 -52
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperationInterpolator.cpp +218 -218
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperationInterpolator.h +89 -89
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformsStyleInterpolator.cpp +149 -149
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformsStyleInterpolator.h +33 -33
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/matrix.cpp +208 -208
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/matrix.h +56 -56
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/perspective.cpp +42 -42
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/perspective.h +20 -20
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/rotate.cpp +41 -41
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/rotate.h +39 -39
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/scale.cpp +28 -28
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/scale.h +25 -25
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/skew.cpp +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/skew.h +20 -20
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/translate.cpp +39 -39
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/translate.h +25 -25
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ResolvableValueInterpolator.cpp +47 -47
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ResolvableValueInterpolator.h +43 -43
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/SimpleValueInterpolator.cpp +70 -70
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/SimpleValueInterpolator.h +40 -40
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ValueInterpolator.cpp +146 -146
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ValueInterpolator.h +71 -71
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/misc/ViewStylesRepository.cpp +155 -155
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/misc/ViewStylesRepository.h +53 -53
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/AnimationProgressProvider.cpp +170 -170
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/AnimationProgressProvider.h +67 -67
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/KeyframeProgressProvider.h +12 -12
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/RawProgressProvider.cpp +41 -41
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/RawProgressProvider.h +31 -31
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/TransitionProgressProvider.cpp +193 -193
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/TransitionProgressProvider.h +77 -77
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSAnimationsRegistry.cpp +340 -340
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSAnimationsRegistry.h +80 -80
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSKeyframesRegistry.cpp +45 -45
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSKeyframesRegistry.h +29 -29
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSTransitionsRegistry.cpp +167 -167
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSTransitionsRegistry.h +51 -51
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/StaticPropsRegistry.cpp +61 -61
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/StaticPropsRegistry.h +33 -33
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGBrush.cpp +80 -80
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGBrush.h +39 -39
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGLength.cpp +93 -93
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGLength.h +36 -36
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGStrokeDashArray.cpp +111 -110
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGStrokeDashArray.h +33 -33
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/DelayedItemsManager.cpp +75 -75
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/DelayedItemsManager.h +45 -45
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/algorithms.cpp +12 -12
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/algorithms.h +10 -10
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/interpolators.cpp +36 -36
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/interpolators.h +23 -23
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/props.cpp +149 -149
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/props.h +32 -32
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitHook.cpp +113 -113
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitHook.h +49 -49
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitShadowNode.h +46 -46
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedMountHook.cpp +56 -56
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedMountHook.h +37 -37
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ShadowTreeCloner.cpp +104 -104
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ShadowTreeCloner.h +22 -22
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.cpp +72 -72
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.h +25 -25
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistry.cpp +160 -160
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistry.h +71 -71
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistryManager.cpp +161 -161
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistryManager.h +65 -65
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationType.h +11 -11
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsManager.cpp +137 -137
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsManager.h +82 -82
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.cpp +79 -79
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.h +81 -81
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Experimental.cpp +864 -864
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Experimental.h +214 -214
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.cpp +897 -897
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.h +220 -220
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsUtils.cpp +31 -31
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsUtils.h +146 -146
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/PropsDiffer.cpp +456 -456
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/PropsDiffer.h +102 -102
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/SharedTransitions.cpp +544 -544
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/PropValueProcessor.cpp +119 -119
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/PropValueProcessor.h +39 -39
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.cpp +1380 -1376
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.h +230 -228
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxySpec.cpp +183 -183
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxySpec.h +93 -93
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/RNRuntimeDecorator.cpp +54 -54
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/RNRuntimeDecorator.h +28 -28
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/UIRuntimeDecorator.cpp +58 -58
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/UIRuntimeDecorator.h +31 -31
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/FeatureFlags.cpp +18 -18
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/FeatureFlags.h +44 -44
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/PlatformDepMethodsHolder.h +67 -67
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/ReanimatedSystraceSection.h +114 -114
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/ReanimatedVersion.cpp +46 -46
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/ReanimatedVersion.h +18 -18
- package/harmony/reanimated/src/main/cpp/ReanimatedModule.cpp +233 -230
- package/harmony/reanimated/src/main/cpp/ReanimatedModule.h +23 -23
- package/harmony/reanimated/src/main/cpp/ReanimatedNodesManager.cpp +56 -56
- package/harmony/reanimated/src/main/cpp/ReanimatedNodesManager.h +30 -30
- package/harmony/reanimated/src/main/cpp/ReanimatedPackage.cpp +44 -44
- package/harmony/reanimated/src/main/cpp/ReanimatedPackage.h +16 -16
- package/harmony/reanimated/src/main/cpp/ReanimatedSensor.cpp +265 -265
- package/harmony/reanimated/src/main/cpp/ReanimatedSensor.h +36 -36
- package/harmony/reanimated/src/main/cpp/ReanimatedSensorContainer.cpp +35 -35
- package/harmony/reanimated/src/main/cpp/ReanimatedSensorContainer.h +23 -23
- package/harmony/reanimated/src/main/cpp/ReanimatedUIScheduler.cpp +23 -23
- package/harmony/reanimated/src/main/cpp/ReanimatedUIScheduler.h +19 -19
- package/harmony/reanimated/src/main/cpp/TransformParser.h +93 -93
- package/harmony/reanimated/src/main/ets/AnimationManager.ts +60 -60
- package/harmony/reanimated/src/main/ets/ReanimatedModule.ts +51 -51
- package/harmony/reanimated/src/main/ets/ReanimatedPackage.ts +25 -25
- package/harmony/reanimated/src/main/module.json5 +12 -12
- package/harmony/reanimated/src/main/resources/base/element/color.json +7 -7
- package/harmony/reanimated/src/main/resources/base/element/string.json +15 -15
- package/harmony/reanimated/src/main/resources/base/profile/main_pages.json +5 -5
- package/harmony/reanimated/src/main/resources/en_US/element/string.json +15 -15
- package/harmony/reanimated/src/main/resources/zh_CN/element/string.json +15 -15
- package/harmony/reanimated/ts.ts +6 -6
- package/harmony/reanimated.har +0 -0
- package/package.json +70 -68
- package/scripts/deploy.js +191 -191
- package/scripts/set-reanimated-version.js +37 -37
- package/scripts/update-version.js +119 -119
- package/scripts/validate-react-native-version.js +46 -46
- package/scripts/validate-worklets-build.js +17 -17
- package/scripts/validate-worklets-version.js +84 -79
- package/scripts/worklets-version.json +4 -4
- package/src/index.ts +9 -9
package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValueVariant.cpp
CHANGED
|
@@ -1,174 +1,174 @@
|
|
|
1
|
-
#include <reanimated/CSS/common/values/CSSAngle.h>
|
|
2
|
-
#include <reanimated/CSS/common/values/CSSBoolean.h>
|
|
3
|
-
#include <reanimated/CSS/common/values/CSSColor.h>
|
|
4
|
-
#include <reanimated/CSS/common/values/CSSDiscreteArray.h>
|
|
5
|
-
#include <reanimated/CSS/common/values/CSSKeyword.h>
|
|
6
|
-
#include <reanimated/CSS/common/values/CSSLength.h>
|
|
7
|
-
#include <reanimated/CSS/common/values/CSSNumber.h>
|
|
8
|
-
#include <reanimated/CSS/common/values/CSSValueVariant.h>
|
|
9
|
-
#include <reanimated/CSS/common/values/complex/CSSBoxShadow.h>
|
|
10
|
-
#include <reanimated/CSS/svg/values/SVGBrush.h>
|
|
11
|
-
#include <reanimated/CSS/svg/values/SVGLength.h>
|
|
12
|
-
#include <reanimated/CSS/svg/values/SVGStrokeDashArray.h>
|
|
13
|
-
|
|
14
|
-
#include <worklets/Tools/JSISerializer.h>
|
|
15
|
-
|
|
16
|
-
#include <string>
|
|
17
|
-
#include <utility>
|
|
18
|
-
#include <vector>
|
|
19
|
-
|
|
20
|
-
namespace reanimated::css {
|
|
21
|
-
|
|
22
|
-
template <typename... AllowedTypes>
|
|
23
|
-
CSSValueVariant<AllowedTypes...>::CSSValueVariant(std::variant<AllowedTypes...> &&storage)
|
|
24
|
-
: storage_(std::move(storage)) {}
|
|
25
|
-
|
|
26
|
-
template <typename... AllowedTypes>
|
|
27
|
-
CSSValueVariant<AllowedTypes...>::CSSValueVariant(jsi::Runtime &rt, const jsi::Value &jsiValue) {
|
|
28
|
-
auto tryOne = [&]<typename TCSSValue>() -> bool {
|
|
29
|
-
// We have to check in a runtime if the type can be constructed from the
|
|
30
|
-
// provided jsi::Value. The first match will be used to construct the
|
|
31
|
-
// CSS value.
|
|
32
|
-
if (!TCSSValue::canConstruct(rt, jsiValue)) {
|
|
33
|
-
return false;
|
|
34
|
-
}
|
|
35
|
-
storage_ = TCSSValue(rt, jsiValue);
|
|
36
|
-
return true;
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
// Try constructing with each allowed type until one succeeds
|
|
40
|
-
if (!(tryOne.template operator()<AllowedTypes>() || ...)) {
|
|
41
|
-
throw std::runtime_error(
|
|
42
|
-
"[Reanimated] No compatible type found for construction from: " + worklets::stringifyJSIValue(rt, jsiValue));
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
template <typename... AllowedTypes>
|
|
47
|
-
CSSValueVariant<AllowedTypes...>::CSSValueVariant(const folly::dynamic &value) {
|
|
48
|
-
auto tryOne = [&]<typename TCSSValue>() -> bool {
|
|
49
|
-
// We have to check in a runtime if the type can be constructed from the
|
|
50
|
-
// provided folly::dynamic. The first match will be used to construct the
|
|
51
|
-
// CSS value.
|
|
52
|
-
if (!TCSSValue::canConstruct(value)) {
|
|
53
|
-
return false;
|
|
54
|
-
}
|
|
55
|
-
storage_ = TCSSValue(value);
|
|
56
|
-
return true;
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
// Try constructing with each allowed type until one succeeds
|
|
60
|
-
if (!(tryOne.template operator()<AllowedTypes>() || ...)) {
|
|
61
|
-
throw std::runtime_error("[Reanimated] No compatible type found for construction from: " + folly::toJson(value));
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
template <typename... AllowedTypes>
|
|
66
|
-
bool CSSValueVariant<AllowedTypes...>::operator==(const CSSValueVariant &other) const {
|
|
67
|
-
if (storage_.index() != other.storage_.index()) {
|
|
68
|
-
return false;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
return std::visit(
|
|
72
|
-
[](const auto &lhs, const auto &rhs) {
|
|
73
|
-
REA_IF_SAME_TYPE(lhs, rhs) {
|
|
74
|
-
return lhs == rhs;
|
|
75
|
-
}
|
|
76
|
-
return false;
|
|
77
|
-
},
|
|
78
|
-
storage_,
|
|
79
|
-
other.storage_);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
template <typename... AllowedTypes>
|
|
83
|
-
bool CSSValueVariant<AllowedTypes...>::operator==(const CSSValue &other) const {
|
|
84
|
-
if (auto *o = dynamic_cast<const CSSValueVariant *>(&other)) {
|
|
85
|
-
return *this == *o;
|
|
86
|
-
}
|
|
87
|
-
return false;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
template <typename... AllowedTypes>
|
|
91
|
-
folly::dynamic CSSValueVariant<AllowedTypes...>::toDynamic() const {
|
|
92
|
-
return std::visit([](const auto &v) { return v.toDynamic(); }, storage_);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
template <typename... AllowedTypes>
|
|
96
|
-
std::string CSSValueVariant<AllowedTypes...>::toString() const {
|
|
97
|
-
return std::visit([](const auto &v) { return v.toString(); }, storage_);
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
template <typename... AllowedTypes>
|
|
101
|
-
CSSValueVariant<AllowedTypes...> CSSValueVariant<AllowedTypes...>::interpolate(
|
|
102
|
-
const double progress,
|
|
103
|
-
const CSSValueVariant &to,
|
|
104
|
-
const ValueInterpolationContext &context) const {
|
|
105
|
-
if (storage_.index() != to.storage_.index()) {
|
|
106
|
-
return fallbackInterpolate(progress, to, context.fallbackInterpolateThreshold);
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
return std::visit(
|
|
110
|
-
[&](const auto &fromValue, const auto &toValue) -> CSSValueVariant {
|
|
111
|
-
REA_IF_SAME_TYPE(fromValue, toValue) {
|
|
112
|
-
if constexpr (Resolvable<L>) {
|
|
113
|
-
throw std::runtime_error("[Reanimated] Resolvable value cannot be interpolated as non-resolvable");
|
|
114
|
-
} else if (fromValue.canInterpolateTo(toValue)) {
|
|
115
|
-
return CSSValueVariant(fromValue.interpolate(progress, toValue));
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
return fallbackInterpolate(progress, to, context.fallbackInterpolateThreshold);
|
|
119
|
-
},
|
|
120
|
-
storage_,
|
|
121
|
-
to.storage_);
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
template <typename... AllowedTypes>
|
|
125
|
-
CSSValueVariant<AllowedTypes...> CSSValueVariant<AllowedTypes...>::interpolate(
|
|
126
|
-
const double progress,
|
|
127
|
-
const CSSValueVariant &to,
|
|
128
|
-
const ResolvableValueInterpolationContext &context) const {
|
|
129
|
-
if (storage_.index() != to.storage_.index()) {
|
|
130
|
-
return fallbackInterpolate(progress, to, context.fallbackInterpolateThreshold);
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
return std::visit(
|
|
134
|
-
[&](const auto &fromValue, const auto &toValue) -> CSSValueVariant {
|
|
135
|
-
REA_IF_SAME_TYPE(fromValue, toValue) {
|
|
136
|
-
if constexpr (!Resolvable<L>) {
|
|
137
|
-
throw std::runtime_error("[Reanimated] Non-resolvable value cannot be interpolated as resolvable");
|
|
138
|
-
} else if (fromValue.canInterpolateTo(toValue)) {
|
|
139
|
-
return CSSValueVariant(fromValue.interpolate(progress, toValue, context));
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
return fallbackInterpolate(progress, to, context.fallbackInterpolateThreshold);
|
|
143
|
-
},
|
|
144
|
-
storage_,
|
|
145
|
-
to.storage_);
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
template <typename... AllowedTypes>
|
|
149
|
-
CSSValueVariant<AllowedTypes...> CSSValueVariant<AllowedTypes...>::fallbackInterpolate(
|
|
150
|
-
const double progress,
|
|
151
|
-
const CSSValueVariant &to,
|
|
152
|
-
const double fallbackInterpolateThreshold) const {
|
|
153
|
-
return (progress < fallbackInterpolateThreshold) ? *this : to;
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
template class CSSValueVariant<CSSLength>;
|
|
157
|
-
template class CSSValueVariant<CSSLength, CSSKeyword>;
|
|
158
|
-
template class CSSValueVariant<CSSDouble>;
|
|
159
|
-
template class CSSValueVariant<CSSDouble, CSSKeyword>;
|
|
160
|
-
template class CSSValueVariant<CSSInteger>;
|
|
161
|
-
template class CSSValueVariant<CSSKeyword>;
|
|
162
|
-
template class CSSValueVariant<CSSAngle>;
|
|
163
|
-
template class CSSValueVariant<CSSBoolean>;
|
|
164
|
-
template class CSSValueVariant<CSSColor>;
|
|
165
|
-
template class CSSValueVariant<CSSDisplay>;
|
|
166
|
-
template class CSSValueVariant<CSSBoxShadow>;
|
|
167
|
-
template class CSSValueVariant<CSSDiscreteArray<CSSKeyword>>;
|
|
168
|
-
|
|
169
|
-
template class CSSValueVariant<SVGLength>;
|
|
170
|
-
template class CSSValueVariant<SVGLength, CSSKeyword>;
|
|
171
|
-
template class CSSValueVariant<SVGStrokeDashArray, CSSKeyword>;
|
|
172
|
-
template class CSSValueVariant<SVGBrush>;
|
|
173
|
-
|
|
174
|
-
} // namespace reanimated::css
|
|
1
|
+
#include <reanimated/CSS/common/values/CSSAngle.h>
|
|
2
|
+
#include <reanimated/CSS/common/values/CSSBoolean.h>
|
|
3
|
+
#include <reanimated/CSS/common/values/CSSColor.h>
|
|
4
|
+
#include <reanimated/CSS/common/values/CSSDiscreteArray.h>
|
|
5
|
+
#include <reanimated/CSS/common/values/CSSKeyword.h>
|
|
6
|
+
#include <reanimated/CSS/common/values/CSSLength.h>
|
|
7
|
+
#include <reanimated/CSS/common/values/CSSNumber.h>
|
|
8
|
+
#include <reanimated/CSS/common/values/CSSValueVariant.h>
|
|
9
|
+
#include <reanimated/CSS/common/values/complex/CSSBoxShadow.h>
|
|
10
|
+
#include <reanimated/CSS/svg/values/SVGBrush.h>
|
|
11
|
+
#include <reanimated/CSS/svg/values/SVGLength.h>
|
|
12
|
+
#include <reanimated/CSS/svg/values/SVGStrokeDashArray.h>
|
|
13
|
+
|
|
14
|
+
#include <worklets/Tools/JSISerializer.h>
|
|
15
|
+
|
|
16
|
+
#include <string>
|
|
17
|
+
#include <utility>
|
|
18
|
+
#include <vector>
|
|
19
|
+
|
|
20
|
+
namespace reanimated::css {
|
|
21
|
+
|
|
22
|
+
template <typename... AllowedTypes>
|
|
23
|
+
CSSValueVariant<AllowedTypes...>::CSSValueVariant(std::variant<AllowedTypes...> &&storage)
|
|
24
|
+
: storage_(std::move(storage)) {}
|
|
25
|
+
|
|
26
|
+
template <typename... AllowedTypes>
|
|
27
|
+
CSSValueVariant<AllowedTypes...>::CSSValueVariant(jsi::Runtime &rt, const jsi::Value &jsiValue) {
|
|
28
|
+
auto tryOne = [&]<typename TCSSValue>() -> bool {
|
|
29
|
+
// We have to check in a runtime if the type can be constructed from the
|
|
30
|
+
// provided jsi::Value. The first match will be used to construct the
|
|
31
|
+
// CSS value.
|
|
32
|
+
if (!TCSSValue::canConstruct(rt, jsiValue)) {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
storage_ = TCSSValue(rt, jsiValue);
|
|
36
|
+
return true;
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
// Try constructing with each allowed type until one succeeds
|
|
40
|
+
if (!(tryOne.template operator()<AllowedTypes>() || ...)) {
|
|
41
|
+
throw std::runtime_error(
|
|
42
|
+
"[Reanimated] No compatible type found for construction from: " + worklets::stringifyJSIValue(rt, jsiValue));
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
template <typename... AllowedTypes>
|
|
47
|
+
CSSValueVariant<AllowedTypes...>::CSSValueVariant(const folly::dynamic &value) {
|
|
48
|
+
auto tryOne = [&]<typename TCSSValue>() -> bool {
|
|
49
|
+
// We have to check in a runtime if the type can be constructed from the
|
|
50
|
+
// provided folly::dynamic. The first match will be used to construct the
|
|
51
|
+
// CSS value.
|
|
52
|
+
if (!TCSSValue::canConstruct(value)) {
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
storage_ = TCSSValue(value);
|
|
56
|
+
return true;
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
// Try constructing with each allowed type until one succeeds
|
|
60
|
+
if (!(tryOne.template operator()<AllowedTypes>() || ...)) {
|
|
61
|
+
throw std::runtime_error("[Reanimated] No compatible type found for construction from: " + folly::toJson(value));
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
template <typename... AllowedTypes>
|
|
66
|
+
bool CSSValueVariant<AllowedTypes...>::operator==(const CSSValueVariant &other) const {
|
|
67
|
+
if (storage_.index() != other.storage_.index()) {
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
return std::visit(
|
|
72
|
+
[](const auto &lhs, const auto &rhs) {
|
|
73
|
+
REA_IF_SAME_TYPE(lhs, rhs) {
|
|
74
|
+
return lhs == rhs;
|
|
75
|
+
}
|
|
76
|
+
return false;
|
|
77
|
+
},
|
|
78
|
+
storage_,
|
|
79
|
+
other.storage_);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
template <typename... AllowedTypes>
|
|
83
|
+
bool CSSValueVariant<AllowedTypes...>::operator==(const CSSValue &other) const {
|
|
84
|
+
if (auto *o = dynamic_cast<const CSSValueVariant *>(&other)) {
|
|
85
|
+
return *this == *o;
|
|
86
|
+
}
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
template <typename... AllowedTypes>
|
|
91
|
+
folly::dynamic CSSValueVariant<AllowedTypes...>::toDynamic() const {
|
|
92
|
+
return std::visit([](const auto &v) { return v.toDynamic(); }, storage_);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
template <typename... AllowedTypes>
|
|
96
|
+
std::string CSSValueVariant<AllowedTypes...>::toString() const {
|
|
97
|
+
return std::visit([](const auto &v) { return v.toString(); }, storage_);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
template <typename... AllowedTypes>
|
|
101
|
+
CSSValueVariant<AllowedTypes...> CSSValueVariant<AllowedTypes...>::interpolate(
|
|
102
|
+
const double progress,
|
|
103
|
+
const CSSValueVariant &to,
|
|
104
|
+
const ValueInterpolationContext &context) const {
|
|
105
|
+
if (storage_.index() != to.storage_.index()) {
|
|
106
|
+
return fallbackInterpolate(progress, to, context.fallbackInterpolateThreshold);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
return std::visit(
|
|
110
|
+
[&](const auto &fromValue, const auto &toValue) -> CSSValueVariant {
|
|
111
|
+
REA_IF_SAME_TYPE(fromValue, toValue) {
|
|
112
|
+
if constexpr (Resolvable<L>) {
|
|
113
|
+
throw std::runtime_error("[Reanimated] Resolvable value cannot be interpolated as non-resolvable");
|
|
114
|
+
} else if (fromValue.canInterpolateTo(toValue)) {
|
|
115
|
+
return CSSValueVariant(fromValue.interpolate(progress, toValue));
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return fallbackInterpolate(progress, to, context.fallbackInterpolateThreshold);
|
|
119
|
+
},
|
|
120
|
+
storage_,
|
|
121
|
+
to.storage_);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
template <typename... AllowedTypes>
|
|
125
|
+
CSSValueVariant<AllowedTypes...> CSSValueVariant<AllowedTypes...>::interpolate(
|
|
126
|
+
const double progress,
|
|
127
|
+
const CSSValueVariant &to,
|
|
128
|
+
const ResolvableValueInterpolationContext &context) const {
|
|
129
|
+
if (storage_.index() != to.storage_.index()) {
|
|
130
|
+
return fallbackInterpolate(progress, to, context.fallbackInterpolateThreshold);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
return std::visit(
|
|
134
|
+
[&](const auto &fromValue, const auto &toValue) -> CSSValueVariant {
|
|
135
|
+
REA_IF_SAME_TYPE(fromValue, toValue) {
|
|
136
|
+
if constexpr (!Resolvable<L>) {
|
|
137
|
+
throw std::runtime_error("[Reanimated] Non-resolvable value cannot be interpolated as resolvable");
|
|
138
|
+
} else if (fromValue.canInterpolateTo(toValue)) {
|
|
139
|
+
return CSSValueVariant(fromValue.interpolate(progress, toValue, context));
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
return fallbackInterpolate(progress, to, context.fallbackInterpolateThreshold);
|
|
143
|
+
},
|
|
144
|
+
storage_,
|
|
145
|
+
to.storage_);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
template <typename... AllowedTypes>
|
|
149
|
+
CSSValueVariant<AllowedTypes...> CSSValueVariant<AllowedTypes...>::fallbackInterpolate(
|
|
150
|
+
const double progress,
|
|
151
|
+
const CSSValueVariant &to,
|
|
152
|
+
const double fallbackInterpolateThreshold) const {
|
|
153
|
+
return (progress < fallbackInterpolateThreshold) ? *this : to;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
template class CSSValueVariant<CSSLength>;
|
|
157
|
+
template class CSSValueVariant<CSSLength, CSSKeyword>;
|
|
158
|
+
template class CSSValueVariant<CSSDouble>;
|
|
159
|
+
template class CSSValueVariant<CSSDouble, CSSKeyword>;
|
|
160
|
+
template class CSSValueVariant<CSSInteger>;
|
|
161
|
+
template class CSSValueVariant<CSSKeyword>;
|
|
162
|
+
template class CSSValueVariant<CSSAngle>;
|
|
163
|
+
template class CSSValueVariant<CSSBoolean>;
|
|
164
|
+
template class CSSValueVariant<CSSColor>;
|
|
165
|
+
template class CSSValueVariant<CSSDisplay>;
|
|
166
|
+
template class CSSValueVariant<CSSBoxShadow>;
|
|
167
|
+
template class CSSValueVariant<CSSDiscreteArray<CSSKeyword>>;
|
|
168
|
+
|
|
169
|
+
template class CSSValueVariant<SVGLength>;
|
|
170
|
+
template class CSSValueVariant<SVGLength, CSSKeyword>;
|
|
171
|
+
template class CSSValueVariant<SVGStrokeDashArray, CSSKeyword>;
|
|
172
|
+
template class CSSValueVariant<SVGBrush>;
|
|
173
|
+
|
|
174
|
+
} // namespace reanimated::css
|
package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValueVariant.h
CHANGED
|
@@ -1,111 +1,111 @@
|
|
|
1
|
-
#pragma once
|
|
2
|
-
|
|
3
|
-
#include <reanimated/CSS/common/values/CSSValue.h>
|
|
4
|
-
|
|
5
|
-
#include <folly/json.h>
|
|
6
|
-
|
|
7
|
-
#include <stdexcept>
|
|
8
|
-
#include <string>
|
|
9
|
-
#include <type_traits>
|
|
10
|
-
#include <utility>
|
|
11
|
-
#include <variant>
|
|
12
|
-
|
|
13
|
-
namespace reanimated::css {
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Macro to check if two lambda parameters have the same reference-removed type.
|
|
17
|
-
*
|
|
18
|
-
* Usage:
|
|
19
|
-
* REA_IF_SAME_TYPE(lhs, rhs) {
|
|
20
|
-
* // same-type block
|
|
21
|
-
* } else {
|
|
22
|
-
* // mismatch block
|
|
23
|
-
* }
|
|
24
|
-
*/
|
|
25
|
-
#define REA_IF_SAME_TYPE(lhs, rhs) \
|
|
26
|
-
using L = std::remove_reference_t<decltype(lhs)>; \
|
|
27
|
-
using R = std::remove_reference_t<decltype(rhs)>; \
|
|
28
|
-
if constexpr (std::is_same_v<L, R>) // NOLINT(readability/braces)
|
|
29
|
-
|
|
30
|
-
// Checks whether a type has canConstruct(...) for a generic value
|
|
31
|
-
template <typename TCSSValue, typename TValue>
|
|
32
|
-
concept ValueConstructibleCSSValue = requires(TValue &&value) {
|
|
33
|
-
{ TCSSValue::canConstruct(std::forward<TValue>(value)) } -> std::same_as<bool>;
|
|
34
|
-
}; // NOLINT(readability/braces)
|
|
35
|
-
|
|
36
|
-
// Checks whether a type can be constructed from a jsi::Value
|
|
37
|
-
template <typename TCSSValue>
|
|
38
|
-
concept JSIConstructibleCSSValue = requires(jsi::Runtime &rt, const jsi::Value &value) {
|
|
39
|
-
{ TCSSValue::canConstruct(rt, value) } -> std::same_as<bool>;
|
|
40
|
-
{ TCSSValue(rt, value) } -> std::same_as<TCSSValue>;
|
|
41
|
-
}; // NOLINT(readability/braces)
|
|
42
|
-
|
|
43
|
-
// Checks whether a type can be constructed from a folly::dynamic
|
|
44
|
-
template <typename TCSSValue>
|
|
45
|
-
concept DynamicConstructibleCSSValue = requires(const folly::dynamic &value) {
|
|
46
|
-
{ TCSSValue::canConstruct(value) } -> std::same_as<bool>;
|
|
47
|
-
{ TCSSValue(value) } -> std::same_as<TCSSValue>;
|
|
48
|
-
}; // NOLINT(readability/braces)
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* CSSValueVariant
|
|
52
|
-
*
|
|
53
|
-
* A std::variant-based container for multiple CSSValue-derived types.
|
|
54
|
-
*/
|
|
55
|
-
template <typename... AllowedTypes>
|
|
56
|
-
class CSSValueVariant final : public CSSValue {
|
|
57
|
-
static_assert(
|
|
58
|
-
(JSIConstructibleCSSValue<AllowedTypes> && ...),
|
|
59
|
-
"CSSValueVariant accepts only types that can be constructed from a jsi::Value");
|
|
60
|
-
static_assert(
|
|
61
|
-
(DynamicConstructibleCSSValue<AllowedTypes> && ...),
|
|
62
|
-
"CSSValueVariant accepts only types that can be constructed from a folly::dynamic");
|
|
63
|
-
|
|
64
|
-
public:
|
|
65
|
-
CSSValueVariant() = default;
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Construct from std::variant storage directly
|
|
69
|
-
*/
|
|
70
|
-
explicit CSSValueVariant(std::variant<AllowedTypes...> &&storage);
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Construct from jsi::Value if it matches any AllowedType's constructor
|
|
74
|
-
* (chooses the first one that matches)
|
|
75
|
-
*/
|
|
76
|
-
explicit CSSValueVariant(jsi::Runtime &rt, const jsi::Value &jsiValue);
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* Construct from folly::dynamic if it matches any AllowedType's constructor
|
|
80
|
-
* (chooses the first one that matches)
|
|
81
|
-
*/
|
|
82
|
-
explicit CSSValueVariant(const folly::dynamic &value);
|
|
83
|
-
|
|
84
|
-
bool operator==(const CSSValueVariant &other) const;
|
|
85
|
-
bool operator==(const CSSValue &other) const;
|
|
86
|
-
|
|
87
|
-
folly::dynamic toDynamic() const override;
|
|
88
|
-
std::string toString() const override;
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* Interpolate (non-resolvable)
|
|
92
|
-
*/
|
|
93
|
-
CSSValueVariant
|
|
94
|
-
interpolate(const double progress, const CSSValueVariant &to, const ValueInterpolationContext &context) const;
|
|
95
|
-
|
|
96
|
-
/**
|
|
97
|
-
* Interpolate (resolvable)
|
|
98
|
-
*/
|
|
99
|
-
CSSValueVariant interpolate(
|
|
100
|
-
const double progress,
|
|
101
|
-
const CSSValueVariant &to,
|
|
102
|
-
const ResolvableValueInterpolationContext &context) const;
|
|
103
|
-
|
|
104
|
-
private:
|
|
105
|
-
std::variant<AllowedTypes...> storage_;
|
|
106
|
-
|
|
107
|
-
CSSValueVariant
|
|
108
|
-
fallbackInterpolate(const double progress, const CSSValueVariant &to, double fallbackInterpolateThreshold) const;
|
|
109
|
-
};
|
|
110
|
-
|
|
111
|
-
} // namespace reanimated::css
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
#include <reanimated/CSS/common/values/CSSValue.h>
|
|
4
|
+
|
|
5
|
+
#include <folly/json.h>
|
|
6
|
+
|
|
7
|
+
#include <stdexcept>
|
|
8
|
+
#include <string>
|
|
9
|
+
#include <type_traits>
|
|
10
|
+
#include <utility>
|
|
11
|
+
#include <variant>
|
|
12
|
+
|
|
13
|
+
namespace reanimated::css {
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Macro to check if two lambda parameters have the same reference-removed type.
|
|
17
|
+
*
|
|
18
|
+
* Usage:
|
|
19
|
+
* REA_IF_SAME_TYPE(lhs, rhs) {
|
|
20
|
+
* // same-type block
|
|
21
|
+
* } else {
|
|
22
|
+
* // mismatch block
|
|
23
|
+
* }
|
|
24
|
+
*/
|
|
25
|
+
#define REA_IF_SAME_TYPE(lhs, rhs) \
|
|
26
|
+
using L = std::remove_reference_t<decltype(lhs)>; \
|
|
27
|
+
using R = std::remove_reference_t<decltype(rhs)>; \
|
|
28
|
+
if constexpr (std::is_same_v<L, R>) // NOLINT(readability/braces)
|
|
29
|
+
|
|
30
|
+
// Checks whether a type has canConstruct(...) for a generic value
|
|
31
|
+
template <typename TCSSValue, typename TValue>
|
|
32
|
+
concept ValueConstructibleCSSValue = requires(TValue &&value) {
|
|
33
|
+
{ TCSSValue::canConstruct(std::forward<TValue>(value)) } -> std::same_as<bool>;
|
|
34
|
+
}; // NOLINT(readability/braces)
|
|
35
|
+
|
|
36
|
+
// Checks whether a type can be constructed from a jsi::Value
|
|
37
|
+
template <typename TCSSValue>
|
|
38
|
+
concept JSIConstructibleCSSValue = requires(jsi::Runtime &rt, const jsi::Value &value) {
|
|
39
|
+
{ TCSSValue::canConstruct(rt, value) } -> std::same_as<bool>;
|
|
40
|
+
{ TCSSValue(rt, value) } -> std::same_as<TCSSValue>;
|
|
41
|
+
}; // NOLINT(readability/braces)
|
|
42
|
+
|
|
43
|
+
// Checks whether a type can be constructed from a folly::dynamic
|
|
44
|
+
template <typename TCSSValue>
|
|
45
|
+
concept DynamicConstructibleCSSValue = requires(const folly::dynamic &value) {
|
|
46
|
+
{ TCSSValue::canConstruct(value) } -> std::same_as<bool>;
|
|
47
|
+
{ TCSSValue(value) } -> std::same_as<TCSSValue>;
|
|
48
|
+
}; // NOLINT(readability/braces)
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* CSSValueVariant
|
|
52
|
+
*
|
|
53
|
+
* A std::variant-based container for multiple CSSValue-derived types.
|
|
54
|
+
*/
|
|
55
|
+
template <typename... AllowedTypes>
|
|
56
|
+
class CSSValueVariant final : public CSSValue {
|
|
57
|
+
static_assert(
|
|
58
|
+
(JSIConstructibleCSSValue<AllowedTypes> && ...),
|
|
59
|
+
"CSSValueVariant accepts only types that can be constructed from a jsi::Value");
|
|
60
|
+
static_assert(
|
|
61
|
+
(DynamicConstructibleCSSValue<AllowedTypes> && ...),
|
|
62
|
+
"CSSValueVariant accepts only types that can be constructed from a folly::dynamic");
|
|
63
|
+
|
|
64
|
+
public:
|
|
65
|
+
CSSValueVariant() = default;
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Construct from std::variant storage directly
|
|
69
|
+
*/
|
|
70
|
+
explicit CSSValueVariant(std::variant<AllowedTypes...> &&storage);
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Construct from jsi::Value if it matches any AllowedType's constructor
|
|
74
|
+
* (chooses the first one that matches)
|
|
75
|
+
*/
|
|
76
|
+
explicit CSSValueVariant(jsi::Runtime &rt, const jsi::Value &jsiValue);
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Construct from folly::dynamic if it matches any AllowedType's constructor
|
|
80
|
+
* (chooses the first one that matches)
|
|
81
|
+
*/
|
|
82
|
+
explicit CSSValueVariant(const folly::dynamic &value);
|
|
83
|
+
|
|
84
|
+
bool operator==(const CSSValueVariant &other) const;
|
|
85
|
+
bool operator==(const CSSValue &other) const;
|
|
86
|
+
|
|
87
|
+
folly::dynamic toDynamic() const override;
|
|
88
|
+
std::string toString() const override;
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Interpolate (non-resolvable)
|
|
92
|
+
*/
|
|
93
|
+
CSSValueVariant
|
|
94
|
+
interpolate(const double progress, const CSSValueVariant &to, const ValueInterpolationContext &context) const;
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Interpolate (resolvable)
|
|
98
|
+
*/
|
|
99
|
+
CSSValueVariant interpolate(
|
|
100
|
+
const double progress,
|
|
101
|
+
const CSSValueVariant &to,
|
|
102
|
+
const ResolvableValueInterpolationContext &context) const;
|
|
103
|
+
|
|
104
|
+
private:
|
|
105
|
+
std::variant<AllowedTypes...> storage_;
|
|
106
|
+
|
|
107
|
+
CSSValueVariant
|
|
108
|
+
fallbackInterpolate(const double progress, const CSSValueVariant &to, double fallbackInterpolateThreshold) const;
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
} // namespace reanimated::css
|