бы и рассказал, что система типов в TS unsound, всё плохо, и жизнь боль. Спорить с ним, увы, невозможно, потому что он, в целом, прав, но во избежание проблем намекнуть TS, что S[] & U[] нам не нужен, а нужен (S & U)[], очень даже можно. Кстати, можно и any выкинуть, что-то я старообрядчески написал:
type NormalizeArray<T> = T extends (infer P)[] ? P[] : never;
Главное, что тс воспринимает одинаково. Теперь осталось разобраться, почему тесты валятся на CI
Нашёл проблему. Не знаю, на какой версии кода я запускал локально, но сегодня уже воспроизвёл локально нужную ошибку и исправил))) Спасибо за "уточку" всем!
Обсуждают сегодня