@haensl/assign-reducers
Version:
Combine redux reducers analogous to Object.assign.
4 lines (3 loc) • 1.26 kB
JavaScript
// https://github.com/haensl/assign-reducers#readme v1.5.7 Copyright 2023 Hans-Peter Dietz
import e from"@babel/runtime/helpers/defineProperty";function r(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function t(t){for(var n=1;n<arguments.length;n++){var o=null!=arguments[n]?arguments[n]:{};n%2?r(Object(o),!0).forEach((function(r){e(t,r,o[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):r(Object(o)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))}))}return t}var n=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("function"!=typeof e)throw new TypeError("Invalid parameter, expected reducer function!");if(null===r||"object"!=typeof r)throw new TypeError("Invalid parameter, expected reducers object!");return(n,o)=>{var c=e(n,o),p=c!==n,i=Object.keys(r).map((e=>{var t=r[e](c[e],o);return p=p||n[e]!==t,{key:e,nextState:t}})).reduce(((e,r)=>(e[r.key]=r.nextState,e)),{});return p?t(t({},c),i):n}};export{n as default};
//# sourceMappingURL=assign-reducers.esm.js.map