diff --git a/deps/graph-parser/deps.edn b/deps/graph-parser/deps.edn index 725cb448c..c0135314d 100644 --- a/deps/graph-parser/deps.edn +++ b/deps/graph-parser/deps.edn @@ -8,8 +8,7 @@ ;; stubbed in nbb com.lambdaisland/glogi {:mvn/version "1.1.144"} ;; built in to nbb - cljs-bean/cljs-bean {:mvn/version "1.5.0"} - medley/medley {:mvn/version "1.4.0"}} + cljs-bean/cljs-bean {:mvn/version "1.5.0"}} :aliases ;; This runs tests with nodejs. Would be nice to run this with in a browser env diff --git a/deps/graph-parser/src/logseq/graph_parser/util.cljs b/deps/graph-parser/src/logseq/graph_parser/util.cljs index 45314e0d5..b55c6037b 100644 --- a/deps/graph-parser/src/logseq/graph_parser/util.cljs +++ b/deps/graph-parser/src/logseq/graph_parser/util.cljs @@ -5,7 +5,6 @@ [clojure.edn :as edn] [clojure.string :as string] [clojure.walk :as walk] - [medley.core :as medley] [logseq.graph-parser.log :as log])) (defn safe-decode-uri-component @@ -158,9 +157,20 @@ (map string/capitalize) (string/join " "))) + (defn distinct-by - [f col] - (medley/distinct-by f (seq col))) + "Copy from medley" + [f coll] + (let [step (fn step [xs seen] + (lazy-seq + ((fn [[x :as xs] seen] + (when-let [s (seq xs)] + (let [fx (f x)] + (if (contains? seen fx) + (recur (rest s) seen) + (cons x (step (rest s) (conj seen fx))))))) + xs seen)))] + (step (seq coll) #{}))) (defn normalize-format [format]