Search
Write a publication
Pull to refresh

Comments 3

Хорошая работа, с ajv не работал, но как альтернатива валидации на основе рефлексии выглядит неплохо.

Вот тут правда немного не понял:

const max = 1 as number;
const after2 = s.string.maxLength(max) // Error! `RangeError: MinLength are greater than MaxLength. MinLength: undefined. MaxLength: ${number}`

из-за того, что там очень много работы с типами, то мы ожидаем именно числа как константы(конкретные числа). Если привести тип как число(as number) - то будет ошибка валидации. Пока не нашел решения как это побороть.

Наверное пример не самый удачный подобрал.
Имелось ввиду что если кастить к числу, то поплывет валидация. Несмотря на то, что числа будут правильны.

const after2 = s.string.minLength(3).maxLength(5 as number) // RangeError: MinLength = 3, maxLength = number
//                                               ^ inline cast to number

Sign up to leave a comment.

Other news