From: 丶远方 Date: Mon, 11 Dec 2023 12:01:36 +0000 (+0800) Subject: refactor(types): simplify `EmitsToProps` types (#9788) X-Git-Tag: v3.4.0-beta.1~23^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a6503e3e77b04a1ab8c07078e07091b06d51131d;p=thirdparty%2Fvuejs%2Fcore.git refactor(types): simplify `EmitsToProps` types (#9788) --- diff --git a/packages/runtime-core/src/componentEmits.ts b/packages/runtime-core/src/componentEmits.ts index f3a30f7c95..d56877adb5 100644 --- a/packages/runtime-core/src/componentEmits.ts +++ b/packages/runtime-core/src/componentEmits.ts @@ -38,19 +38,18 @@ export type EmitsOptions = ObjectEmitsOptions | string[] export type EmitsToProps = T extends string[] ? { - [K in string & `on${Capitalize}`]?: (...args: any[]) => any + [K in `on${Capitalize}`]?: (...args: any[]) => any } : T extends ObjectEmitsOptions ? { - [K in string & - `on${Capitalize}`]?: K extends `on${infer C}` - ? T[Uncapitalize] extends null - ? (...args: any[]) => any - : ( - ...args: T[Uncapitalize] extends (...args: infer P) => any - ? P + [K in `on${Capitalize}`]?: K extends `on${infer C}` + ? ( + ...args: T[Uncapitalize] extends (...args: infer P) => any + ? P + : T[Uncapitalize] extends null + ? any[] : never - ) => any + ) => any : never } : {}