@@ -178,32 +178,25 @@ export class ElementArrayFinder extends WebdriverWebElement {
178
178
}
179
179
} ) ;
180
180
} 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
+ } ) ;
193
191
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
+ } ) ;
207
200
}
208
201
} ;
209
202
return new ElementArrayFinder ( this . browser_ , getWebElements , locator ) ;
@@ -501,7 +494,9 @@ export class ElementArrayFinder extends WebdriverWebElement {
501
494
* @returns {!webdriver.promise.Promise } A promise which will resolve to
502
495
* an array of ElementFinders represented by the ElementArrayFinder.
503
496
*/
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 [ ] > {
505
500
if ( this . actionResults_ ) {
506
501
return this . actionResults_ . then ( fn , errorFn ) ;
507
502
} else {
@@ -726,7 +721,7 @@ export class ElementArrayFinder extends WebdriverWebElement {
726
721
export class ElementFinder extends WebdriverWebElement {
727
722
parentElementArrayFinder : ElementArrayFinder ;
728
723
elementArrayFinder_ : ElementArrayFinder ;
729
- then : ( fn : Function , errorFn : Function ) => wdpromise . Promise < any > = null ;
724
+ then : ( fn : Function , errorFn ? : Function ) => wdpromise . Promise < any > = null ;
730
725
731
726
constructor (
732
727
public browser_ : ProtractorBrowser ,
@@ -751,14 +746,16 @@ export class ElementFinder extends WebdriverWebElement {
751
746
* of
752
747
* evaluating fn.
753
748
*/
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
+ } ;
762
759
}
763
760
764
761
// This filter verifies that there is only 1 element returned by the
0 commit comments