aboutsummaryrefslogtreecommitdiff
path: root/src/com/github/ivarref/yoltq/ext_sys.clj
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/github/ivarref/yoltq/ext_sys.clj')
-rw-r--r--src/com/github/ivarref/yoltq/ext_sys.clj26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/com/github/ivarref/yoltq/ext_sys.clj b/src/com/github/ivarref/yoltq/ext_sys.clj
new file mode 100644
index 0000000..3480475
--- /dev/null
+++ b/src/com/github/ivarref/yoltq/ext_sys.clj
@@ -0,0 +1,26 @@
+(ns com.github.ivarref.yoltq.ext-sys
+ (:require [datomic.api :as d])
+ (:import (java.util UUID)))
+
+
+(def ^:dynamic *now-ns-atom* nil)
+(def ^:dynamic *squuid-atom* nil)
+(def ^:dynamic *random-atom* nil)
+
+
+(defn now-ns []
+ (if *now-ns-atom*
+ @*now-ns-atom*
+ (System/nanoTime)))
+
+
+(defn squuid []
+ (if *squuid-atom*
+ (UUID/fromString (str "00000000-0000-0000-0000-" (format "%012d" (swap! *squuid-atom* inc))))
+ (d/squuid)))
+
+
+(defn random-uuid []
+ (if *random-atom*
+ (UUID/fromString (str "00000000-0000-0000-0000-" (format "%012d" (swap! *random-atom* inc))))
+ (UUID/randomUUID))) \ No newline at end of file