@guliy А чего хочется-то? Строку от 10
до 100
?
Спека принимает произвольный предикат, почему внутри предиката бредово сконвертировать тип?
Да все красиво получается если у тебя везде clj/cljs. А как только начинаются взаимодействия с внешними api (json), query string, и тд. начинаются танцы с бубном, ибо сначала тебе надо все конвертнуть в нужные типы данных, а потом пропустить через spec. И все сразу уже не так радужно... spec-tools прям реально снимает эту боль.
@guliy спека все таки не про конверсию, спека про проверку шаги должны быть независимы друг от друга. Поэтому нужно писать функцию которая будет делать конверт внутри
(let [iv (int v)] (and (> 10 iv) (< iv 100))
почему "внутри"?
это вы еще unform
не распробовали
наверное потому что, кажется так код получается более composable
наоборот
> это вы еще unform
не распробовали
да, может быть
может "удобнее, кода меньше, не нужно в 2 местах править при изменении формата инпута", но точно не "более composable"
шо ж вы зануды такие, spec-tools как spec-tools, коэрсия как коэрсия, а спека, как и все остальное, вроде core.async - не более, чем строительный блок