From a0528ca84a90ba83fd99c54b1ded855cdb6e1c08 Mon Sep 17 00:00:00 2001 From: Edd Yerburgh Date: Sun, 23 Dec 2018 12:10:44 +0000 Subject: [PATCH] fix: improve filter typing (#1077) --- packages/test-utils/types/index.d.ts | 16 +++++++++++----- packages/test-utils/types/test/wrapper.ts | 6 +++++- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/packages/test-utils/types/index.d.ts b/packages/test-utils/types/index.d.ts index b81c4cc7d..43cc3ff04 100644 --- a/packages/test-utils/types/index.d.ts +++ b/packages/test-utils/types/index.d.ts @@ -113,11 +113,17 @@ export interface Wrapper extends BaseWrapper { } export interface WrapperArray extends BaseWrapper { - readonly length: number - readonly wrappers: Array> - - at (index: number): Wrapper - filter (predicate: Function): WrapperArray + readonly length: number; + readonly wrappers: Array>; + + at(index: number): Wrapper; + filter( + predicate: ( + value: Wrapper, + index: number, + array: Wrapper[] + ) => any + ): WrapperArray; } interface WrapperOptions { diff --git a/packages/test-utils/types/test/wrapper.ts b/packages/test-utils/types/test/wrapper.ts index 222030e16..c5f2607db 100644 --- a/packages/test-utils/types/test/wrapper.ts +++ b/packages/test-utils/types/test/wrapper.ts @@ -79,7 +79,11 @@ wrapper.attributes('foo') */ let num: number = array.length found = array.at(1) -array = array.filter((a: any) => a === true) +array = array.filter((w, i, arr) => { + i + 2 + arr.length + return w.is('div') +}) let createdWrapper = createWrapper(new Vue().$mount()) createdWrapper.text()