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>(
8080
8181type ResolveComponentEmitKeys < T > = keyof ResolveEmitRecord < T >
8282
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+
8391type ResolveEmitRecord < T > = ExtractComponentEmits < T > extends infer E
8492 ? [ E ] extends [ Array < infer EE extends string > ]
8593 ? Record < EE , any [ ] >
8694 : {
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 ] > [ ]
9496 }
9597 : never
9698
You can’t perform that action at this time.
0 commit comments