@reatom/observable
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

reatom logo

@reatom/observable

Package of Reatom for creating observers of atoms or stores

npm npm bundle size

Open in docs

Install

npm i @reatom/observable

or

yarn add @reatom/observable

NOTE. @reatom/observable depends on and works with @reatom/core.

Usage

import { declareAtom, declareAction, createStore } from '@reatom/core'

const action = declareAction()
const atom = declareAtom(0, on => [
  on(action, (state, payload) => payload)
])

const store = createStore(atom)

Store observer

import { observe } from '@reatom/observable'

const observableStore = observe(store)
const subscription = observableStore.subscribe(action => console.log(action))

subscription.unsubscribe() // unsubscribes

Alternative subscsribe

const subscription = observableStore.subscribe({
  next(action) {
    console.log(action)
  }
})

Atom observer

import { observe } from '@reatom/observable'

const observableAtom = observe(store, atom)
const subscription = observableAtom.subscribe(state => console.log(state))

subscription.unsubscribe() // unsubscribes

Alternative subscsribe

const subscription = observableAtom.subscribe({
  next(state) {
    console.log(state)
  }
})

Package Sidebar

Install

npm i @reatom/observable

Weekly Downloads

184

Version

1.0.0

License

MIT

Unpacked Size

24.1 kB

Total Files

10

Last publish

Collaborators

  • artalar