Skip to content

Commit

Permalink
Refactor string encoder generation
Browse files Browse the repository at this point in the history
  • Loading branch information
Nicolas Barrera committed May 10, 2019
1 parent 78af602 commit 09ee70d
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 18 deletions.
41 changes: 24 additions & 17 deletions cljs-shared/cljs_cheatsheet/util.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -22,23 +22,30 @@

(def uri-encode js/encodeURIComponent)

(defn- encode-symbol-url-clojuredocs
"Encode URL for clojuredocs.org"
[s]
(-> s
(replace "/" "_fs") ;; divide symbol - "/"
(replace "?" "_q")))

(defn- encode-symbol-url-cljs
"Encode URL for cljs.github.io"
[s]
(-> s
(replace "/" "SLASH")
(replace "?" "QMARK")
(replace "!" "BANG")
(replace ">" "GT")
(replace "<" "LT")
(replace "=" "EQ")))
(def encode-clojuredocs
{"/" "_fs"
"?" "_q"})

(def encode-cljs
{"/" "SLASH"
"?" "QMARK"
"!" "BANG"
">" "GT"
"<" "LT"
"=" "EQ"})

(defn encoder-gen [mapping]
(fn [s]
(reduce-kv
replace
s
mapping)))

(def encode-symbol-url-clojuredocs
(encoder-gen encode-clojuredocs))

(def encode-symbol-url-cljs
(encoder-gen encode-cljs))

(defn docs-href [name name-space]
(let [cljsns? (= name-space "cljs.core")
Expand Down
2 changes: 1 addition & 1 deletion public/index.html

Large diffs are not rendered by default.

0 comments on commit 09ee70d

Please sign in to comment.