2015-11-25 15 views
10

Typescriptを使って分度器テストを開発しています。分度器に利用可能なd.tsファイルは非常に古くなっているようです。私は予期された条件分度器を追加してそれを更新しようとしています。要約すると、Expected Conditionsは、あなたの価値の約束を返す関数を返す分度器内の関数の集合です。他の関数を返す関数の戻り値の型は何ですか?

使い方の例:

protractor.ExpectedCondtions.visibilityOf(element(by.id('button1')))(); 

私は、私は特定の戻り値の型を返す関数を返すだと分度器を伝えるためにどのように困惑しています。誰にもこれに関する経験はありますか?

+0

'Function'の戻り値の型はありませんか? – tymeJV

+0

可能であれば、2番目の関数の戻り値の型を指定したいと思います。しかし、「機能」は機能します。 – jordan

答えて

12

私があなたを正しく理解していれば、あなたの解決策は "second"関数が返す型に依存します。

  1. ラムダ構文私はこれらすべてを説明しようとした
  2. インタフェース(ノーマルと汎用インターフェース)

:一言で言えば

、それを行うには、少なくとも2つの方法があります以下のコードで確認してください:

module main 
{ 
    export class TestClass 
    { 
     // Use lamba syntax as an interface for a return function 
     protected returnSpecificFunctionWhichReturnsNumber():() => number 
     { 
      return this.specificFunctionWhichReturnsNumber; 
     } 

     protected specificFunctionWhichReturnsNumber(): number 
     { 
      return 0; 
     } 

     // Use an interface to describe a return function 
     protected returnSpecificInterfaceFunction(): INumberFunction 
     { 
      return this.specificFunctionWhichReturnsNumber; 
     } 

     // Use a generic interface to describe a return function 
     protected returnSpecificGenericInterfaceFunction(): IReturnFunction<number> 
     { 
      return this.specificFunctionWhichReturnsNumber; 
     } 
    } 

    // An interface for a function, which returns a number 
    export interface INumberFunction 
    { 
     (): number; 
    } 

    // A generic interface for a function, which returns something 
    export interface IReturnFunction<ValueType> 
    { 
     (): ValueType; 
    } 
}