Session.js is a thin wrapper around localStorage and sessionStorage for saving user settings.
Initialize a session with one required option, key (which maps to the top-level key in localStorage or sessionStorage where the data will be saved). By default, sessionStorage will be used; if you pass persistent: true as part of the options hash, localStorage will be used.
var session = new Session({ key: 'userSettings' });
var session = new Session({
key: 'userSettings',
persistent: true,
namespace: 'indexPage'
});
You can also specify a namespace at initialization, which will prefix all of your underlying item keys.
Once initialized, use session like a key/value store, with simple get and set methods. Data passed to set will be serialized as JSON before storage, and deserialized when returned through get.
session.set('key', { "user": "data" });
session.get('key');
>>> { "user": "data" }
Destroy your session data with session.removeSession().
| attribute | type | default | description |
|---|---|---|---|
| key | string | Required. Session data will be stored at this key within either localStorage or sessionStorage. |
|
| persistent | boolean | false | false sets the storage backend to sessionStorage. true sets it to localStorage. |
| namespace | string | If specified, keys passed to .get and .set will be prefixed with this string (+ a .) internally. |
| method | description |
|---|---|
.set(key, value) |
Set and save a value in the storage backend. Value can be anything that will be serialized by JSON.stringify. |
.get(key) |
Retrieve a value from the storage backend. Value will be deserialized using JSON.parse. |
.removeSession() |
Call .removeItem on the storage backend with the session's key. |