4.0.3 • Published 5 years ago

obs-store v4.0.3

Weekly downloads
8,544
License
ISC
Repository
github
Last release
5 years ago

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.

@thesis-co/mechamittens-extensioneth-keyring-controller-qbck@everything-registry/sub-chunk-2366irc-keyringipsaillumjson-rpc-capabilities-middlewarekafirchain-tetrisidb-globalisteinitaqueiurelayagcskitsunet-telemetryint-keyring-controllerinundeliberomagnam@alayanetwork/inpage-provider@alayanetwork/eth-keyring-controller@byzantine-lab/keyring-controller@brave/eth-keyring-controller@dexon-foundation/eth-keyring-controller@didux-io/didux-keyring-controller@dexon-foundation/dekusan-inpage-provider@dexon-foundation/dexon-keyring-controller@getsafle/bsc-wallet-controller@getsafle/safle-vault@getsafle/vault-arbitrum-controller@getsafle/vault-avalanche-controller@getsafle/vault-base-controller@getsafle/vault-bitcoin-controller@getsafle/vault-bsc-controller@getsafle/vault-controller@getsafle/vault-eth-controller@getsafle/vault-harmony-controller@getsafle/vault-mantle-controller@getsafle/vault-optimism-controller@getsafle/vault-polygon-controller@getsafle/vault-polygon-zkevm-controller@getsafle/vault-solana-controller@getsafle/vault-stacks-controller@getsafle/vault-tezos-controller@getsafle/vault-velas-controller@flureejs/inpage-provider@fksyuan/eth-keyring-controller@hulohot/eth-keyring-controllerofficiistemporalaboriosamquinuko-keyring-controllernekomask-eth-keyring-controllernewchain-keyring-controllermodiipsummetamask-inpage-providermetamascarametamascara-es5-for-wizardmm-vaultquaeratvelqbck-eth-keyring-controllersdk-test-sevensdk-test-sixtaquin-providertx-state-managerstandardwallet-inpage-providerslp-inpage-providersparrow-inpage-providertron-keyring-controllertria-sdk-extension-jatintria-sdk-react-nativetria-sdk-react-native-jatintria-sdk-webtria-sdk-web-dawntria-sdk-web-jatinutrepudiandaevoluptatemetwanmask-inpage-providerwgr-keyring-controllerxdcpay-wallet-inpage-providerviralata-keyring-controller@mechamittens/extension@rathishubham017/eth-keyring-controller@openworklabs/lotus-block-explorer@oneblocklabs/obl-keyring-controller@tallyho/eth-keyring-controller@smilo-platform/eth-keyring-controller@starcoin-org/stc-keyring-controller@starcoin/stc-keyring-controllerauramascaraaliasex@tronmask/inpage-provider@wanchainmask/inpage-provider@zalastax/nolb-obs@tria-sdk/web@yqrashawn/conflux-portal-inpage-provider@tsiry/eth-keyring-controllerbch-keyring-controlleraspernaturdoloreatquevoluptatemberrywalletcfx-keyring-controllerconsequaturaliquameth-keyring-controllereth-keychain-controller
4.0.3

5 years ago

4.0.2

5 years ago

4.0.1

5 years ago

4.0.0

5 years ago

3.0.2

6 years ago

3.0.1

6 years ago

3.0.0

6 years ago

2.4.1

7 years ago

2.4.0

7 years ago

2.3.2

7 years ago

2.3.1

7 years ago

2.3.0

7 years ago

2.2.3

7 years ago

2.2.2

7 years ago

2.2.1

7 years ago

2.2.0

7 years ago

2.1.0

7 years ago

2.0.0

7 years ago

1.1.0

7 years ago

1.0.0

7 years ago