|
|
@@ -38,19 +38,18 @@ export type EmitsOptions = ObjectEmitsOptions | string[]
|
|
|
|
|
|
export type EmitsToProps<T extends EmitsOptions> = T extends string[]
|
|
|
? {
|
|
|
- [K in string & `on${Capitalize<T[number]>}`]?: (...args: any[]) => any
|
|
|
+ [K in `on${Capitalize<T[number]>}`]?: (...args: any[]) => any
|
|
|
}
|
|
|
: T extends ObjectEmitsOptions
|
|
|
? {
|
|
|
- [K in string &
|
|
|
- `on${Capitalize<string & keyof T>}`]?: K extends `on${infer C}`
|
|
|
- ? T[Uncapitalize<C>] extends null
|
|
|
- ? (...args: any[]) => any
|
|
|
- : (
|
|
|
- ...args: T[Uncapitalize<C>] extends (...args: infer P) => any
|
|
|
- ? P
|
|
|
+ [K in `on${Capitalize<string & keyof T>}`]?: K extends `on${infer C}`
|
|
|
+ ? (
|
|
|
+ ...args: T[Uncapitalize<C>] extends (...args: infer P) => any
|
|
|
+ ? P
|
|
|
+ : T[Uncapitalize<C>] extends null
|
|
|
+ ? any[]
|
|
|
: never
|
|
|
- ) => any
|
|
|
+ ) => any
|
|
|
: never
|
|
|
}
|
|
|
: {}
|