Fork me on GitHub
#clojure-russia
<
2018-02-23
>
dottedmag13:02:49

@guliy А чего хочется-то? Строку от 10 до 100?

dottedmag13:02:34

Спека принимает произвольный предикат, почему внутри предиката бредово сконвертировать тип?

guliy17:02:43

Да все красиво получается если у тебя везде clj/cljs. А как только начинаются взаимодействия с внешними api (json), query string, и тд. начинаются танцы с бубном, ибо сначала тебе надо все конвертнуть в нужные типы данных, а потом пропустить через spec. И все сразу уже не так радужно... spec-tools прям реально снимает эту боль.

rmuslimov17:02:47

@guliy спека все таки не про конверсию, спека про проверку шаги должны быть независимы друг от друга. Поэтому нужно писать функцию которая будет делать конверт внутри (let [iv (int v)] (and (> 10 iv) (< iv 100))

misha17:02:42

почему "внутри"?

misha17:02:59

это вы еще unform не распробовали

rmuslimov17:02:16

наверное потому что, кажется так код получается более composable

misha17:02:25

наоборот

rmuslimov17:02:30

> это вы еще unform не распробовали да, может быть

misha17:02:16

может "удобнее, кода меньше, не нужно в 2 местах править при изменении формата инпута", но точно не "более composable"

fmnoise21:02:07

шо ж вы зануды такие, spec-tools как spec-tools, коэрсия как коэрсия, а спека, как и все остальное, вроде core.async - не более, чем строительный блок