У меня есть следующие оба типа Typescript. Один из типов не содержит nullдругой ни того, ни другого. Можно ли проверить такой тип на наличие null?
type TransactionCategory = "B2B"| "SEZWP" | "SEZWOP" | "EXPWP" | "EXPWOP" | "DEXP" | null
type DutyStatus = "WPOD" | "WOPOD"
Я хочу проверять такие вещи не на конкретном экземпляре, а на самой системе типов. Подобно ключевому слову in.






Не совсем понятно, о чем вы спрашиваете, но...
Если вы просто хотите получить логический вердикт от компилятора о том, включен ли тип null в тип объединения, вы можете написать простой общий служебный тип, чтобы проверить это:
type TransactionCategory = "B2B"| "SEZWP" | "SEZWOP" | "EXPWP" | "EXPWOP" | "DEXP" | null;
type DutyStatus = "WPOD" | "WOPOD";
type IncludesNull<T> = null extends T ? true : false;
type TransactionCategoryIncludesNull = IncludesNull<TransactionCategory>;
//^? type TransactionCategoryIncludesNull = true
type DutyStatusIncludesNull = IncludesNull<DutyStatus>;
//^? type DutyStatusIncludesNull = false