function | removed v1.9.542 | added v1.9.14 | 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))