diff options
Diffstat (limited to 'src/cljcc/util.clj')
| -rw-r--r-- | src/cljcc/util.clj | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/cljcc/util.clj b/src/cljcc/util.clj index 34b696c..e277654 100644 --- a/src/cljcc/util.clj +++ b/src/cljcc/util.clj @@ -1,7 +1,28 @@ (ns cljcc.util (:require [clojure.java.shell :refer [sh]] + [clojure.string :as s] [cljcc.log :as log])) +(def ^:private counter "Global integer counter for generating unique identifier names." (atom 0)) + +(defn create-identifier! + "Returns a unique identifier. Used for generating unique identifier. + + Removes : from keywords. + Replaces all - with _ for generating valid assembly names." + ([] + (create-identifier! "tmp")) + ([identifier] + (let [n @counter + _ (swap! counter inc)] + (-> identifier + (str "." n) + (s/replace #":" "") + (s/replace #"-" "_"))))) + +(defn reset-counter! [] + (reset! counter 0)) + (defn make-file-name ([^String filename ^String ext] (str filename "." ext)) |
