значение и массив валидных значений, и возвращает boolean валидности. например:
isValid(1, [1, 2]); // true
isValid(1, [0]); // false
isValid('string', [1]); // TS error, string is not assignable to number
это можно типизировать следующим образом:
declare function isValid<T>(value: T, validValues: T[]): boolean;
а можно ли как-то пойти ещё дальше и проверять, входит ли value в validValues?
isValid(0, [0, 1]); // true
isValid(2, [0, 1]); // TS error, because the array doesn't include 2
Ну для второго случая тебе по сути не нужна функция тогда вообще, а нужен хелпер тайп
это просто упрощённый пример, а вообще именно функция нужна
Обсуждают сегодня