Мне понравилось работать с clojure.spec
; это помогло раскрыть ошибки данных ближе к причине. В настоящее время я использую его для проверки ответа на запрос веб-сервера, но у меня возникают трудности с синтаксисом операции clojure.spec, которая допускает два разных ответа структуры карты.
В моих данных есть два возможных ответа на запрос веб-сервера:
{:assignment "1232123"}
и
{:no-more-assignments true}
Я мог бы использовать multi-spec
, но это кажется многословным для чего-то, что может быть так просто, как иметь одну спецификацию для каждого случая и определять спецификацию как:
(s/def ::response
(s/or ::case-1 ::case-2))
Есть какой-то синтаксис, который я пропускаю, или мне нужно будет использовать multi-spec
?