0.0.2 • Published 8 years ago

cycle-storage-most-driver v0.0.2

Weekly downloads
2
License
MIT
Repository
github
Last release
8 years ago

This is a driver for all your pure-most Cycle apps (think Motorcycle) that needs a router only for the client.

Install

npm install --save cycle-storage-most-driver

Use

import most from 'most'
import Cycle from '@cycle/most-run'
import {makeDOMDriver, h} from '@motorcycle/dom'
import {makeStorageDriver} from 'cycle-storage-most-driver'

Cycle.run(app, {
  DOM: makeDOMDriver('#container', [
    require('snabbdom/modules/props'),
    require('snabbdom/modules/style')
  ]),
  STORAGE: makeStorageDriver(window.sessionStorage)
})

function app ({DOM, STORAGE}) {
  let vtree$ = STORAGE.all$
    .map(storage =>
      h('div', [
        h('span', `key 'somekey' has value ${storage['somekey']} stored.`),
        h('form', [
          h('input'),
          h('button', `set value at 'somekey`)
        ])
      ])
    )

  return {
    DOM: vtree$,
    STORAGE: DOM.select('form').events('submit')
      .tap(e => e.preventDefault())
      .map(e => ({
        'somekey': e.target.querySelector('input').value
      }))
  }
}