diff --git a/lib/element.ts b/lib/element.ts index 5dc5c7c06..e3e476dea 100644 --- a/lib/element.ts +++ b/lib/element.ts @@ -228,7 +228,7 @@ export class ElementArrayFinder extends WebdriverWebElement { * array * of element that satisfy the filter function. */ - filter(filterFn: Function): ElementArrayFinder { + filter(filterFn: (element: ElementFinder, index?: number) => any): ElementArrayFinder { let getWebElements = (): wdpromise.Promise => { return this.getWebElements().then((parentWebElements: WebElement[]) => { let list = parentWebElements.map((parentWebElement: WebElement, index: number) => { @@ -483,7 +483,7 @@ export class ElementArrayFinder extends WebdriverWebElement { * @returns {Array.} Return a promise, which resolves to a list * of ElementFinders specified by the locator. */ - asElementFinders_(): wdpromise.Promise { + asElementFinders_(): wdpromise.Promise { return this.getWebElements().then((arr: WebElement[]) => { return arr.map((webElem: WebElement) => { return ElementFinder.fromWebElement_(this.browser_, webElem, this.locator_); @@ -521,9 +521,9 @@ export class ElementArrayFinder extends WebdriverWebElement { * @returns {!webdriver.promise.Promise} A promise which will resolve to * an array of ElementFinders represented by the ElementArrayFinder. */ - then( - fn?: (value: ElementFinder[]) => any | wdpromise.IThenable, - errorFn?: (error: any) => any): wdpromise.Promise { + then( + fn?: (value: ElementFinder[]) => T | wdpromise.IThenable, + errorFn?: (error: any) => any): wdpromise.Promise { if (this.actionResults_) { return this.actionResults_.then(fn, errorFn); } else { @@ -619,7 +619,7 @@ export class ElementArrayFinder extends WebdriverWebElement { * @returns {!webdriver.promise.Promise} A promise that resolves to an array * of values returned by the map function. */ - map(mapFn: (elementFinder?: ElementFinder, index?: number) => any): wdpromise.Promise { + map(mapFn: (elementFinder?: ElementFinder, index?: number) => T): wdpromise.Promise { return this.asElementFinders_().then((arr: ElementFinder[]) => { let list = arr.map((elementFinder?: ElementFinder, index?: number) => { let mapResult = mapFn(elementFinder, index);