fix(ci): closure define NODETEST

This commit is contained in:
Tienson Qin
2020-12-21 16:25:18 +08:00
parent 2a4451ebf2
commit 0d96ce6a15
8 changed files with 266 additions and 41 deletions

View File

@@ -1,37 +1,47 @@
(ns frontend.storage
(:refer-clojure :exclude [get set remove])
(:require [cljs.reader :as reader]
[datascript.transit :as dt]))
[datascript.transit :as dt]
[frontend.util :as util]))
;; TODO: refactor: separate side effects
(defn get
[key]
(reader/read-string ^js (.getItem js/localStorage (name key))))
(when-not util/node-test?
(reader/read-string ^js (.getItem js/localStorage (name key)))))
(defn set
[key value]
(.setItem ^js js/localStorage (name key) (pr-str value)))
(when-not util/node-test?
(.setItem ^js js/localStorage (name key) (pr-str value))))
(defn get-transit
[key]
(dt/read-transit-str ^js (.getItem js/localStorage (name key))))
(when-not util/node-test?
(dt/read-transit-str ^js (.getItem js/localStorage (name key)))))
(defn set-transit!
[key value]
(.setItem ^js js/localStorage (name key) (dt/write-transit-str value)))
(when-not util/node-test?
(.setItem ^js js/localStorage (name key) (dt/write-transit-str value))))
(defn get-json
[key]
(when-let [value (.getItem js/localStorage (name key))]
(js/JSON.parse value)))
(when-not util/node-test?
(when-let [value (.getItem js/localStorage (name key))]
(js/JSON.parse value))))
(defn set-json
[key value]
(.setItem ^js js/localStorage (name key) (js/JSON.stringify value)))
(when-not util/node-test?
(.setItem ^js js/localStorage (name key) (js/JSON.stringify value))))
(defn remove
[key]
(.removeItem ^js js/localStorage (name key)))
(when-not util/node-test?
(.removeItem ^js js/localStorage (name key))))
(defn clear
[]
(.clear ^js js/localStorage))
(when-not util/node-test?
(.clear ^js js/localStorage)))