2017-08-29 24 views
2

很多時候我發現自己通過了某種Shape類型的參數,但每個鍵都是可選的,只有至少一個是必需的。實用功能將所有內容都轉換爲可選

例如:

type Shape = { 
    +isFetching: boolean, 
    +errorFetching: null | string 
} 

type ShapeOpt = { 
    isFetching?: boolean, 
    errorFetching?: boolean 
} 


function set(data: ShapeOpt) { 
    for (const key in data) { 
     global[key] = data[key]; 
    } 
} 

是否有一個效用函數從Shape轉換爲ShapeOpt

回答

1

有一個$Shape<Type>助手用於生成一個對象類型,其中每個鍵都是可選的。但我不知道有什麼方法可以自動說明至少需要一個項目。

+1

謝謝你,先生,你已經回答了我的三個問題如此之快!衷心感謝!沒關係,至少有一個是必需的,謝謝! – Blagoh

相關問題