2017-01-23 28 views
1

我有一個將JSON模式轉換爲Typescript接口「字符串」的方法。 它看起來像這樣:是否可以導出打字稿界面作爲方法的輸出?

//輸入

var scriptSchema = { 
    type: 'object', 
    properties: { 
     src: { type: 'string' }, 
     name: { type: 'string' }, 
     author: { type: 'string' } 
    }, 
    required: ['src','name'] 
} 

//輸出(作爲一個字符串)

interface IScript { 
    src: string, 
    name: string, 
    author?: string 
} 

我想避免生成一個文件,如果能夠容納這一點。

理想情況下,如果可能,我想要做這樣的事情。

export interface IScript = JSON.parse(...) //etc, etc 

有什麼建議嗎?

回答

0

否 - 至少不是沒有發出有效的新TypeScript代碼並將其編譯爲後續步驟。

此限制是因爲TypeScript是Statically Typed語言,並且在進行類型驗證和[trans]編譯時必須具有所有類型信息。沒有價值從未來執行的程序是可用的在這。

看起來最終目標是'動態生成'各種TypeScript類型。在這種情況下,使用單獨的文件(以及單獨的生成階段)可能是最有用的。

+0

是的,這也是我的結論。如果沒有發現奇蹟,我會再提一個小時這個問題,我會接受這個答案。 – Proximo