{"_id":"redux-immer","_rev":"5-a272e8c99e15ec1dff8ad3a6a22896f1","name":"redux-immer","dist-tags":{"latest":"1.0.5"},"versions":{"1.0.1":{"name":"redux-immer","version":"1.0.1","description":"redux-immer is used to create an equivalent function of Redux combineReducers that works with immer state.","main":"lib/redux-immer.js","module":"src/redux-immer.js","scripts":{"compile":"cross-env NODE_ENV=production babel src --out-dir lib","prepublish":"npm run compile"},"repository":{"type":"git","url":"git+https://github.com/salvoravida/redux-immer.git"},"keywords":["redux-immer","redux","combine","reducer","reducers","immer"],"author":{"name":"Salvatore Ravidà"},"license":"MIT","bugs":{"url":"https://github.com/salvoravida/redux-immer/issues"},"homepage":"https://github.com/salvoravida/redux-immer#readme","dependencies":{},"peerDependencies":{},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"6.24.1","babel-eslint":"^8.0.3","babel-jest":"20.0.3","babel-loader":"7.0.0","babel-plugin-import":"^1.2.1","babel-polyfill":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-react-app":"^3.0.0","babel-runtime":"6.23.0","cross-env":"^5.1.4","eslint":"^4.12.1","eslint-plugin-react":"^7.13.0","eslint-config-airbnb":"^17.1.0","eslint-config-defaults":"^9.0.0","eslint-plugin-import":"^2.17.2","eslint-plugin-jsx-a11y":"^6.2.1"},"_id":"redux-immer@1.0.1","_nodeVersion":"12.1.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-x3yfn6qAktcmJMCKwGUx93D1G5XPksd/kVXSFGZXmCDhMAHzj9CtboJwS5F1YX5ruldg+K6yIP+jEYbHuzNKOQ==","shasum":"0ecad33d15a3b975e48b80a5d38b133c0d0a94b2","tarball":"https://registry.npmjs.org/redux-immer/-/redux-immer-1.0.1.tgz","fileCount":8,"unpackedSize":6155,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc5NmdCRA9TVsSAnZWagAAG1kP/A8qz9+UvW0f/DEDFcGT\nIDInKrGK/FY4ARUtBJ8TkUGoyQkTppEmtzTRX5/n9SEySK0grZrpSmw8irsr\nhEaqsfVyQInlsAkATy4oRRTVeOU0Cmt5kcL1YW49yUB0xYDz9BhwCQki91vT\n70QrNmM2PWED9J+bcwkA6F3n18BIK0/qqxvdRQ6eKastmRt5j2G8tH+FSdaN\noZprkkny11akHAMIzgu6krOKlDNtudkpzd8rCNMKkEIt3FognHHjVceiYjkm\n6WZT0s3E3iaYWCFcQ+yY/pmrM7Q0qYzpXHqdrJnbkJe2DgZQVG5mNnktMmu5\n+fHCYVRMmIzLrQDaogy6hazj3jztdytYnVx0c6iCxhX4DiqfDkINiv9DAV5i\nNE5V1WORpAeSZfU+Nr+JBR7QcsLsxB7GEwL9rUmTuVsJMMPpXgnQAs9o7HoL\nOgjoxM7Bgex3L20WZ9hng1V2GX9ViL1NcD+I5j/vadKpFLw1XGTP18awkb6v\nHYmNFeT0s/X73uw1YqQT6g+yxfz5FTukxRfNs2KgrJH96xU2XrS37cCg1DgG\nrxNZgYlClLLnEHFN5UeMdNfe1zlP3o/WBSoZzXmxElNJHhfMkOmpFmXwbiR8\nu3qtPFaC+V72Q9mNdSO5NEMBVNAwRD961Wx9rkCZ6U21T1KW292iMLHgvA5X\ndos1\r\n=q7qo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCUrUcGngl6zczwPpRPQ5vA1CKXRv64vMUzDECb4K3POAIhAP2EbOwhoNGeM6gpPUQpXTgb8AVZtJZeikUB/lvtrdvA"}]},"maintainers":[{"name":"salvoravida","email":"salvoravida@gmail.com"}],"_npmUser":{"name":"salvoravida","email":"salvoravida@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-immer_1.0.1_1558501788252_0.28361906104981993"},"_hasShrinkwrap":false},"1.0.2":{"name":"redux-immer","version":"1.0.2","description":"redux-immer is used to create an equivalent function of Redux combineReducers that works with immer state.","main":"lib/redux-immer.js","module":"src/redux-immer.js","scripts":{"build":"cross-env NODE_ENV=production babel src --out-dir lib","prepare":"npm run build","prepublishOnly":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/salvoravida/redux-immer.git"},"keywords":["redux-immer","redux","combine","reducer","reducers","immer","redux-immutable","immutable"],"author":{"name":"Salvatore Ravidà"},"license":"MIT","bugs":{"url":"https://github.com/salvoravida/redux-immer/issues"},"homepage":"https://github.com/salvoravida/redux-immer#readme","dependencies":{},"peerDependencies":{},"devDependencies":{"@babel/cli":"^7.4.4","@babel/core":"^7.4.5","@babel/polyfill":"^7.4.4","@babel/preset-env":"^7.4.5","@babel/preset-react":"^7.0.0","@babel/runtime-corejs2":"^7.4.5","cross-env":"^5.2.0","eslint":"^5.16.0","eslint-config-airbnb":"^17.1.0","eslint-config-defaults":"^9.0.0","eslint-plugin-import":"^2.17.3","eslint-plugin-react":"^7.13.0","eslint-plugin-jsx-a11y":"^6.2.1","immer":"^3.1.3"},"gitHead":"980f3de1ada5067d9b5f4893f178f5fe03c22d24","_id":"redux-immer@1.0.2","_nodeVersion":"12.1.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-e1CPrPZnuRR68JQ6gga+6eSkCjMWajV9njQf2kjG/h1288XZigPbvilz5NHDqy1iKC6RmSuU2rni/HsSM+y6Pw==","shasum":"eefccafb0f560408506f4693fa862fba9334fb4b","tarball":"https://registry.npmjs.org/redux-immer/-/redux-immer-1.0.2.tgz","fileCount":8,"unpackedSize":6778,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc+3y6CRA9TVsSAnZWagAAy0kP/jEnNwAfNI0C2qEBlLIX\nog7y4YOqCnnmvBPuzaBLxZQ95WD9+dMUD8NiZzHe/m0dX47xmdqtrb6uOUkP\n1a7thFAHHccmPHb+kn08pR0IWV4qo3r+l+Qfh+s8m1+6yr+v24Qx15FhUQrG\nDSN4fN059q9EAHvxmw+P/s50YOPcfltu3yqUxWGJnwUuhzYtR6RmfnT50Kmm\nuyzLBw8UKj7SvJydTQmeKkICkdsrnEiE8wktu1ff7uGwZNvH6qVTwHlfXTlg\nAmMz5f7FRUZnB0kV9x1im0GhI2ztl9TKDDVXf5RNdLsSm3rVVadBfctQTyS2\nysNYbL0lKHPaLDdI3xr5w3j7kuFIfGZStg9JwceNoKXH1KAg9If1VGqOowkx\n9+rX9fEKbRBbVcekdHvv0Nr4uIIsY8PGdPYdbX35EsO8Tg1frJGNdOcwtv1e\n06WnWP8pSwsMG3wTW/Bg9UUTuPjEPp1YnBzFe+DmCT85BfAVFJZOrc2BIwJC\nycWl+DTKfCr/IekXo+F9rR8kjo52serW6KBvsEGAonq+NvPTgKXqZW5EG9nd\nRRJXqi8+sAWAQf2TtyxbaewgU8cKJZEO6LGi8MXpQdbu6puso78zfuMUQeiY\nPH4Q703qnjGMeFjSXrmajlA5AeiipgVwRY44BdZ8OeqhObkx4mVM+yJM255v\noRrC\r\n=onVM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIElowGgxkTKNsWbxkijkcYIIFS47j31FCLrqTCjAgCucAiAMYaVCwxzBIB4mPFBxCad3lepsmTtH4ffDm9au+RZh/A=="}]},"maintainers":[{"name":"salvoravida","email":"salvoravida@gmail.com"}],"_npmUser":{"name":"salvoravida","email":"salvoravida@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-immer_1.0.2_1559985338297_0.02480278637155786"},"_hasShrinkwrap":false},"1.0.3":{"name":"redux-immer","version":"1.0.3","description":"redux-immer is used to create an equivalent function of Redux combineReducers that works with immer state.","main":"lib/redux-immer.js","module":"src/redux-immer.js","scripts":{"build":"cross-env NODE_ENV=production babel src --out-dir lib","prepare":"npm run build","prepublishOnly":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/salvoravida/redux-immer.git"},"keywords":["redux-immer","redux","combine","reducer","reducers","immer","redux-immutable","immutable"],"author":{"name":"Salvatore Ravidà"},"license":"MIT","bugs":{"url":"https://github.com/salvoravida/redux-immer/issues"},"homepage":"https://github.com/salvoravida/redux-immer#readme","dependencies":{},"peerDependencies":{},"devDependencies":{"@babel/cli":"7.5.5","@babel/core":"7.5.5","@babel/preset-env":"7.5.5","cross-env":"5.2.0","eslint":"6.2.2","eslint-config-airbnb":"18.0.1","eslint-config-defaults":"9.0.0","eslint-plugin-import":"2.18.2","eslint-plugin-react":"7.14.3","eslint-plugin-jsx-a11y":"6.2.3"},"gitHead":"ac95836cbed59a3d20569e25c8e9a416f9b2fcb5","_id":"redux-immer@1.0.3","_nodeVersion":"12.1.0","_npmVersion":"6.11.2","dist":{"integrity":"sha512-JOQ2uK9vKAg5apbcwGITXcok1/QAlCQZsomNFqfKm8td9aOQPWDIrdAFhc9C89Hz+pp9c/NSs7yx0TQX1FEe0Q==","shasum":"cf295f598e6e3db86b405dc0590f7ca5efd5a966","tarball":"https://registry.npmjs.org/redux-immer/-/redux-immer-1.0.3.tgz","fileCount":8,"unpackedSize":6602,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdZPBuCRA9TVsSAnZWagAA1BEP/0oO6Stq3P9WlK6Mnv2F\nz5zdl05LyIhLD8+e7To80CfcLegQ6U+RW5fTqdIobhw9RWozXptxCRPNBgAJ\n3PKRre1JghcRSRhvP7ZfJ8G88Di4JIdwgSXZjXc1ojUp2Qo/aPm2dCfuY99l\nPKjS76Sr5Wtd8GXmksiE+mJuxNvhyK0z/+f4D9/qJvkqZjaOQ25P5SXzNy2H\nqDDLx5Ux6fBzxoZodqUtwJwodZPSHkIFoM5px7dDxZkKZzgqizpHEA4Fuu9P\ntI3V0PYxajlm50ffMQSMvLxdSymwi2KXSqhuQ2LJfX0ksjM0FQXd/8uMcMn5\nx1UIvnHeB9D1qAd54imE5srLDvLi+C17GcmL5mR/HWVvuAfCe/QsAp2idrBs\no22dNfjifhag3ltr47VOuJ4h2x2XYNGRD82lp8HPtlC9bvNpB/0/rSSYSeOY\nfLgPQIy2mrJsgxLxW+0PRgskpiVQHyJkeEv4GRcj3Iegud/VmXDHOLzNh/Y7\nuGtV1mGStbSS6SoQ8q3oI8o6o8Ag+3JUFrlNa4RvKRwhTWN0g6PnfLox1Wms\nRlxCNh8NxrOsT7CKyUvf/FfZmtitWdnn8345foSVNocUJKsKI1hGG9Lr5NvY\niigTz1GJeZIMxiXG94T/SMkEycD3XR81FRuU0cidScxrsgGbU92icV74gfVB\n5iqG\r\n=5xMF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDeghgoJ7BWkx3Pse4lLOI43yJq5uTtQ3DLD6SxEKdPtAiAICJ775jwKVc0zPeYBlHndlQQiVyWg8SRpP3O0KQ1a9g=="}]},"maintainers":[{"name":"salvoravida","email":"salvoravida@gmail.com"}],"_npmUser":{"name":"salvoravida","email":"salvoravida@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-immer_1.0.3_1566896237754_0.7552957118815333"},"_hasShrinkwrap":false},"1.0.4":{"name":"redux-immer","version":"1.0.4","description":"redux-immer is used to create an equivalent function of Redux combineReducers that works with immer state.","main":"lib/redux-immer.js","module":"src/redux-immer.js","types":"lib/index.d.ts","scripts":{"build":"cross-env NODE_ENV=production babel src --out-dir lib","prepare":"npm run build","prepublishOnly":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/salvoravida/redux-immer.git"},"keywords":["redux-immer","redux","combine","reducer","reducers","immer","redux-immutable","immutable"],"author":{"name":"Salvatore Ravidà"},"license":"MIT","bugs":{"url":"https://github.com/salvoravida/redux-immer/issues"},"homepage":"https://github.com/salvoravida/redux-immer#readme","dependencies":{},"peerDependencies":{},"devDependencies":{"@babel/cli":"7.5.5","@babel/core":"7.5.5","@babel/preset-env":"7.5.5","cross-env":"5.2.0","eslint":"6.2.2","eslint-config-airbnb":"18.0.1","eslint-config-defaults":"9.0.0","eslint-plugin-import":"2.18.2","eslint-plugin-react":"7.14.3","eslint-plugin-jsx-a11y":"6.2.3"},"gitHead":"cc38721a07574b33fed66862e7d0d9c5daf74ac1","_id":"redux-immer@1.0.4","_nodeVersion":"12.13.0","_npmVersion":"6.13.2","dist":{"integrity":"sha512-cA9Pg4uTaFW1opROazBbJnkuKsGUkk5gVdO8rlOb6UCunESv/kJtfoApRPMkPbTAAvoxV9bAZHJu48HXMTAIJQ==","shasum":"6a6f47fef0c6a17e4b6c811eb560717737c23c33","tarball":"https://registry.npmjs.org/redux-immer/-/redux-immer-1.0.4.tgz","fileCount":9,"unpackedSize":6749,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeIK7FCRA9TVsSAnZWagAA6nMP/iF3a6IpKW+/rG+Gepbd\nlne0Nm3d1S92zIkQZ9veWqkWJROURxjwqtaJsYrdoT3RsZ6z2PP+5tPZcBNG\nb5zAcqASmprSDd4Q/3IeBrkmByiA5qxM9TjMIkxl9opsVIARyz+nDFbY9+o4\nBxWwc1hgy/5FWH3PIgkY9XxspPoBjM9NVH8/ePT6d2Eq9ZR2pxCAFikihES3\nCcX9u0AOFtbQcTLObgkGo9YqvGlQXdgELiC1TX4gv5R4H1LpM2I92aT7oYGL\nHRb2XFCje/Xz8KRGmR8cVPZ3R18pKrBmmM1L0+Ed4mll5cEFFPF18q/9VnW6\nJFo0WWJ7xsgKKuJNt2P2n84F+zptenJvK56R/MiQ14/oVZ1vJaV5juUG/225\nckmBTx/N1GL2pdqoqEYeYEct14+NhzUCv3L5jhg4iHn1h7fz3A9l5dZRPZKy\nMCmcdomRVBJR6K5cx4kzSnFi55kvZjiU93FtJ9QVytM0h1esyCGLZ5MbbD4n\nUtIUJiLjvm8KRtqRDeEqAZumasabruuLRfCDLF1BysST7AUtObaCUF5kjG5o\nzhvI64OL8iBlztcBj8okitvHhpnVJvOfagTpxAqqTVkhzmie2/752+sH8+1H\n+1e+4MdhEBYVujGQUlnIb9A+A7dQZoDb81EkSlv2tRvxuGPfYmO31dykcb18\nLo8U\r\n=CJ4+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDejHjdPBURbVzGjn0N/5aCvNeHpdTPF5gm2IlNZhoRpQIhAP8QcD+1JQVXHqAzWCiQMR0s1YbpA5ASRYZT/bLpu+u1"}]},"maintainers":[{"name":"salvoravida","email":"salvoravida@gmail.com"}],"_npmUser":{"name":"salvoravida","email":"salvoravida@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-immer_1.0.4_1579200196690_0.7311083327399699"},"_hasShrinkwrap":false},"1.0.5":{"name":"redux-immer","version":"1.0.5","description":"redux-immer is used to create an equivalent function of Redux combineReducers that works with immer state.","main":"lib/redux-immer.js","module":"src/redux-immer.js","types":"lib/index.d.ts","scripts":{"build":"cross-env NODE_ENV=production babel src --out-dir lib","prepare":"npm run build","prepublishOnly":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/salvoravida/redux-immer.git"},"keywords":["redux-immer","redux","combine","reducer","reducers","immer","redux-immutable","immutable"],"author":{"name":"Salvatore Ravidà"},"license":"MIT","bugs":{"url":"https://github.com/salvoravida/redux-immer/issues"},"homepage":"https://github.com/salvoravida/redux-immer#readme","dependencies":{},"peerDependencies":{},"devDependencies":{"@babel/cli":"7.8.4","@babel/core":"7.8.7","@babel/preset-env":"7.8.7","@salvoravida/eslint-config":"0.0.4","cross-env":"7.0.2","immer":"6.0.5","redux":"4.0.5"},"gitHead":"cf2b766815e9550112797150bf76a73a827914b2","_id":"redux-immer@1.0.5","_nodeVersion":"12.14.1","_npmVersion":"6.13.2","dist":{"integrity":"sha512-sjYgK2a7aFm0Mx8dmBZ3jfSjIsWmPqIkVjQQIn7VLiDPMNrphjcAIZ8C3L75LxidkJDolHcj/MSbBVlllO/CXg==","shasum":"7ef375a3a06397fcc8575a2d017b3bedc07e25e2","tarball":"https://registry.npmjs.org/redux-immer/-/redux-immer-1.0.5.tgz","fileCount":9,"unpackedSize":6240,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexLT/CRA9TVsSAnZWagAA/LgP/iUPUrGvWSJWhYaE2wVN\nX2Q4hiz97aGDKvy2XHm4fusIUMnhOHH3iXxPic28QtJi5cXW4uI+p7xYgTXK\nZOK0GQD0AgfxmPNiyEFWjpRiWC2llayZWqG+Y4ieraO4bgVFPqEThv6CsnJd\nAqtOYdevZtWhvi6E6XDNCuLmqxmlAlCqWgHURgoRCwTD+jA/X7s1s0o3z0sY\n6zo7DKbzrD5dt9SX7Jxt4TBDXSe7WrVN9KwZs910FKIXncqivCI5yZULGJ59\ny4JnEQMWwtvXERHTKrstMMDKm4u8v+GPPKhw+mRn9We+Ey9tBclZFAnZyG69\nMVJJLlMri/2f4aAY4dTTgFxID4eAReI+hsVshNicaEtL6FE4nCk/4B60/iSD\nlZBEovQSe1yjPH5TJQRMrZxVlSMJZJyTRW1AuJK04yBp+1+dgJMfLzRv9eoq\n71QVFksDpiQl8pIJB5MzGi6xcYCr5rrfdza3jdrp2keCdxaYWAgtt4IVna0+\n7gUOm+F9iJcmBIqw8XoiTTsfYqAPCEvZwvkXOlEVWYUf2kFJIY7Hn9P5e+Jg\n8FFuvbTdRjvaVuIbzod7rrYGmjjDYS4IfX8WlutoWj18uyiyBqn86O/DgrCi\nkcmbdkF22PrF/z3xcGJZcjP4DYK0Uc/lYliM0pmVKXJTkIZFIV+P8iVBBgyP\nWXi8\r\n=d5dJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH+kZRc2FmGmyJtNXQkUaFTgKwm+/2H8sXStxps0gYyGAiAPoAIwzI9Ea9gthEBmZpxhFKATtMLrVoVX2REFl4+Ikw=="}]},"maintainers":[{"name":"salvoravida","email":"salvoravida@gmail.com"}],"_npmUser":{"name":"salvoravida","email":"salvoravida@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-immer_1.0.5_1589949695121_0.27504455712074827"},"_hasShrinkwrap":false}},"time":{"created":"2019-05-22T05:09:48.251Z","1.0.1":"2019-05-22T05:09:48.413Z","modified":"2022-05-15T15:24:04.820Z","1.0.2":"2019-06-08T09:15:38.422Z","1.0.3":"2019-08-27T08:57:17.892Z","1.0.4":"2020-01-16T18:43:16.884Z","1.0.5":"2020-05-20T04:41:35.238Z"},"maintainers":[{"name":"salvoravida","email":"salvoravida@gmail.com"}],"description":"redux-immer is used to create an equivalent function of Redux combineReducers that works with immer state.","homepage":"https://github.com/salvoravida/redux-immer#readme","keywords":["redux-immer","redux","combine","reducer","reducers","immer","redux-immutable","immutable"],"repository":{"type":"git","url":"git+https://github.com/salvoravida/redux-immer.git"},"author":{"name":"Salvatore Ravidà"},"bugs":{"url":"https://github.com/salvoravida/redux-immer/issues"},"license":"MIT","readme":"# redux-immer  [![npm version](https://img.shields.io/npm/v/redux-immer.svg?style=flat)](https://www.npmjs.org/package/redux-immer)\r\n\r\n`redux-immer` is used to create an equivalent function of Redux combineReducers that works with `immer` state. </br>\r\nLike `redux-immutable` but for `immer`\r\n\r\nInstallation\r\n-----------\r\nUsing [npm](https://www.npmjs.com/):\r\n\r\n    $ npm install --save redux-immer\r\n   \r\n# Features\r\n \r\n* one time only produce\r\n* standard-like reducers\r\n* support react-router routerReducer integration (`redux-first-history` / `react-router-redux` / `connected-react-router`)\r\n\r\nUsage\r\n-----\r\n\r\nstore.js\r\n\r\n```javascript\r\nimport { createStore, applyMiddleware } from 'redux';\r\nimport { combineReducers } from 'redux-immer';\r\nimport produce from 'immer';\r\n\r\n// Reducers\r\nimport { user } from './user';\r\nimport { catalog } from './catalog';\r\n\r\nexport const store = createStore(\r\n  combineReducers(produce, {\r\n     user,\r\n     catalog,\r\n     // ...\r\n  }),\r\n  // applyMiddleware...\r\n);\r\n```\r\n\r\nuser.js \r\n```javascript\r\nconst initialState = {\r\n  id: null,\r\n  profile: {}\r\n};\r\n\r\nexport const user = (state = initialState, action) => {\r\n  switch (action.type) {\r\n    case LOAD_USER: \r\n      state.id = action.id;\r\n      state.profile = action.profile;\r\n      return state; // or just return; (immer way)\r\n    default:\r\n      return state;  //important return state on default for initialState!!\r\n  }\r\n};\r\n```\r\n\r\ncatalog.js \r\n```javascript\r\nconst initialState = [];\r\n\r\nexport const catalog = (state = initialState, action) => {\r\n  switch (action.type) {\r\n    case LOAD_CATALOG:\r\n      state = action.data;\r\n      return state; // or just return; (immer way)\r\n    default:\r\n      return state;  //important return draft on default for initialState!!\r\n  }\r\n};\r\n```\r\n\r\n# Tips\r\nYou may call `combineReducers` at any level of the reducer hierarchy. It doesn't have to happen at the top. In fact you may use it again to split the child reducers that get too complicated into independent grandchildren, and so on. (exact as original redux.combineReducer https://redux.js.org/api/combinereducers)\r\n\r\n# Feedback\r\n\r\nLet me know what do you think! <br>\r\n*Enjoy it? Star this project!* :D\r\n\r\nany idea? let me know and contribute!\r\n\r\nContributors\r\n------------\r\nSee [Contributors](https://github.com/salvoravida/redux-immer/graphs/contributors).\r\n\r\nLicense\r\n-------\r\n[MIT License](https://github.com/salvoravida/redux-immer/blob/master/LICENSE.md).\r\n","readmeFilename":"README.md"}