summaryrefslogtreecommitdiffstats
path: root/assets/javascript/utils/storage.js
blob: caa64bcb13248bd7233e94a82b2a877348133c41 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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 {
                return JSON.parse(localStorage[key]) || def;
            } catch(err) {
                return localStorage[key] || def;
            }
        },
        remove: function(key) {
            key = baseKey+":"+key;
            localStorage.removeItem(key);
        }
    };
});