From 8755e19f78449d5a2d8114cf5a66d1d8d02cbec2 Mon Sep 17 00:00:00 2001 From: Tommi Reiman Date: Tue, 29 Jan 2019 21:59:17 +0200 Subject: [PATCH] Cleanup --- modules/reitit-core/src/reitit/trie.cljc | 91 ++++++++++++++++-------- 1 file changed, 61 insertions(+), 30 deletions(-) diff --git a/modules/reitit-core/src/reitit/trie.cljc b/modules/reitit-core/src/reitit/trie.cljc index a6417423..40384fc2 100644 --- a/modules/reitit-core/src/reitit/trie.cljc +++ b/modules/reitit-core/src/reitit/trie.cljc @@ -91,7 +91,7 @@ (defn insert ([routes] - (insert nil routes)) + (insert nil routes)) ([node routes] (reduce (fn [acc [p d]] @@ -110,10 +110,8 @@ (Trie/linearMatcher matchers) (first matchers)))) -(defn pretty [{:keys [data children wilds catch-all]}] - (into - (if data [data] []) - (mapcat (fn [[p n]] [p (pretty n)]) (concat children wilds catch-all)))) +(defn pretty [matcher] + (-> matcher str read-string eval)) (defn lookup [^Trie$Matcher matcher path] (if-let [match ^Trie$Match (Trie/lookup matcher ^String path)] @@ -122,22 +120,67 @@ (defn scanner [compiled-tries] (Trie/scanner compiled-tries)) -;; -;; matcher -;; - ;; ;; spike ;; -(-> nil - (insert "/:abba" 1) - (insert "/kikka" 2) - (insert "/kikka/kakka/kukka" 3) - (insert "/kikka/:kakka/kukka" 4) - (insert "/kikka/kuri/{user/doc}.html" 5) - (insert "/kikkare/*path" 6) - #_(pretty)) +(-> + [["/v2/whoami" 1] + ["/v2/users/:user-id/datasets" 2] + ["/v2/public/projects/:project-id/datasets" 3] + ["/v1/public/topics/:topic" 4] + ["/v1/users/:user-id/orgs/:org-id" 5] + ["/v1/search/topics/:term" 6] + ["/v1/users/:user-id/invitations" 7] + ["/v1/users/:user-id/topics" 9] + ["/v1/users/:user-id/bookmarks/followers" 10] + ["/v2/datasets/:dataset-id" 11] + ["/v1/orgs/:org-id/usage-stats" 12] + ["/v1/orgs/:org-id/devices/:client-id" 13] + ["/v1/messages/user/:user-id" 14] + ["/v1/users/:user-id/devices" 15] + ["/v1/public/users/:user-id" 16] + ["/v1/orgs/:org-id/errors" 17] + ["/v1/public/orgs/:org-id" 18] + ["/v1/orgs/:org-id/invitations" 19] + ["/v1/users/:user-id/device-errors" 22] + ["/v2/login" 23] + ["/v1/users/:user-id/usage-stats" 24] + ["/v2/users/:user-id/devices" 25] + ["/v1/users/:user-id/claim-device/:client-id" 26] + ["/v2/public/projects/:project-id" 27] + ["/v2/public/datasets/:dataset-id" 28] + ["/v2/users/:user-id/topics/bulk" 29] + ["/v1/messages/device/:client-id" 30] + ["/v1/users/:user-id/owned-orgs" 31] + ["/v1/topics/:topic" 32] + ["/v1/users/:user-id/bookmark/:topic" 33] + ["/v1/orgs/:org-id/members/:user-id" 34] + ["/v1/users/:user-id/devices/:client-id" 35] + ["/v1/users/:user-id" 36] + ["/v1/orgs/:org-id/devices" 37] + ["/v1/orgs/:org-id/members" 38] + ["/v2/orgs/:org-id/topics" 40] + ["/v1/whoami" 41] + ["/v1/orgs/:org-id" 42] + ["/v1/users/:user-id/api-key" 43] + ["/v2/schemas" 44] + ["/v2/users/:user-id/topics" 45] + ["/v1/orgs/:org-id/confirm-membership/:token" 46] + ["/v2/topics/:topic" 47] + ["/v1/messages/topic/:topic" 48] + ["/v1/users/:user-id/devices/:client-id/reset-password" 49] + ["/v2/topics" 50] + ["/v1/login" 51] + ["/v1/users/:user-id/orgs" 52] + ["/v2/public/messages/dataset/:dataset-id" 53] + ["/v1/topics" 54] + ["/v1/orgs" 55] + ["/v1/users/:user-id/bookmarks" 56] + ["/v1/orgs/:org-id/topics" 57]] + (insert) + (compile) + (pretty)) (-> nil (insert "/kikka" 2) @@ -145,16 +188,4 @@ (insert "/kikka/:kakka/kurkku" 4) (insert "/kikka/kuri/{user/doc}/html" 5) (compile) - (lookup "/kikka/kakka/kurkku")) - -;; => - -["/" - ["kikka" [2 - "/" ["k" ["akka/kukka" [3] - "uri/" [:user/doc [".html" [5]]]] - :kakka ["/kukka" [4]]] - "re/" [#{:path} [6]]] - :abba [1]]] - - + (pretty))