potamic.util
Common utilities.
->int
(->int s)Returns string s parsed to integer.
Examples:
See also:
->str
(->str x)Returns a string representation of symbol. This is similar to calling str on a symbol except that keywords will not contain a preceding colon character. The keyword :x/y will yield “x/y” instead of “:x/y”.
Examples:
(require '[potamic.util :as util])
;; all of the following are identical
(util/->str :my/queue)
(util/->str 'my/queue)
(util/->str "my/queue")
;= "my/queue"
See also:
potamic.util/<-str
<-str
(<-str x)Returns keyword for x if x is a string and doesn’t start with a number, else returns x as-is.
NOTE: Redis Stream IDs won’t be coerced to keywords.
Examples:
See also:
potamic.util/->str
encode-map-vals
(encode-map-vals m)Returns map after encoding map vals by calling nippy/freeze on them. Nested maps are encoded wholesale as Redis/KeyDB streams don’t allow nesting.
Examples:
(require '[potamic.util :as util])
(def m {:a 111 :b {:c "333" :d :my/namespaced-key}})
(util/encode-map-vals m)
;= {:a #object["[B" 0x7225a307 "[B@7225a307"]
;= :b #object["[B" 0x141cc645 "[B@141cc645"]}
make-exception
(make-exception e)prep-cmd
(prep-cmd args)Returns concatenated vector of arguments (without using concat) to be applied to a Carmine/Redis command.
Examples:
See also:
RECURSIVE-WALK
(Implemtation detail)
Compiled path for nested data structures.
remove-conn
(remove-conn x)time->milliseconds
(time->milliseconds t)Converts high-level time syntax (e.g. [5 :seconds]) to milliseconds. If t is an integer, or if :milli/millis is provided as interval, it is returned as-is. Returns an integer for milliseconds.
| Intervals |
|---|
:milli/:millis |
:second/:seconds |
:minute/:minutes |
:hour/:hours |
Examples:
(util/time->milliseconds [5 :seconds])
;= 5000
(util/time->milliseconds [1 :second])
;= 1000
(util/time->milliseconds [5 :hours])
;= 18000000
(util/time->milliseconds [1234 :millis])
;= 1234
(util/time->milliseconds 1234))
;= 1234
uuid
(uuid)