From dd6d0d5a1c55ebf8a5f5d8915ca1383338c6371d Mon Sep 17 00:00:00 2001 From: Tommi Reiman Date: Tue, 22 Aug 2017 08:54:12 +0300 Subject: [PATCH] use linearrouter if all routes are wild --- src/reitit/core.cljc | 2 ++ test/cljc/reitit/core_test.cljc | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/reitit/core.cljc b/src/reitit/core.cljc index 71d5ae87..a55fac91 100644 --- a/src/reitit/core.cljc +++ b/src/reitit/core.cljc @@ -256,9 +256,11 @@ routes (resolve-routes data opts) conflicting (conflicting-routes routes) wilds? (some impl/wild-route? routes) + all-wilds? (every? impl/wild-route? routes) router (cond router router (not wilds?) lookup-router + all-wilds? linear-router (not conflicting) mixed-router :else linear-router)] diff --git a/test/cljc/reitit/core_test.cljc b/test/cljc/reitit/core_test.cljc index 7fe61629..d292fc23 100644 --- a/test/cljc/reitit/core_test.cljc +++ b/test/cljc/reitit/core_test.cljc @@ -7,9 +7,9 @@ (deftest reitit-test - (testing "mixed router" + (testing "linear-router" (let [router (reitit/router ["/api" ["/ipa" ["/:size" ::beer]]])] - (is (= :mixed-router (reitit/router-type router))) + (is (= :linear-router (reitit/router-type router))) (is (= [["/api/ipa/:size" {:name ::beer}]] (reitit/routes router))) (is (= true (map? (reitit/options router)))) @@ -40,7 +40,7 @@ #"^missing path-params for route /api/ipa/:size: \#\{:size\}$" (reitit/match-by-name! router ::beer)))))) - (testing "lookup router" + (testing "lookup-router" (let [router (reitit/router ["/api" ["/ipa" ["/large" ::beer]]])] (is (= :lookup-router (reitit/router-type router))) (is (= [["/api/ipa/large" {:name ::beer}]]