Merge pull request #537 from frwdrik/master

Save three seq constructions
This commit is contained in:
Tommi Reiman 2022-04-05 21:34:56 +03:00 committed by GitHub
commit 4e40d3e2c9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -119,11 +119,12 @@
(defrecord Problem [path scope data spec problems])
(defn validate-route-data [routes wrap spec]
(let [spec (wrap spec)]
(some->> (for [[p d _] routes]
(when-let [problems (and spec (s/explain-data spec d))]
(->Problem p nil d spec problems)))
(keep identity) (seq) (vec))))
(let [spec (wrap spec)
spec-explain (fn [[p d _]]
(when-let [problems (and spec (s/explain-data spec d))]
(->Problem p nil d spec problems)))
errors (into [] (keep spec-explain) routes)]
(when (pos? (count errors)) errors)))
(defn validate [routes {:keys [spec] ::keys [wrap] :or {spec ::default-data, wrap identity}}]
(when-let [problems (validate-route-data routes wrap spec)]