mirror of
https://github.com/metosin/reitit.git
synced 2025-12-16 16:01:11 +00:00
Decrease code size and eliminate an allocation
This commit is contained in:
parent
dcb7258caf
commit
59642e51f1
1 changed files with 5 additions and 8 deletions
|
|
@ -3,16 +3,13 @@
|
|||
(defprotocol IKeywordize
|
||||
(-keywordize [coll]))
|
||||
|
||||
(defn- keywordize-kv
|
||||
[m k v]
|
||||
(assoc! m (if (string? k) (keyword k) (-keywordize k)) (-keywordize v)))
|
||||
|
||||
(defn- -keywordize-map
|
||||
[m]
|
||||
(persistent!
|
||||
(reduce-kv
|
||||
(fn [m k v]
|
||||
(if (string? k)
|
||||
(assoc! m (keyword k) (-keywordize v))
|
||||
(assoc! m (-keywordize k) (-keywordize v))))
|
||||
(transient (empty m))
|
||||
m)))
|
||||
(persistent! (reduce-kv keywordize-kv (transient (empty m)) m)))
|
||||
|
||||
(defn- -keywordize-default
|
||||
[coll]
|
||||
|
|
|
|||
Loading…
Reference in a new issue