by Pavel Glushkov @pashutk
条件値C
、 C
が truthy である場合の戻り値の型T
、C
が falsy である場合の戻り値の型F
を受け取るIf
を実装します。
条件値C
はtrue
かfalse
のどちらかであることが期待されますが、T
と F
は任意の型をとることができます。
例えば
type A = If<true, 'a', 'b'>; // expected to be 'a'
type B = If<false, 'a', 'b'>; // expected to be 'b'