Skip to content
This repository was archived by the owner on Jul 29, 2024. It is now read-only.

Commit e6475ae

Browse files
authored
chore(types): fix transpile errors related to IThenable (#3650)
1 parent cc45940 commit e6475ae

File tree

4 files changed

+38
-38
lines changed

4 files changed

+38
-38
lines changed

lib/browser.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -758,7 +758,7 @@ export class ProtractorBrowser extends Webdriver {
758758
clientSideScripts.testForAngular, msg('test for angular'),
759759
Math.floor(timeout / 1000), this.ng12Hybrid)
760760
.then(
761-
(angularTestResult: {ver: string, message: string}) => {
761+
(angularTestResult: {ver: number, message: string}) => {
762762
let angularVersion = angularTestResult.ver;
763763
if (!angularVersion) {
764764
let message = angularTestResult.message;

lib/driverProviders/driverProvider.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44
* it down, and setting up the driver correctly.
55
*/
66
import * as q from 'q';
7+
78
import {Config} from '../config';
9+
810
let webdriver = require('selenium-webdriver');
911

1012
export class DriverProvider {
@@ -61,7 +63,7 @@ export class DriverProvider {
6163
if (driver.getSession() === undefined) {
6264
deferred.resolve();
6365
} else {
64-
driver.getSession().then((session_: string) => {
66+
driver.getSession().then((session_) => {
6567
if (session_) {
6668
driver.quit().then(function() {
6769
deferred.resolve();

lib/element.ts

Lines changed: 32 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -178,32 +178,25 @@ export class ElementArrayFinder extends WebdriverWebElement {
178178
}
179179
});
180180
} else {
181-
return this.getWebElements().then(
182-
(parentWebElements: webdriver.WebElement[]) => {
183-
// For each parent web element, find their children and construct
184-
// a
185-
// list of Promise<List<child_web_element>>
186-
let childrenPromiseList = parentWebElements.map(
187-
(parentWebElement: webdriver.WebElement) => {
188-
return locator.findElementsOverride ?
189-
locator.findElementsOverride(
190-
ptor.driver, parentWebElement, ptor.rootEl) :
191-
parentWebElement.findElements(locator);
192-
});
181+
return this.getWebElements().then((parentWebElements: WebElement[]) => {
182+
// For each parent web element, find their children and construct
183+
// a list of Promise<List<child_web_element>>
184+
let childrenPromiseList = parentWebElements.map(
185+
(parentWebElement: webdriver.WebElement) => {
186+
return locator.findElementsOverride ?
187+
locator.findElementsOverride(
188+
ptor.driver, parentWebElement, ptor.rootEl) :
189+
parentWebElement.findElements(locator);
190+
});
193191

194-
// Resolve the list of Promise<List<child_web_elements>> and merge
195-
// into
196-
// a single list
197-
return wdpromise.all(childrenPromiseList)
198-
.then((resolved: webdriver.WebElement[]) => {
199-
return resolved.reduce(
200-
(childrenList: webdriver.WebElement[],
201-
resolvedE: webdriver.WebElement) => {
202-
return childrenList.concat(resolvedE);
203-
},
204-
[]);
205-
});
206-
});
192+
// Resolve the list of Promise<List<child_web_elements>> and merge
193+
// into a single list
194+
return wdpromise.all(childrenPromiseList).then((resolved) => {
195+
return resolved.reduce((childrenList, resolvedE) => {
196+
return childrenList.concat(resolvedE);
197+
}, []);
198+
});
199+
});
207200
}
208201
};
209202
return new ElementArrayFinder(this.browser_, getWebElements, locator);
@@ -501,7 +494,9 @@ export class ElementArrayFinder extends WebdriverWebElement {
501494
* @returns {!webdriver.promise.Promise} A promise which will resolve to
502495
* an array of ElementFinders represented by the ElementArrayFinder.
503496
*/
504-
then(fn?: Function, errorFn?: Function): wdpromise.Promise<any[]> {
497+
then(
498+
fn?: (value: any) => {} | wdpromise.IThenable<{}>,
499+
errorFn?: (error: any) => any): wdpromise.Promise<any[]> {
505500
if (this.actionResults_) {
506501
return this.actionResults_.then(fn, errorFn);
507502
} else {
@@ -726,7 +721,7 @@ export class ElementArrayFinder extends WebdriverWebElement {
726721
export class ElementFinder extends WebdriverWebElement {
727722
parentElementArrayFinder: ElementArrayFinder;
728723
elementArrayFinder_: ElementArrayFinder;
729-
then: (fn: Function, errorFn: Function) => wdpromise.Promise<any> = null;
724+
then: (fn: Function, errorFn?: Function) => wdpromise.Promise<any> = null;
730725

731726
constructor(
732727
public browser_: ProtractorBrowser,
@@ -751,14 +746,16 @@ export class ElementFinder extends WebdriverWebElement {
751746
* of
752747
* evaluating fn.
753748
*/
754-
this.then = (fn: Function, errorFn: Function) => {
755-
return this.elementArrayFinder_.then((actionResults: any) => {
756-
if (!fn) {
757-
return actionResults[0];
758-
}
759-
return fn(actionResults[0]);
760-
}, errorFn);
761-
};
749+
this.then =
750+
(fn: (value: any) => {} | wdpromise.IThenable<{}>,
751+
errorFn?: (error: any) => any) => {
752+
return this.elementArrayFinder_.then((actionResults: any) => {
753+
if (!fn) {
754+
return actionResults[0];
755+
}
756+
return fn(actionResults[0]);
757+
}, errorFn);
758+
};
762759
}
763760

764761
// This filter verifies that there is only 1 element returned by the

lib/expectedConditions.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,8 @@ export class ProtractorExpectedConditions {
214214
Function {
215215
var hasText = () => {
216216
return elementFinder.getText().then((actualText: string): boolean => {
217-
// MSEdge does not properly remove newlines, which causes false negatives
217+
// MSEdge does not properly remove newlines, which causes false
218+
// negatives
218219
return actualText.replace(/\r?\n|\r/g, '').indexOf(text) > -1;
219220
});
220221
};

0 commit comments

Comments
 (0)