Skip to content

Commit f4934bf

Browse files
committed
fix
1 parent 346b860 commit f4934bf

File tree

2 files changed

+6
-22
lines changed

2 files changed

+6
-22
lines changed

src/vueWrapper.ts

Lines changed: 5 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@ import {
33
App,
44
ComponentPublicInstance,
55
VNode,
6-
ExtractComponentEmits,
7-
ComponentCustomProperties
6+
ExtractComponentEmits
87
} from 'vue'
98

109
import { config } from './config'
@@ -95,23 +94,9 @@ type ResolveEmitRecord<T> = ExtractComponentEmits<T> extends infer E
9594
}
9695
: never
9796

98-
declare const aaa: keyof Omit<
99-
ComponentPublicInstance,
100-
keyof ComponentCustomProperties
101-
>
102-
103-
// type BetterKeys = keyof Omit<
104-
// ComponentPublicInstance,
105-
// keyof ComponentCustomProperties
106-
// >
107-
// export type ComponentInstance = {
108-
// [K in keyof ComponentPublicInstance]?: any
109-
// } & Record<PropertyKey, any>
110-
11197
export class VueWrapper<
112-
T extends Omit<ComponentPublicInstance, '$emit'> & {
113-
$emit: any
114-
} = ComponentPublicInstance
98+
VM = unknown,
99+
T extends ComponentPublicInstance = ComponentPublicInstance & VM
115100
> extends BaseWrapper<Node> {
116101
private readonly componentVM: T
117102
private readonly rootVM: ComponentPublicInstance | undefined | null
@@ -251,7 +236,6 @@ export class VueWrapper<
251236
get vm(): T {
252237
return this.componentVM
253238
}
254-
255239
props(): T['$props']
256240
props<Selector extends keyof T['$props']>(
257241
selector: Selector
@@ -264,9 +248,9 @@ export class VueWrapper<
264248
}
265249

266250
emitted(): ResolveEmitRecord<T>
267-
emitted<E extends ResolveComponentEmitKeys<T>>(
251+
emitted<E extends ResolveComponentEmitKeys<VM>>(
268252
eventName: E
269-
): undefined | ResolveEmitRecord<T>[E]
253+
): undefined | ResolveEmitRecord<VM>[E]
270254
emitted(eventName?: string) {
271255
return emitted(this.vm, eventName)
272256
}

src/wrapperFactory.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { ComponentPublicInstance, App } from 'vue'
1+
import { App, ComponentPublicInstance } from 'vue'
22
import type { DOMWrapper as DOMWrapperType } from './domWrapper'
33
import type { VueWrapper as VueWrapperType } from './vueWrapper'
44

0 commit comments

Comments
 (0)