Skip to content
micro cljs uuid lib
Clojure Shell
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
src/cljs_uuid
test-page
test
.gitignore
Readme.md
cljs-opts.clj
project.clj

Readme.md

cljs-uuid

Micro clojure and clojurescript portability lib for uuid creation

usage

  • clojars [cljs-uuid "0.0.1"]
  • clojars [cljs-uuid "0.0.2"] : includes equivalent API in clojure for portability
  • clojars [cljs-uuid "0.0.3"] :
    • added make-random to use in place of make-v4 (deprecated).
    • added cljs parsing of #<UUID ...> issue #1
  • clojars [cljs-uuid "0.0.4"] :

As of version 0.0.2 you can use the lib in clojure as well as cljs. In clj, underneath, java.util.UUID is used.

see: https://github.com/davesann/cljs-uuid/blob/master/test/main.cljs

(ns test.main
  (:require
    [cljs-uuid.core :as uuid]
    [cljs.reader :as reader]))

(defn log [msg x]
  (do (js/console.log (pr-str {:msg msg :data x}))
    x ))

(log "Starting Test" nil)

(let [id1 (uuid/make-random)
      id2 (uuid/make-random)
      id1-str    (str id1)
      id2-str    (str id2)
      id1-pr-str (pr-str id1)
      id1-reread (reader/read-string id1-str)
      ]
  (log "id1 str"    id1-str)
  (log "id1 pr-str" id1-pr-str)
  (log "id2 str"    id2-str)
  (log "(= id1 id1)" (= id1 id1))
  (log "(not= id1 id2)" (not= id1 id2))

  (log "(reader/read-string id1-str)" id1-reread)
  (log "(= id1 id1-reread)" (= id1 id1-reread))

  (js/console.log id1)
  (js/console.log id1-reread)
  )

TODO

consider use of 'window.crypto.getRandomValues' when available

License

Copyright (C) 2012 Dave Sann

Distributed under the Eclipse Public License, the same as Clojure.

Something went wrong with that request. Please try again.