@haensl/assign-reducers
Version:
Combine redux reducers analogous to Object.assign.
4 lines (3 loc) • 580 B
JavaScript
// https://github.com/haensl/assign-reducers#readme v1.5.7 Copyright 2023 Hans-Peter Dietz
;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