From 915da6f9153dda64f591a8474fa49d9a8f4d430c Mon Sep 17 00:00:00 2001 From: James Chen Date: Thu, 23 Jan 2025 09:16:17 +0800 Subject: [PATCH] Fix some type issues. (#18241) --- cocos/core/curves/bezier.ts | 19 +++++++++---------- cocos/core/curves/curve.ts | 2 +- cocos/core/curves/keyframe-curve.ts | 2 +- cocos/core/curves/keys-shared-curves.ts | 3 +-- cocos/core/curves/quat-curve.ts | 2 +- 5 files changed, 13 insertions(+), 15 deletions(-) diff --git a/cocos/core/curves/bezier.ts b/cocos/core/curves/bezier.ts index 8aebb3dec68..b039bff7cab 100644 --- a/cocos/core/curves/bezier.ts +++ b/cocos/core/curves/bezier.ts @@ -43,9 +43,9 @@ const sqrt = Math.sqrt; function crt (v: number): number { if (v < 0) { - return -Math.pow(-v, 1 / 3); + return -((-v) ** (1 / 3)); } else { - return Math.pow(v, 1 / 3); + return v ** (1 / 3); } } @@ -85,11 +85,11 @@ function cardano (curve: BezierControlPoints, x: number): any { // and determine the discriminant: const discriminant = q2 * q2 + p3 * p3 * p3; // and some reserved variables - let u1; - let v1; - let x1; - let x2; - let x3; + let u1: number; + let v1: number; + let x1: number; + let x2: number; + let x3: number; // If the discriminant is negative, use polar coordinates // to get around square roots of negative numbers @@ -144,9 +144,8 @@ function cardano (curve: BezierControlPoints, x: number): any { } else { return x2; } - } - // one real root, and two imaginary roots - else { + } else { + // one real root, and two imaginary roots const sd = sqrt(discriminant); u1 = crt(-q2 + sd); v1 = crt(q2 + sd); diff --git a/cocos/core/curves/curve.ts b/cocos/core/curves/curve.ts index 5cda1b9b096..6c550bcabc6 100644 --- a/cocos/core/curves/curve.ts +++ b/cocos/core/curves/curve.ts @@ -464,7 +464,7 @@ export class RealCurve extends KeyframeCurve { if (values !== undefined) { assertIsTrue(Array.isArray(times)); this.setKeyframes( - times.slice(), + (times as number[]).slice(), values.map((value) => createRealKeyframeValue(value)), ); } else { diff --git a/cocos/core/curves/keyframe-curve.ts b/cocos/core/curves/keyframe-curve.ts index f7b6a88826d..b8a4e48cf04 100644 --- a/cocos/core/curves/keyframe-curve.ts +++ b/cocos/core/curves/keyframe-curve.ts @@ -222,7 +222,7 @@ export class KeyframeCurve implements CurveBase, Iterable { if (values !== undefined) { assertIsTrue(Array.isArray(times)); this.setKeyframes( - times.slice(), + (times as number[]).slice(), values.map((value) => createQuatKeyframeValue(value)), ); } else {