From 7fe8d7b4be8916ce54830ed2ed179a96efc3ec0e Mon Sep 17 00:00:00 2001 From: moil-xm <64048303+moil-xm@users.noreply.github.com> Date: Tue, 10 Feb 2026 16:13:36 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20ts=20=E9=94=99=E8=AF=AF:=20=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E5=AE=9E=E4=BE=8B=E5=8C=96=E8=BF=87=E6=B7=B1=EF=BC=8C?= =?UTF-8?q?=E4=B8=94=E5=8F=AF=E8=83=BD=E6=97=A0=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/@core/base/typings/src/helper.d.ts | 34 ++++++++++++++++----- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/packages/@core/base/typings/src/helper.d.ts b/packages/@core/base/typings/src/helper.d.ts index 96d4f37b..737b6157 100644 --- a/packages/@core/base/typings/src/helper.d.ts +++ b/packages/@core/base/typings/src/helper.d.ts @@ -1,20 +1,38 @@ import type { ComputedRef, MaybeRef } from 'vue'; +/** + * 类型级递归中增加深度计数 + */ +type Increment = [...A, unknown]; /** * 深层递归所有属性为可选 */ -type DeepPartial = T extends object - ? { - [P in keyof T]?: DeepPartial; - } - : T; +type DeepPartial< + T, + D extends number = 10, + C extends unknown[] = [], +> = C['length'] extends D + ? T + : T extends object + ? { + [P in keyof T]?: DeepPartial>; + } + : T; /** * 深层递归所有属性为只读 */ -type DeepReadonly = { - readonly [P in keyof T]: T[P] extends object ? DeepReadonly : T[P]; -}; +type DeepReadonly< + T, + D extends number = 10, + C extends unknown[] = [], +> = C['length'] extends D + ? T + : T extends object + ? { + readonly [P in keyof T]: DeepReadonly>; + } + : T; /** * 任意类型的异步函数