Cast a type while preserving assignability.
Source type
Target type
Keeps the source type if it is assignable to the target type; otherwise, resolves to the target type.
type A = Cast< string, string | number >; // stringtype B = Cast< number, string | number >; // numbertype C = Cast< boolean, string | number >; // string | number Copy
type A = Cast< string, string | number >; // stringtype B = Cast< number, string | number >; // numbertype C = Cast< boolean, string | number >; // string | number
Cast a type while preserving assignability.