Gathering detailed insights and metrics for redux-create
Gathering detailed insights and metrics for redux-create
Gathering detailed insights and metrics for redux-create
Gathering detailed insights and metrics for redux-create
redux-immutable
redux-immutable is used to create an equivalent function of Redux combineReducers that works with Immutable.js state.
redux-create-reducer
Publishing createReducer from https://redux.js.org/recipes/reducing-boilerplate#generating-reducers
redux-act
An opinionated lib to create actions and reducers for Redux
@stenajs-webui/redux
This package contains utilities that can help create Redux features.
#archived: redux create reducer, action type and action creator
npm install redux-create
Typescript
Module System
Min. Node Version
Node Version
NPM Version
71.9
Supply Chain
98.9
Quality
77.7
Maintenance
100
Vulnerability
99.6
License
JavaScript (100%)
Total Downloads
4,597
Last Day
1
Last Week
4
Last Month
81
Last Year
521
MIT License
6 Stars
27 Commits
1 Forks
2 Watchers
1 Branches
2 Contributors
Updated on Jan 28, 2023
Latest Version
1.0.10
Package Id
redux-create@1.0.10
Size
99.27 kB
NPM Version
5.4.2
Node Version
8.5.0
Cumulative downloads
Total Downloads
Last Day
-50%
1
Compared to previous day
Last Week
-71.4%
4
Compared to previous week
Last Month
84.1%
81
Compared to previous month
Last Year
52.8%
521
Compared to previous year
redux create reducer, action creator, async action creator, action type
Usage:
Javascript:
1const selectedProduct = createReducer(state = null, { 2 [PRODUCT]: { 3 [SELECT]: (state, payload) => payload, 4 [TOGGLE]: (state, payload) => state === payload ? null : payload, 5 [UNSELECT]: () => null, 6 } 7});
TypeScript, Flow Type:
1const selectedProduct = createReducer(state: null | number = null, { 2 [PRODUCT]: { 3 [SELECT]: (state, payload) => payload, 4 [TOGGLE]: (state, payload) => state === payload ? null : payload, 5 [UNSELECT]: () => null, 6 } 7});
same code written using switch
1const selectedProduct = (state = null, action) => { 2 switch (action.type) { 3 case PRODUCT_SELECT: 4 return action.payload; 5 case PRODUCT_TOGGLE: 6 return state === action.payload ? null : action.payload; 7 case PRODUCT_UNSELECT: 8 return null; 9 default: 10 return state; 11 } 12};
Javascript:
1const createProduct = createActionCreator(PRODUCT_CREATE) 2 3const productData = {id: 1, name: "test"} 4createProduct(productData) // {type: "PRODUCT_CREATE", payload: {id: 1, name: "test"}}
TypeScript:
1interface IProduct { 2 id: number; 3 name: string; 4} 5 6const createProduct = createActionCreator<IProduct>(PRODUCT_CREATE) 7 8const productData: IProduct = {id: 1, name: "test"} 9createProduct(productData) // {type: "PRODUCT_CREATE", payload: {id: 1, name: "test"}}
Flow Type:
1declare type TProduct = { 2 id: number; 3 name: string; 4} 5 6const createProduct = createActionCreator<TProduct>(PRODUCT_CREATE) 7 8const productData: TProduct = {id: 1, name: "test"} 9createProduct(productData) // {type: "PRODUCT_CREATE", payload: {id: 1, name: "test"}}
1const asyncActionType = { 2 REQUEST: "REQUEST", 3 SUCCESS: "SUCCESS", 4 FAILURE: "FAILURE", 5}; 6 7const createAsyncActionCreator = (...type) => ({ 8 request: createActionCreator(type, asyncActionType.REQUEST), 9 success: createActionCreator(type, asyncActionType.SUCCESS), 10 failure: createActionCreator(type, asyncActionType.FAILURE), 11});
Usage:
Javascript:
1export const fetchProductsAction = createAsyncActionCreator(FETCH_PRODUCTS); 2 3export const fetchProducts = () => (dispatch) => { 4 dispatch(fetchProductsAction.request()); 5 6 productsApi.fetchProducts().then( 7 (payload) => dispatch(fetchProductsAction.success(payload)), 8 (error) => dispatch(fetchProductsAction.failure(error)), 9 ); 10};
TypeScript:
1interface IErrorPayload { 2 message: string; 3} 4 5export const fetchProductsAction = createAsyncActionCreator<{}, IProduct[], IErrorPayload>(FETCH_PRODUCTS); 6 7export const fetchProducts = () => (dispatch) => { 8 dispatch(fetchProductsAction.request()); 9 10 productsApi.fetchProducts().then( 11 (payload) => dispatch(fetchProductsAction.success(payload)), 12 (error) => dispatch(fetchProductsAction.failure(error)), 13 ); 14};
Flow Type:
1declare type TErrorPayload = { 2 message: string; 3} 4 5 export const fetchProductsAction = createAsyncActionCreator<{}, TProduct[], TErrorPayload>(FETCH_PRODUCTS); 6 7 export const fetchProducts = () => (dispatch) => { 8 dispatch(fetchProductsAction.request()); 9 10 productsApi.fetchProducts().then( 11 (payload) => dispatch(fetchProductsAction.success(payload)), 12 (error) => dispatch(fetchProductsAction.failure(error)), 13 ); 14};
1const PRODUCT = "PRODUCT"; 2const CATEGORY = "CATEGORY"; 3 4const SELECT = "SELECT"; 5const CREATE = "CREATE"; 6const UPDATE = "UPDATE"; 7const DELETE = "DELETE"; 8 9const PRODUCT_SELECT = createActionType(PRODUCT, SELECT) // "PRODUCT_SELECT"; 10const PRODUCT_CREATE = createActionType(PRODUCT, CREATE) // "PRODUCT_CREATE"; 11const PRODUCT_UPDATE = createActionType(PRODUCT, UPDATE) // "PRODUCT_UPDATE"; 12const PRODUCT_DELETE = createActionType(PRODUCT, DELETE) // "PRODUCT_DELETE"; 13 14...
[include]
./node_modules/redux-create/flow-typed/
1$ flow coverage ./src/index.js --color 2import createActionType from "./createActionType"; 3import createActionCreator from "./createActionCreator"; 4import { 5 asyncAction, 6 createAsyncActionCreator, 7} from "./createAsyncActionCreator"; 8import createReducer from "./createReducer"; 9 10export { 11 createActionType, 12 createActionCreator, 13 asyncAction, 14 createAsyncActionCreator, 15 createReducer, 16}; 17 18Covered: 100.00% (0 of 0 expressions)
No vulnerabilities found.
Reason
no binaries found in the repo
Reason
license file detected
Details
Reason
Found 0/27 approved changesets -- score normalized to 0
Reason
project is archived
Details
Reason
no SAST tool detected
Details
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
security policy file not detected
Details
Reason
project is not fuzzed
Details
Reason
branch protection not enabled on development/release branches
Details
Reason
87 existing vulnerabilities detected
Details
Score
Last Scanned on 2025-05-05
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More