Как определить тип TrueValue без NaN?

Я хочу написать тип, чтобы указать, что функция возвращает значение True-like:

type TrueValue<T> = T extends undefined | null | false | '' | 0 | NaN ? never : T;

Но ошибка показывает, что NaN - это значение, я не могу ссылаться на него как на тип.


person user12389686    schedule 20.10.2020    source источник
comment
TypeScript не имеет типа NaN   -  person A_A    schedule 20.10.2020
comment
Отвечает ли это на ваш вопрос? Тип не является ложным, он же правдивый   -  person A_A    schedule 20.10.2020
comment
Сейчас нет отличного способа сделать это; NaN имеет тип number, и нет числового литерала, соответствующего NaN. См. microsoft / TypeScript # 28682 для получения дополнительной информации.   -  person jcalz    schedule 20.10.2020