Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Оператор Check делает из проверки на истинность (значение => true/false) валидатор. А Compose объединяет валидаторы в цепочку. При выполнении цепочка прерывается после первой ошибки.
Compose([isString, Check(str => str.startsWith('a'))])const pointV = Trava([
{
width: isNumber,
height: isNumber,
},
Check((size, ...args) => size.width < size.height), // здесь ошибка вылетит на весь объект, последний элемент в args - контекст
// или например кастомная ошибка на одно из полей (при желании может быть что угодно):
Check(size => size.width < size.height, { height: 'должно быть больше width' }),
]);
const point = { width: 1, height: 2 };
pointV(point, { point }); // передали значение и контекст если нужно
Травим данные с travajs