generic_store.js
IN PROGRESS - IN PROGRESS
Introduction
generic_store.js wraps store.js and add :
- an implementation in memory for safe tests or other use
- an (optional) automatic key prefixing for avoiding conflicts (NOT IMPLEMENTED)
NOTE : ONLY set() AND get() ARE IMPLEMENTED FOR NOW !
User Story
In you web app, you use the convenient local storage instead of fat cookies. Of course,
you use store.js (https://github.com/marcuswestin/store.js) to access the local storage.
Now there are two problems :
- it's unsafe to unit test your app since local storage is persistent and shared
- you may mess with another local storage user which use the same keys
Solution :
- Have a store.js implementation in memory for tests
- Have an automatic prefixing of keys
Usage
define(
[
'generic_store/generic_store',
],
function(GenericStore) {
"use strict";
var store1 = GenericStore.make_new("memory");
var store2 = GenericStore.make_new("memory");
var store3 = GenericStore.get_existing("local");
store.set('username', 'marcus');
store.get('username');
store.set('user', { name: 'marcus', likes: 'javascript' });
Installation
Bower : bower install generic_store.js
Npm : npm install generic_store
Unit tests
in the 'spec' folder. See also readme.txt in the 'test_runner' folder.