【发布时间】:2018-12-13 14:46:55
【问题描述】:
我正在尝试验证 Spec 中的大型 clojure 数据结构。
我在这部分失败了:
{: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?
如果我在 repl 中单独运行上述规范,它就可以工作。
但在上下文中(在 clojurescript 文件中),它看起来好像数据结构在经过测试之前在某处被转换为向量。
有没有人见过这样的事情?
这可能是在 ClojureScript 中执行此操作的结果吗?这是一些奇怪的javascript强制泄漏并咬我吗?
或者它可能是完全不同的东西?
【问题讨论】:
-
可能会遍历映射元素,即
[key value]条目。 -
什么可能会遍历地图元素?规格?
-
您是说这是 clojurescript / javascript 问题吗?规范肯定适用于 clojurescript
-
您能否展示创建该地图的代码以及应用该规范的代码?
-
请显示您用于获取错误的代码。
标签: clojure clojurescript clojure.spec clojurescript-javascript-interop