From 7033abc5309bb52ca11bf3d61e0404e40f3d58a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20Vaeng=20R=C3=B8tnes?= Date: Sat, 5 Mar 2022 01:46:03 +0100 Subject: [PATCH 1/2] Save three seq constructions --- modules/reitit-core/src/reitit/spec.cljc | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/modules/reitit-core/src/reitit/spec.cljc b/modules/reitit-core/src/reitit/spec.cljc index a3fa0290..80d1fdf6 100644 --- a/modules/reitit-core/src/reitit/spec.cljc +++ b/modules/reitit-core/src/reitit/spec.cljc @@ -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)] From 43d6f52208deb17bcda7165495004c485c5dec80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20Vaeng=20R=C3=B8tnes?= Date: Fri, 18 Mar 2022 15:55:20 +0000 Subject: [PATCH 2/2] Update spec.cljc Stray character --- modules/reitit-core/src/reitit/spec.cljc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/reitit-core/src/reitit/spec.cljc b/modules/reitit-core/src/reitit/spec.cljc index 80d1fdf6..6715eae3 100644 --- a/modules/reitit-core/src/reitit/spec.cljc +++ b/modules/reitit-core/src/reitit/spec.cljc @@ -122,7 +122,7 @@ (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 + (->Problem p nil d spec problems))) errors (into [] (keep spec-explain) routes)] (when (pos? (count errors)) errors)))