Skip to content

Latest commit

 

History

History
68 lines (48 loc) · 950 Bytes

File metadata and controls

68 lines (48 loc) · 950 Bytes

typelab / conditions / IfPropertyKey

type IfPropertyKey<T, Then, Else> = _IfNotAnyOrNever<T, T extends PropertyKey ? Then : Else, Else>;

Resolves to Then if the type T is `PropertyKey`, otherwise resolves to Else.

Type Parameters

Type Parameter Description

T

The type to be checked.

Then

The type to return if T is PropertyKey.

Else

The type to return if T is not PropertyKey. Defaults to never.

Returns

Then if T is `PropertyKey`, Else otherwise.

Example

type Yes = IfPropertyKey<string, 'yes', 'no'>; // 'yes'
type No = IfPropertyKey<boolean, 'yes', 'no'>; // 'no'
type YesOrNo = IfPropertyKey<string | boolean, 'yes', 'no'>; // 'yes' | 'no'