Rid ordered dependency
This commit is contained in:
parent
8a420bdf84
commit
c59063e7dc
3 changed files with 14 additions and 14 deletions
3
deps.edn
3
deps.edn
|
|
@ -1,6 +1,5 @@
|
||||||
{:deps {nrepl/bencode {:mvn/version "1.1.0"}
|
{:deps {nrepl/bencode {:mvn/version "1.1.0"}
|
||||||
cheshire {:mvn/version "5.10.0"}
|
cheshire {:mvn/version "5.10.0"}}
|
||||||
org.flatland/ordered {:mvn/version "1.5.9"}}
|
|
||||||
:aliases
|
:aliases
|
||||||
{:sci
|
{:sci
|
||||||
{:extra-deps
|
{:extra-deps
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,7 @@
|
||||||
:url "https://www.eclipse.org/legal/epl-1.0/"}
|
:url "https://www.eclipse.org/legal/epl-1.0/"}
|
||||||
:dependencies [[org.clojure/clojure "1.10.2-alpha1"]
|
:dependencies [[org.clojure/clojure "1.10.2-alpha1"]
|
||||||
[nrepl/bencode "1.1.0"]
|
[nrepl/bencode "1.1.0"]
|
||||||
[cheshire "5.10.0"]
|
[cheshire "5.10.0"]]
|
||||||
[org.flatland/ordered "1.5.9"]]
|
|
||||||
:deploy-repositories [["clojars" {:url "https://clojars.org/repo"
|
:deploy-repositories [["clojars" {:url "https://clojars.org/repo"
|
||||||
:username :env/babashka_nrepl_clojars_user
|
:username :env/babashka_nrepl_clojars_user
|
||||||
:password :env/babashka_nrepl_clojars_pass
|
:password :env/babashka_nrepl_clojars_pass
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,7 @@
|
||||||
(:refer-clojure :exclude [read])
|
(:refer-clojure :exclude [read])
|
||||||
(:require [bencode.core :as bencode]
|
(:require [bencode.core :as bencode]
|
||||||
[cheshire.core :as cheshire]
|
[cheshire.core :as cheshire]
|
||||||
[clojure.edn :as edn]
|
[clojure.edn :as edn]))
|
||||||
[flatland.ordered.map :refer [ordered-map]]))
|
|
||||||
|
|
||||||
(set! *warn-on-reflection* true)
|
(set! *warn-on-reflection* true)
|
||||||
|
|
||||||
|
|
@ -196,20 +195,23 @@
|
||||||
name-sym (symbol name)
|
name-sym (symbol name)
|
||||||
sym (symbol ns-name-str name)
|
sym (symbol ns-name-str name)
|
||||||
code (get-maybe-string var "code")]
|
code (get-maybe-string var "code")]
|
||||||
(assoc m name-sym
|
(conj m [name-sym
|
||||||
(or code
|
(or code
|
||||||
(fn [& args]
|
(fn [& args]
|
||||||
(let [res (invoke pod sym args {:async async?})]
|
(let [res (invoke pod sym args {:async async?})]
|
||||||
res))))))
|
res)))])))
|
||||||
(ordered-map)
|
;; vars should be ordered as one code segment may depend on the previous one
|
||||||
|
[]
|
||||||
vars))
|
vars))
|
||||||
pod-namespaces (reduce (fn [namespaces namespace]
|
pod-namespaces (reduce (fn [namespaces namespace]
|
||||||
(let [name-str (-> namespace (get "name") bytes->string)
|
(let [name-str (-> namespace (get "name") bytes->string)
|
||||||
name-sym (symbol name-str)
|
name-sym (symbol name-str)
|
||||||
vars (get namespace "vars")
|
vars (get namespace "vars")
|
||||||
vars (vars-fn name-str vars)]
|
vars (vars-fn name-str vars)]
|
||||||
(assoc namespaces name-sym vars)))
|
(conj namespaces [name-sym vars])))
|
||||||
{}
|
;; namespaces should also be ordered, allowing
|
||||||
|
;; one namespace to leverage the previous one
|
||||||
|
[]
|
||||||
pod-namespaces)
|
pod-namespaces)
|
||||||
pod (assoc pod :namespaces pod-namespaces)]
|
pod (assoc pod :namespaces pod-namespaces)]
|
||||||
(swap! pods assoc pod-id pod)
|
(swap! pods assoc pod-id pod)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue