function | previously cljs.spec/explain-data | clojure.spec.alpha/explain-data | Edit |
(explain-data spec x)
Given a spec and a value x which ought to conform, returns nil if x conforms, else a map with at least the key ::problems whose value is a collection of problem-maps, where problem-map has at least :path :pred and :val keys describing the predicate and the value that failed at that path.
(defn explain-data
[spec x]
(explain-data* spec [] (if-let [name (spec-name spec)] [name] []) [] x))