JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 5796
  • Score
    100M100P100Q120220F
  • License ISC

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

Package Exports

  • obs-store
  • obs-store/lib/asStream
  • obs-store/lib/composed
  • obs-store/lib/localStorage
  • obs-store/lib/transform

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (obs-store) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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.