Skip to content

Commit b8fe144

Browse files
committed
chore: add overloads for classes method
1 parent 62e8c8f commit b8fe144

File tree

3 files changed

+12
-2
lines changed

3 files changed

+12
-2
lines changed

src/dom-wrapper.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@ export class DOMWrapper<ElementType extends Element> {
1010
this.element = element
1111
}
1212

13-
classes(className?: string) {
13+
classes(): string[]
14+
classes(className: string): boolean
15+
classes(className?: string): string[] | boolean {
1416
const classes = this.element.classList
1517

1618
if (className) return classes.contains(className)

src/vue-wrapper.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,9 @@ export class VueWrapper<T extends ComponentPublicInstance> {
5050
return selector ? props[selector] : props
5151
}
5252

53-
classes(className?: string) {
53+
classes(): string[]
54+
classes(className: string): boolean
55+
classes(className?: string): string[] | boolean {
5456
return new DOMWrapper(this.element).classes(className)
5557
}
5658

test-dts/wrapper.d-test.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,3 +92,9 @@ expectType<{ [key: string]: string }>(wrapper.attributes())
9292
expectType<string>(wrapper.attributes('key'))
9393
expectType<{ [key: string]: string }>(domWrapper.attributes())
9494
expectType<string>(domWrapper.attributes('key'))
95+
96+
// classes
97+
expectType<Array<string>>(wrapper.classes())
98+
expectType<boolean>(wrapper.classes('class'))
99+
expectType<Array<string>>(domWrapper.classes())
100+
expectType<boolean>(domWrapper.classes('class'))

0 commit comments

Comments
 (0)