9 / 58
Как реализовать exhaustive check с помощью never?
Exhaustive check — это проверка полноты обработки всех вариантов discriminated union. Если в switch или if/else обработаны все варианты, в ветке default переменная получает тип never. Присвоив её переменной типа never, мы получим ошибку компиляции при добавлении нового варианта в union, который забыли обработать. Это гарантия на уровне типов, что ни один вариант не пропущен.