File tree Expand file tree Collapse file tree 1 file changed +9
-7
lines changed Expand file tree Collapse file tree 1 file changed +9
-7
lines changed Original file line number Diff line number Diff line change @@ -80,17 +80,19 @@ function createVMProxy<T extends ComponentPublicInstance>(
80
80
81
81
type ResolveComponentEmitKeys < T > = keyof ResolveEmitRecord < T >
82
82
83
+ type ExtractEmitType < T > = T extends ( ...args : infer Args ) => any
84
+ ? Args extends { length : 0 }
85
+ ? void
86
+ : Args extends { length : 1 }
87
+ ? Args [ 0 ]
88
+ : Args
89
+ : void
90
+
83
91
type ResolveEmitRecord < T > = ExtractComponentEmits < T > extends infer E
84
92
? [ E ] extends [ Array < infer EE extends string > ]
85
93
? Record < EE , any [ ] >
86
94
: {
87
- [ K in keyof E ] : ( E [ K ] extends ( ...args : infer Args ) => any
88
- ? Args extends { length : 0 }
89
- ? void
90
- : Args extends { length : 1 }
91
- ? Args [ 0 ]
92
- : Args
93
- : void ) [ ]
95
+ [ K in keyof E ] : ExtractEmitType < E [ K ] > [ ]
94
96
}
95
97
: never
96
98
You can’t perform that action at this time.
0 commit comments