Skip to content

Commit a0528ca

Browse files
authored
fix: improve filter typing (#1077)
1 parent 71b698d commit a0528ca

File tree

2 files changed

+16
-6
lines changed

2 files changed

+16
-6
lines changed

Diff for: packages/test-utils/types/index.d.ts

+11-5
Original file line numberDiff line numberDiff line change
@@ -113,11 +113,17 @@ export interface Wrapper<V extends Vue | null> extends BaseWrapper {
113113
}
114114

115115
export interface WrapperArray<V extends Vue> extends BaseWrapper {
116-
readonly length: number
117-
readonly wrappers: Array<Wrapper<V>>
118-
119-
at (index: number): Wrapper<V>
120-
filter (predicate: Function): WrapperArray<Vue>
116+
readonly length: number;
117+
readonly wrappers: Array<Wrapper<V>>;
118+
119+
at(index: number): Wrapper<V>;
120+
filter(
121+
predicate: (
122+
value: Wrapper<V>,
123+
index: number,
124+
array: Wrapper<V>[]
125+
) => any
126+
): WrapperArray<Vue>;
121127
}
122128

123129
interface WrapperOptions {

Diff for: packages/test-utils/types/test/wrapper.ts

+5-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,11 @@ wrapper.attributes('foo')
7979
*/
8080
let num: number = array.length
8181
found = array.at(1)
82-
array = array.filter((a: any) => a === true)
82+
array = array.filter((w, i, arr) => {
83+
i + 2
84+
arr.length
85+
return w.is('div')
86+
})
8387

8488
let createdWrapper = createWrapper(new Vue().$mount())
8589
createdWrapper.text()

0 commit comments

Comments
 (0)