diff --git a/packages/runtime-core/src/componentEmits.ts b/packages/runtime-core/src/componentEmits.ts index dddb2e945..b1be1c9ed 100644 --- a/packages/runtime-core/src/componentEmits.ts +++ b/packages/runtime-core/src/componentEmits.ts @@ -57,16 +57,13 @@ export type EmitsToProps = } : {} -export type TypeEmitsToOptions = - T extends Record - ? { - [K in keyof T]: T[K] extends [...args: infer Args] - ? (...args: Args) => any - : () => any - } - : T extends (...args: any[]) => any - ? ParametersToFns> - : {} +export type TypeEmitsToOptions = { + [K in keyof T & string]: T[K] extends [...args: infer Args] + ? (...args: Args) => any + : () => any +} & (T extends (...args: any[]) => any + ? ParametersToFns> + : {}) type ParametersToFns = { [K in T[0]]: K extends `${infer C}`