Skip to content

caiogondim/redux-whenever.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

redux-whenever

Travis CI Codecov

Subscribe to a state subtree (or leaf) and run callbacks whenever it evaluates to a given value.

Installation

npm install --save redux-whenever

Usage

Adding subscriber

const whenever = require('redux-whenever')
const redux = require('redux')

// Pass `whenever` as an enhancer
const store = redux.createStore(reducer, whenever)

// Pass the state selector you are interested in as a string.
// `callback` will execute only when `player.isReady` becames `true`
store.whenever('player.isReady', true, (curState, prevState) => {
  // Your magic here
})

Removing subscriber

const unsubscribe = store.whenever('player.isReady', true, callback)
unsubscribe() // Removes previously added listener

API

const unsubscribe = store.whenever(selector, assertion, callback)

Returns a function that, if called, removes the added subscriber.

selector

  • type: String|Function

Should return a piece of the state tree

assertion

  • type: String|Number|Object|Function

If a function, it will be executed. If not, it's equality will be compared against current state.

callback

  • type: Function

Credits

  • Icon by Scott Lewis from the Noun Project

caiogondim.com  ·  GitHub @caiogondim  ·  Twitter @caio_gondim

About

🕟 Redux store subscriber for specific state change

Resources

Stars

Watchers

Forks

Packages

No packages published