Какие полезные паттерны на основе условных типов существуют?
IsNever<T>=[T] extends [never] ? true : false— детектор neverIsAny<T>=0 extends (1 & T) ? true : false— детектор anyEquals<A, B>— точное сравнение типов (проверяет модификаторы)UnionToIntersection<U>— через контравариантность: union → intersectionTupleToUnion<T>=T[number]— кортеж → unionStringToUnion<S>— строка → union символов через рекурсию