reduced-utils

0.1.2 • Public • Published

reduced-utils

Tini immutability and reducer utils library

Usage

set

import { set } from "reduced-utils";
const myObject = {
    someProp: "value"
};
const value = "Hello World";
const nextObject = set(myObject, ["some", "deep", "value"], value);

console.log(myObject) // {someProp: "value"}
console.log(nextObject) // {someProp: "value", some: {deep: {value: "Hello World"}}}

combineReducers

combineReducers(
  reducers: {
    [sliceName: string]: (
      state: Object, 
      action: Object
    ) => newState: Object
  },
  initialState?: Object
): (state: Object, action: Object) => newState: Object

See: https://redux.js.org/api-reference/combinereducers

const rootReducer = combineReducers({potato: potatoReducer, tomato: tomatoReducer}, {});

createReducer

import { createReducer } from "reduced-utils";
import * as ActionTypes from "../constants/ActionTypes";

const initialState = {
    counter: 0
};

export const counterReducer = createReducer({
  [ActionTypes.INCREASE]: (state, {value = 1}) => ({...state, counter: state.counter + value}),
  [ActionTypes.DECREASE]: (state, {value = 1}) => ({...state, counter: state.counter - value})
}, initialState);

Package Sidebar

Install

npm i reduced-utils

Weekly Downloads

93

Version

0.1.2

License

MIT

Unpacked Size

32.9 kB

Total Files

9

Last publish

Collaborators

  • jonas_winzen