Save three seq constructions

This commit is contained in:
Fredrik Vaeng Røtnes 2022-03-05 01:46:03 +01:00
parent acfc48faa1
commit 7033abc530

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))) h
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)]