Skip to content

Commit c2831f2

Browse files
author
dnolen
committed
move distinct-by to cljs.util
1 parent 5b8112a commit c2831f2

2 files changed

Lines changed: 14 additions & 14 deletions

File tree

src/main/clojure/cljs/closure.clj

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
JavaScript or a deps file for use during development.
3535
"
3636
(:refer-clojure :exclude [compile])
37-
(:require [cljs.util :as util]
37+
(:require [cljs.util :as util :refer [distinct-by]]
3838
[cljs.core :as cljsm]
3939
[cljs.compiler :as comp]
4040
[cljs.analyzer :as ana]
@@ -896,19 +896,6 @@
896896
[(javascript-file nil url url ["constants-table"] ["cljs.core"] nil nil)]))
897897
inputs)))
898898

899-
(defn distinct-by
900-
([k coll]
901-
(let [step (fn step [xs seen]
902-
(lazy-seq
903-
((fn [[f :as xs] seen]
904-
(when-let [s (seq xs)]
905-
(let [v (get f k)]
906-
(if (contains? seen v)
907-
(recur (rest s) seen)
908-
(cons f (step (rest s) (conj seen v)))))))
909-
xs seen)))]
910-
(step coll #{}))))
911-
912899
(defn add-preloads
913900
"Add :preloads to a given set of inputs (IJavaScript). Returns a new
914901
list of inputs where the preloaded namespaces and their deps come immediately after

src/main/clojure/cljs/util.cljc

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -248,3 +248,16 @@
248248
[unknown (some-> (suggestion 3 (str unknown) (map str knowns))
249249
(subs 1)
250250
keyword)]))
251+
252+
(defn distinct-by
253+
([f coll]
254+
(let [step (fn step [xs seen]
255+
(lazy-seq
256+
((fn [[x :as xs] seen]
257+
(when-let [s (seq xs)]
258+
(let [v (f x)]
259+
(if (contains? seen v)
260+
(recur (rest s) seen)
261+
(cons x (step (rest s) (conj seen v)))))))
262+
xs seen)))]
263+
(step coll #{}))))

0 commit comments

Comments
 (0)