0.1.3 • Published 9 years ago
choo-offline v0.1.3
choo-offline

offline first support for choo apps
Installation
npm install --save choo-offlineUsage
const choo = require('choo')
const offline = require('choo-offline')
const app = choo()
offline(offline => {
app.use(offline)
const tree = app.start()
document.body.appendChild(tree)
})API
offline([opts], fn())
Function that wraps the choo start and use methods, only needed for this plugin, other plugins can be registered before.
It can take two parameters.
opts
Type: Object
Optional configuration object for the plugin, can take the following options:
serviceWorker(String): A string with the relative path to a service worker file, if not provided, it will not install a service worker. Defaults:''.dbConfig(Object): An object with localforage config.
fn
Type: Function
Required function that get as the only argument, the offline plugin object. The object use the following hooks:
onStateChange: To update the app state locally with localforage.onAction: To check if the app is offline and, if it is, use a backup action. Use the backup function when you have actions that depend on network availability, just define a_backupoption in yoursend()data, the_backupoption must be a string calling an effect or reducer from your model. For example
The above statement will callsend('xhrEffect', { foo: bar, _backup: 'nonXhrBackup' })xhrEffectnormally, but when offline, it will call thenonXhrBackupeffect|reducer, passing the same data, excluding the _backup strings.wrapInitialState: To get the initial local state.
License
MIT
Crafted with <3 by YerkoPalma .
This package was initially generated with yeoman and the p generator.