Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

redux-duplicate-actions

Package Overview
Dependencies
Maintainers
1
Versions
34
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

redux-duplicate-actions

This is a redux middleware that detects duplicate actions & shows this in the console. You can choose to make them fatal errors or friendly warnings! Development use only!

  • 3.0.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
57
increased by90%
Maintainers
1
Weekly downloads
 
Created
Source

npm Downloads GitHub issues GitHub pull requests FOSSA Status NPM

Redux Duplicate Action Monitor

This is a redux middleware that detects duplicate actions & shows this in the console. Ideal for ensuring good redux practices. Development use only!

If there is a duplicate action you will see this in the browser console:

[redux-duplicate-actions] A duplicate action has been detected.
[redux-duplicate-actions] Unique action hash: e6d0f668
[redux-duplicate-actions] Unpacked action: {type: 'SET_DATA', payload: {…}}
[redux-duplicate-actions] Original action: {type: 'SET_DATA', payload: ƒ} // Read below

If your payload is a function the middleware we will attempt to unpack it and show you the actual data. It does this by simply running the function against store.getState(). So effectively action.payload(store.getState()). If this fails it will do the comparison as normal.

Supports Node 10.x +

Installation

Run this in the terminal:

npm install --save-dev redux-duplicate-actions

or

yarn add -D redux-duplicate-actions

Usage

Supported options:

fatal (type: boolean) - if true, will throw an error when a duplicate action is detected. Default is false.

logLevel (type: 'log' | 'warn' | 'error') - the level of logging to the console. Default is "warn".

payloadKey (type: string) - the key to use to get the payload for the redux action. Default is "payload".

unpackPayloadIfFunction (type: boolean) - if true, will attempt to unpack the payload if it is a function. Default is true.

if (__DEV__) {
  // To thrown fatal error on duplicate action
  const reduxDuplicateActions = require("redux-duplicate-actions")({
    fatal: true,
  });
  reduxMiddleware.push(reduxDuplicateActions);

  // To log duplicate action as warning
  const reduxDuplicateActions = require("redux-duplicate-actions")({
    fatal: false
  });
  reduxMiddleware.push(reduxDuplicateActions);
}

Test

Run the following commands to test the module:

yarn install && yarn test

Contributing

All contributions are very welcome, please read my CONTRIBUTING.md first. You can submit any ideas as pull requests or as GitHub issues. If you'd like to improve code, please feel free!

License

FOSSA Status

Keywords

FAQs

Package last updated on 17 Aug 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc