choo-persist
Persist choo state to localStorage. localStorage is supported by all major browsers.
Usage
var persist = var choo = var app = app
API
instance = persist([opts])
Load the app state from localStorage
and set up listeners to write the state
back on every event. Can take an optional argument of options:
- opts.name: default
'choo-persist'
; thelocalStorage
key. - opts.filter(state): modify the state that's about to be saved. Useful for removing values that cannot be serialized to JSON.
var xtend = var opts = { state = // clone the object delete statesadArrayFilledWithFunctions return state }
Installation
$ npm install choo-persist
Should I use this while developing.
No; state is persisted between page reloads which might put your page in very odd states, with a very annoying way to clear. Consider using hot reloading for development instead.
How / when should I invalidate the database cache?
Ah, this is where good ol' data persistance comes into play - there's loads of approaches on this, but yeah you should def find a way to migrate data between incompatible models. Perhaps some day we'll have a good chapter on this in the choo handbook. Until then: have fun I guess?