Size: a a a

Clojure — русскоговорящее сообщество

2020 September 18

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
(s/def :some-spec
 (s/and (s/keys ...)
       (fn [data]
   ....)))
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
дальше data разбиваешь на ключи и проверяешь на нужные условия.
источник

AL

Arseniy Lebedev in Clojure — русскоговорящее сообщество
Ок, а если я поменяю этот аттрибут?
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
тогда наверное и спеку надо будет менять
источник

AL

Arseniy Lebedev in Clojure — русскоговорящее сообщество
М...
источник

AL

Arseniy Lebedev in Clojure — русскоговорящее сообщество
Допустим
источник

AL

Arseniy Lebedev in Clojure — русскоговорящее сообщество
Ты знаком с graphql union типами?
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
ну так, не очень знаком
источник

AL

Arseniy Lebedev in Clojure — русскоговорящее сообщество
Ок, тогда просто поясню на примере
источник

AL

Arseniy Lebedev in Clojure — русскоговорящее сообщество
Допустим у тебя есть какая-то сущность, например поле в форме
источник

AL

Arseniy Lebedev in Clojure — русскоговорящее сообщество
Есть две проблемы которые толком не разрулишь в пг и мне стало интересно можно ли в датомике
источник

AL

Arseniy Lebedev in Clojure — русскоговорящее сообщество
Первая — у полей типа single и multi может быть разная cardinality на их options
источник

AL

Arseniy Lebedev in Clojure — русскоговорящее сообщество
Пардон
источник

AL

Arseniy Lebedev in Clojure — русскоговорящее сообщество
На их responses
источник

AL

Arseniy Lebedev in Clojure — русскоговорящее сообщество
Т.е. ты по идее можешь создать только один датом в котором будет тупл (field, option, user) на single и несколько на multi
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
ну да
источник

AL

Arseniy Lebedev in Clojure — русскоговорящее сообщество
Вторая проблема это если ты меняешь у поля тип
источник

AL

Arseniy Lebedev in Clojure — русскоговорящее сообщество
При этом ясен хрен что у полей могут быть разные вообще аттрибуты в зависимости от типа
источник

AL

Arseniy Lebedev in Clojure — русскоговорящее сообщество
Например у multi какой-нибудь maxOptions
источник

AL

Arseniy Lebedev in Clojure — русскоговорящее сообщество
Или щонить такое
источник