Node's Pretty Magical

    obs-store

    4.0.3 • Public • Published

    ObservableStore

    ObservableStore is a synchronous in-memory store for a single value, that you can subscribe to updates on.

    const store = new ObservableStore(initState)
    store.subscribe(function showValue(value) {
      console.log('saw value:', value)
    })
     
    store.putState(5) // "saw value: 5"
    store.putState(true) // "saw value: true"
    store.putState({ hello: 'world' }) // "saw value: { hello: 'world' }"
     
    console.log(store.getState().hello) // "world"

    streams

    Each ObservableStore can be turned into an ObservableStoreStream. An ObservableStoreStream is a duplex stream that you can pipe new values into it or pipe its updated values out of it.

    Special behavior: Doesnt buffer outgoing updates, writes latest state to dest on pipe.

    const pipe = require('pump')
    const asStream = require('obs-store/lib/asStream')
     
    const storeOne = new ObservableStore(initState)
    const storeTwo = new ObservableStore()
     
    pipe(
      asStream(storeOne),
      transformStream,
      asStream(storeTwo)
    )

    Changelog

    3.0.0

    ObservableStore are no longer streams. You can create streams via asStream.

    Keywords

    none

    Install

    npm i obs-store

    DownloadsWeekly Downloads

    4,064

    Version

    4.0.3

    License

    ISC

    Unpacked Size

    18.5 kB

    Total Files

    16

    Last publish

    Collaborators

    • sethkfman
    • brad.decker
    • danfinlay
    • kumavis
    • rekmarks
    • metamaskbot
    • gudahtt