thomasdashney/redux-modular

View on GitHub
src/create-action.js

Summary

Maintainability
A
0 mins
Test Coverage
export default function createAction (type, payloadCreator) {
  if (!payloadCreator) {
    payloadCreator = () => null
  }

  const actionCreator = (...params) => {
    const payload = payloadCreator(...params)
    const action = { type, payload }

    if (payload instanceof Error) {
      action.error = true
    }

    return action
  }

  actionCreator.toString = () => type

  return actionCreator
}