我意識到這基本上是Typescript的相反意圖,但我希望能夠以編程方式從打字稿界面生成對象。基本上,我想這樣的事情:從Typescript接口生成對象
interface Foo {
bar: string
}
const generateObjFromInterface = (Foo) => // { bar: 'string'}
我 - 不介意如果可能的話,實現是多麼的棘手!如果這絕對不可能,那也是有用的信息!
在此先感謝!
我意識到這基本上是Typescript的相反意圖,但我希望能夠以編程方式從打字稿界面生成對象。基本上,我想這樣的事情:從Typescript接口生成對象
interface Foo {
bar: string
}
const generateObjFromInterface = (Foo) => // { bar: 'string'}
我 - 不介意如果可能的話,實現是多麼的棘手!如果這絕對不可能,那也是有用的信息!
在此先感謝!
這是可能的。當typescript 2.4在角落時,我們可以在編譯期間爲typescript使用自定義轉換器,並獲取所有屬性的列表,並作爲結果創建具有這些屬性的對象。
這裏是一個example,但請注意 - 正如我說,這需要在穩定版本使用打字稿2.4及以上的尚未
這看起來就像我的夢想解決方案,非常感謝! –
你有沒有成功使用過這個軟件包?我一直在努力確定這是用戶錯誤還是包本身的問題,但我不斷收到以下錯誤:ts_transformer_keys_1.keys不是函數 –
不,我沒有在實踐中使用它。你是否遵循瞭如何編譯該程序的指南:https://github.com/kimamula/ts-transformer-keys#how-to-use-the-custom-transformer?這是重要的一步。 – Amid
唯一的辦法是處理的源代碼,因爲在不存在接口運行。類似於[此庫](https://github.com/kimamula/ts-transformer-keys)所做的事情。 – Saravana