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]) (defrecord Problem [path scope data spec problems])
(defn validate-route-data [routes wrap spec] (defn validate-route-data [routes wrap spec]
(let [spec (wrap spec)] (let [spec (wrap spec)
(some->> (for [[p d _] routes] spec-explain (fn [[p d _]]
(when-let [problems (and spec (s/explain-data spec d))] (when-let [problems (and spec (s/explain-data spec d))]
(->Problem p nil d spec problems))) (->Problem p nil d spec problems))) h
(keep identity) (seq) (vec)))) errors (into [] (keep spec-explain) routes)]
(when (pos? (count errors)) errors)))
(defn validate [routes {:keys [spec] ::keys [wrap] :or {spec ::default-data, wrap identity}}] (defn validate [routes {:keys [spec] ::keys [wrap] :or {spec ::default-data, wrap identity}}]
(when-let [problems (validate-route-data routes wrap spec)] (when-let [problems (validate-route-data routes wrap spec)]