2017-04-04 42 views
1

我有一個Node.js的模塊,只是看起來像這樣:使用打字稿的API執法

module.exports = function(data){ 

    return { 

     limit: 4, 
     values: {} 

    } 


}; 

使用打字稿,這可能是這樣的:

interface ISomethingA { 
    values: Object, 
    limit?: number 
} 

export = function(data: ISomethingB){ 

    return { 

     limit: 4, 
     values: {} 

    } as ISomethingA; 


}; 

這些模塊必須堅持某些API - 從函數返回的對象需要「值」和「限制」屬性。

我可以在這裏使用什麼TypeScript構造來給用戶反饋,以便他們知道他們遵守API?

到目前爲止,「as」語法還沒有爲我工作,因爲我會預料到的。我正在尋找一種方法來定義函數返回的對象的類型。

回答

3

指定的函數聲明的返回類型:

export = function(data: ISomethingB): ISomethingA { 
    return { 
     limit: 4, 
     values: {} 
    }; 
}; 
+0

啊,是的,謝謝,我真的很喜歡它 –

+0

的'作爲的「作爲」符號,但我看不到任何好的使用案例主意'符號告訴編譯器:「嘿,我知道你認爲這個對象是X類型的,但我希望你把它當作Y類型」。這就是爲什麼你可以使用「as」來達到這個目的。 – unional