UNPKG

@haensl/assign-reducers

Version:

Combine redux reducers analogous to Object.assign.

4 lines (3 loc) 580 B
// https://github.com/haensl/assign-reducers#readme v1.5.7 Copyright 2023 Hans-Peter Dietz "use strict";module.exports=(e,t={})=>{if("function"!=typeof e)throw new TypeError("Invalid parameter, expected reducer function!");if(null===t||"object"!=typeof t)throw new TypeError("Invalid parameter, expected reducers object!");return(r,n)=>{const o=e(r,n);let c=o!==r;const u=Object.keys(t).map((e=>{const u=t[e](o[e],n);return c=c||r[e]!==u,{key:e,nextState:u}})).reduce(((e,t)=>(e[t.key]=t.nextState,e)),{});return c?{...o,...u}:r}}; //# sourceMappingURL=assign-reducers.cjs.js.map