'a'
mh-two-thousand-and-two
2024-04-12 44d2c92345cd156a59fc327b3060292a282d2893
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
var Store = require('./Store');
var safeStorage = require('./safeStorage');
var isEmpty = require('./isEmpty');
var stringify = require('./stringify');
var defaults = require('./defaults');
var isObj = require('./isObj');
var sessionStorage = safeStorage('session');
exports = Store.extend({
    initialize: function SessionStore(name, data) {
        this._name = name;
        data = data || {};
        var sessionData = sessionStorage.getItem(name);
        try {
            sessionData = JSON.parse(sessionData);
        } catch (e) {
            sessionData = {};
        }
        if (!isObj(sessionData)) sessionData = {};
        data = defaults(sessionData, data);
        this.callSuper(Store, 'initialize', [data]);
    },
    save: function(data) {
        if (isEmpty(data)) return sessionStorage.removeItem(this._name);
        sessionStorage.setItem(this._name, stringify(data));
    }
});
 
module.exports = exports;