From 4cd50aee78e29d478ad27364256cf41af4ebc75d Mon Sep 17 00:00:00 2001 From: Moti Zilberman Date: Fri, 11 Feb 2022 06:01:04 -0800 Subject: [PATCH] Make TimingAnimationConfig read-only Summary: Makes `TimingAnimationConfig` read-only, as it's purely an input type. Changelog: [Internal] Reviewed By: yungsters Differential Revision: D34146703 fbshipit-source-id: 77ac7ee0641a869b62e5f95b6a7f711c71e82c7d --- Libraries/Animated/AnimatedImplementation.js | 2 +- Libraries/Animated/NativeAnimatedHelper.js | 2 +- Libraries/Animated/animations/TimingAnimation.js | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Libraries/Animated/AnimatedImplementation.js b/Libraries/Animated/AnimatedImplementation.js index e93c0dda4cc..79fbc8a45c0 100644 --- a/Libraries/Animated/AnimatedImplementation.js +++ b/Libraries/Animated/AnimatedImplementation.js @@ -91,7 +91,7 @@ const diffClamp = function ( const _combineCallbacks = function ( callback: ?EndCallback, - config: {...AnimationConfig, ...}, + config: $ReadOnly<{...AnimationConfig, ...}>, ) { if (callback && config.onComplete) { return (...args) => { diff --git a/Libraries/Animated/NativeAnimatedHelper.js b/Libraries/Animated/NativeAnimatedHelper.js index 363a4e05b30..204f35900ef 100644 --- a/Libraries/Animated/NativeAnimatedHelper.js +++ b/Libraries/Animated/NativeAnimatedHelper.js @@ -368,7 +368,7 @@ function assertNativeAnimatedModule(): void { let _warnedMissingNativeAnimated = false; function shouldUseNativeDriver( - config: {...AnimationConfig, ...} | EventConfig, + config: $ReadOnly<{...AnimationConfig, ...}> | EventConfig, ): boolean { if (config.useNativeDriver == null) { console.warn( diff --git a/Libraries/Animated/animations/TimingAnimation.js b/Libraries/Animated/animations/TimingAnimation.js index 748bb47cc6f..859a5755f25 100644 --- a/Libraries/Animated/animations/TimingAnimation.js +++ b/Libraries/Animated/animations/TimingAnimation.js @@ -23,7 +23,7 @@ import type {RgbaValue} from '../nodes/AnimatedColor'; import AnimatedColor from '../nodes/AnimatedColor'; -export type TimingAnimationConfig = { +export type TimingAnimationConfig = $ReadOnly<{ ...AnimationConfig, toValue: | number @@ -40,15 +40,15 @@ export type TimingAnimationConfig = { easing?: (value: number) => number, duration?: number, delay?: number, -}; +}>; -export type TimingAnimationConfigSingle = { +export type TimingAnimationConfigSingle = $ReadOnly<{ ...AnimationConfig, toValue: number | AnimatedValue | AnimatedInterpolation, easing?: (value: number) => number, duration?: number, delay?: number, -}; +}>; let _easeInOut; function easeInOut() {