Skip to content

mathieudutour/redux-object-to-promise

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

redux-object-to-promise

build status npm version

Redux middleware middleware to transform an object into a promise.

npm install --save redux-object-to-promise

Usage in middlewares

First, import the middleware creator and include it in applyMiddleware when creating the Redux store. You need to call it as a function (See later why on configuration section below):

import middleware from 'redux-object-to-promise';

composeStoreWithMiddleware = applyMiddleware(
  middleware({
    keyIn = 'promise',
    keyOut = 'promise',
    axiosOptions = {},
    tokenOptions = { storage = window.localStorage, key = 'token-key' }
  })
)(createStore);

To use the middleware, dispatch a promise property within the meta of the action.

Example:

The below action creator, when triggered dispatch(addTodo('use redux-object-to-promise'))

export function addTodo (text) {
  return {
    type: 'ADD_TODO',
    payload: {
      text
    },
    meta: {
      promise: { url: '/todo', method: 'post', data: { text } },
    }
  }
}

will dispatch

{
  type: 'ADD_TODO',
  payload: {
    text: 'use redux-optimist-promise'
  },
  promise: axiosPromise({ url: '/todo', method: 'post', data: { text } })
}

Usage with React-native

import { AsyncStorage } from 'react-native'
import middleware from 'redux-object-to-promise'

composeStoreWithMiddleware = applyMiddleware(
  middleware({
    tokenOptions: {
      storage: AsyncStorage
    }
  })
)(createStore);

License

MIT

About

Redux middleware to transform an object into a promise

Resources

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published