Looking for feedback on correctness and code structure.Follow up to:SStorage (remember) - v0Note that b.c. the user can only change the storage type when logging in, there is no need to copy back and forth between storage types./*****************************************************************************************************SStorage - handles remember option of logging in and namespaces the domain as well*/    var SStorage = $A.Class.create({        Name: 'SStorage',        A: {            // storage type            storage:    null,            // set the namespace here            ns:         'arcmarks_',            // storage key which keeps track of storage type            indicator:  'arcmarks_h_token'        },        // type of storage is set when the user logs in        // and called below        setType: function (remember) {            this.A.storage = remember ? $A.localStorage : $A.sessionStorage;        },        // determine type of storage at load MUserAny        load: function () {            this.setType($A.localStorage[this.A.indicator]);        },        // basic setters and getters with namespacing        set: function (key, value) {            this.A.storage[this.A.ns + key] = value;        },        get: function (key) {            return this.A.storage[this.A.ns + key];        },        setObj: function (o) {            $A.someKey(o, function (val, key) {                this.A.storage[this.A.ns + key] = val;            }, this);        },        getObj: function () {            var o = {},                real_key,                namespace;            $A.someKey(this.A.storage, function (val, key) {                // retrieves after the name-space                real_key = key.slice(this.A.ns.length);                // retrieves the name-space                namespace = key.slice(0, this.A.ns.length);                if (namespace === this.A.ns) {                    o[real_key] = val;                }            }, this);            return o;        },        // clear only namespaced items        clear: function () {            var key;            for (key in this.A.storage) {                if (key.slice(0, this.A.len) === this.A.ns) {                    this.A.storage.removeItem(key);                }            }        }    }, true);
A class for remember me
javascript
From a once over:You are a bit overdoing the blank lines in your definition of AI like the namespace idea, given how you implement getObj and setObj, it would be nice if the caller could set the namespace.setType -> I get that remember probably means you want to remember info across sessions, hence you choose localStorage and not sessionStorage, still something like persist or persistAcrossSessions could be more informative.setObj -> does totally not what I would expect it to do, I would expect your code to JSON.stringify() and assign that to a key, however you store each property individually which can make for a very messy retrievalgetObj -> does exactly what I thought i would, give all properties in 1 object, this is very limited functionality. You should consider really consider JSON in your class.clear -> I would make var key part of the for loop : for (var key in this.A.storage) {Commenting is uneven, the 2 functions which are most surprising to me have no comments.