Clojure Spec: карта?сбой, потому что спецификация думает, что моя структура данных является вектором? - PullRequest
0 голосов
/ 13 декабря 2018

Я пытаюсь проверить большую структуру данных clojure в Spec.

Я получаю ошибку в этой части:

{:pageName "HelloWorld" :pageType ::workPage :cells ["Hello World" "How are you?"]}

, используя это:

(s/def ::WorkPage (s/keys :req-un [::pageName ::pageType ::cells]))

Что не получается с этим сообщением (из объяснения)

{:pageName "HelloWorld", :pageType :assemblage.db/workPage, :cells ["Hello World" "How are you?"]} db.js:52:1
false db.js:54:1
-- Spec failed --------------------

  [:pageName "HelloWorld"]
  ^^^^^^^^^^^^^^^^^^^^^^^^

should satisfy

  map?

Если я сам запускаю вышеупомянутую спецификацию в репле, она работает.

Но в контексте (в файле clojurescript) это выглядит почти так, как будто структура данных преобразуется в вектор где-то перед тем, как его проверяют.

Кто-нибудь видел что-нибудь подобное раньше?

Может ли это быть результатом этого в ClojureScript?Это какое-то странное принуждение javascript просачивается и кусает меня?

Или это может быть что-то совершенно другое?

...