   (if-let [item (.getItem js/localStorage k)]
     (cljson->clj item)
     default))
+
+(def request-anim-frame
+  (or (.-requestAnimationFrame js/window)
+      (.-webkitRequestAnimationFrame js/window)
+      (.-mozRequestAnimationFrame js/window)
+      (.-oRequestAnimationFrame js/window)
+      (.-msRequestAnimationFrame js/window)
+      (fn [callback] (js/setTimeout callback 17))))

  "Logs given text to the console."
  [x]
  (.log js/console x))

(def alert-map (atom {}))
(defn alert-once [id val]

(ns drawer.util
  (:require [goog.string :as gstring]
            [tailrecursion.cljson :refer [clj->cljson cljson->clj]]))

(defn update-values
  "Updates the values of given map using
