summaryrefslogtreecommitdiffstats
path: root/theme/javascript/utils/storage.js
diff options
context:
space:
mode:
authorSamy Pessé <samypesse@gmail.com>2014-04-04 14:10:56 -0700
committerSamy Pessé <samypesse@gmail.com>2014-04-04 14:10:56 -0700
commit446d486a0fb725f3df76d9b6e8d2bca02042805b (patch)
treecfd5405f607fcca196ef5bad6b0b88662c30ccb9 /theme/javascript/utils/storage.js
parent07101deaefb8848d40231eea12a3bf0710e6a78e (diff)
downloadgitbook-446d486a0fb725f3df76d9b6e8d2bca02042805b.zip
gitbook-446d486a0fb725f3df76d9b6e8d2bca02042805b.tar.gz
gitbook-446d486a0fb725f3df76d9b6e8d2bca02042805b.tar.bz2
Add base for theming
Diffstat (limited to 'theme/javascript/utils/storage.js')
-rw-r--r--theme/javascript/utils/storage.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/theme/javascript/utils/storage.js b/theme/javascript/utils/storage.js
new file mode 100644
index 0000000..14275c6
--- /dev/null
+++ b/theme/javascript/utils/storage.js
@@ -0,0 +1,30 @@
+define(function(){
+ var baseKey = "";
+
+ /*
+ * Simple module for storing data in the browser's local storage
+ */
+ return {
+ setBaseKey: function(key) {
+ baseKey = key;
+ },
+ set: function(key, value) {
+ key = baseKey+":"+key;
+ localStorage[key] = JSON.stringify(value);
+ },
+ get: function(key, def) {
+ key = baseKey+":"+key;
+ try {
+ var v = JSON.parse(localStorage[key]);
+ return v == null ? def : v;;
+ } catch(err) {
+ console.error(err);
+ return localStorage[key] || def;
+ }
+ },
+ remove: function(key) {
+ key = baseKey+":"+key;
+ localStorage.removeItem(key);
+ }
+ };
+}); \ No newline at end of file