From c59063e7dc40752e2fa8bc5bd319039c4496b699 Mon Sep 17 00:00:00 2001 From: Michiel Borkent Date: Thu, 21 May 2020 12:35:34 -0300 Subject: [PATCH] Rid ordered dependency --- deps.edn | 3 +-- project.clj | 3 +-- src/babashka/pods/impl.clj | 22 ++++++++++++---------- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/deps.edn b/deps.edn index bf7cd60..69a12a1 100644 --- a/deps.edn +++ b/deps.edn @@ -1,6 +1,5 @@ {:deps {nrepl/bencode {:mvn/version "1.1.0"} - cheshire {:mvn/version "5.10.0"} - org.flatland/ordered {:mvn/version "1.5.9"}} + cheshire {:mvn/version "5.10.0"}} :aliases {:sci {:extra-deps diff --git a/project.clj b/project.clj index 320154f..9d07df7 100644 --- a/project.clj +++ b/project.clj @@ -7,8 +7,7 @@ :url "https://www.eclipse.org/legal/epl-1.0/"} :dependencies [[org.clojure/clojure "1.10.2-alpha1"] [nrepl/bencode "1.1.0"] - [cheshire "5.10.0"] - [org.flatland/ordered "1.5.9"]] + [cheshire "5.10.0"]] :deploy-repositories [["clojars" {:url "https://clojars.org/repo" :username :env/babashka_nrepl_clojars_user :password :env/babashka_nrepl_clojars_pass diff --git a/src/babashka/pods/impl.clj b/src/babashka/pods/impl.clj index 601a9bb..07c913c 100644 --- a/src/babashka/pods/impl.clj +++ b/src/babashka/pods/impl.clj @@ -3,8 +3,7 @@ (:refer-clojure :exclude [read]) (:require [bencode.core :as bencode] [cheshire.core :as cheshire] - [clojure.edn :as edn] - [flatland.ordered.map :refer [ordered-map]])) + [clojure.edn :as edn])) (set! *warn-on-reflection* true) @@ -196,20 +195,23 @@ name-sym (symbol name) sym (symbol ns-name-str name) code (get-maybe-string var "code")] - (assoc m name-sym - (or code - (fn [& args] - (let [res (invoke pod sym args {:async async?})] - res)))))) - (ordered-map) + (conj m [name-sym + (or code + (fn [& args] + (let [res (invoke pod sym args {:async async?})] + res)))]))) + ;; vars should be ordered as one code segment may depend on the previous one + [] vars)) pod-namespaces (reduce (fn [namespaces namespace] (let [name-str (-> namespace (get "name") bytes->string) name-sym (symbol name-str) vars (get namespace "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 (assoc pod :namespaces pod-namespaces)] (swap! pods assoc pod-id pod)