{"_id":"redux-persist-seamless-immutable","_rev":"6-3a4bb00d13d44c78df2fd7d2921417bd","name":"redux-persist-seamless-immutable","description":"Use seamless-immutable with redux-persist v5","dist-tags":{"latest":"2.0.0"},"versions":{"1.0.0":{"name":"redux-persist-seamless-immutable","version":"1.0.0","description":"Use seamless-immutable with redux-persist v5","main":"src/index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"peerDependencies":{"seamless-immutable":"*"},"repository":{"type":"git","url":"git+https://github.com/hilkeheremans/redux-persist-seamless-immutable.git"},"keywords":["redux","persist","seamless","immutable","v5"],"author":{"name":"Hilke Heremans"},"license":"MIT","bugs":{"url":"https://github.com/hilkeheremans/redux-persist-seamless-immutable/issues"},"homepage":"https://github.com/hilkeheremans/redux-persist-seamless-immutable#readme","licenseText":"MIT License\n\nCopyright (c) 2017 Zack Story\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","_id":"redux-persist-seamless-immutable@1.0.0","dist":{"shasum":"9a2050374b7885415fd2b84b6e341e13b669df4b","tarball":"https://registry.npmjs.org/redux-persist-seamless-immutable/-/redux-persist-seamless-immutable-1.0.0.tgz","integrity":"sha512-4e6SR3JiPU2R9QMI3mtg8GdCHc66heR5AgrFUY/S1G0CSFDFPaSmIz6bBV76QibFg01lpx210Ip5hgpRcYkbvA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGOBNNLDFeMMAGCC7n8JE3QnK8hOrM5BUPC2ZlK6HxSmAiEA5EO5kAXYSi0ZrE2OQ47HJOeNx9f595raZpPJRhiqq/Q="}]},"maintainers":[{"name":"hilkeheremans","email":"hilke@thinman.be"}],"_npmUser":{"name":"hilkeheremans","email":"hilke@thinman.be"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-persist-seamless-immutable-1.0.0.tgz_1514834484237_0.5720041596796364"},"directories":{}},"1.0.1":{"name":"redux-persist-seamless-immutable","version":"1.0.1","description":"Use seamless-immutable with redux-persist v5","main":"lib/index.js","scripts":{"build":"rimraf lib && babel src --out-dir lib","prepublish":"npm run build","test":"echo \"Error: no test specified\" && exit 1"},"devDependencies":{"babel-cli":"^6.6.5","babel-eslint":"^5.0.0","babel-loader":"^6.2.4","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-es2015":"^6.6.0","babel-preset-react":"^6.5.0","babel-preset-stage-0":"^6.5.0","rimraf":"^2.5.2"},"peerDependencies":{"seamless-immutable":"*"},"repository":{"type":"git","url":"git+https://github.com/hilkeheremans/redux-persist-seamless-immutable.git"},"keywords":["redux","persist","seamless","immutable","v5"],"author":{"name":"Hilke Heremans"},"license":"MIT","bugs":{"url":"https://github.com/hilkeheremans/redux-persist-seamless-immutable/issues"},"homepage":"https://github.com/hilkeheremans/redux-persist-seamless-immutable#readme","gitHead":"bc4040750aae942cb33f72763d867e97377c1ae0","_id":"redux-persist-seamless-immutable@1.0.1","_npmVersion":"5.5.1","_nodeVersion":"8.7.0","_npmUser":{"name":"hilkeheremans","email":"hilke@thinman.be"},"dist":{"integrity":"sha512-Z5fvq8eNuAxHoOtDsq2ublKBsR/w139e2/ZCgHXIjUQHGorCsE2kFcTvAfl2+HoDWDupWvLApm5ZlKRsZycxvg==","shasum":"e7a6c5834eaba56be7a59eec1feb6ea7e4f28e23","tarball":"https://registry.npmjs.org/redux-persist-seamless-immutable/-/redux-persist-seamless-immutable-1.0.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD7T8WyGmiBhBak82YgKz2kv6KXRVOQtKDiixyYnbmQGwIhAI7mC9jMvLEUEkwp+s4nDEosgg9jc2ctJZwPRF3RamPo"}]},"maintainers":[{"name":"hilkeheremans","email":"hilke@thinman.be"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-persist-seamless-immutable-1.0.1.tgz_1515008826707_0.23447855561971664"},"directories":{}},"1.1.0":{"name":"redux-persist-seamless-immutable","version":"1.1.0","description":"Use seamless-immutable with redux-persist v5","main":"lib/index.js","scripts":{"build":"rimraf lib && babel src --out-dir lib","prepublish":"npm run build","test":"echo \"Error: no test specified\" && exit 1"},"devDependencies":{"babel-cli":"^6.6.5","babel-eslint":"^5.0.0","babel-loader":"^6.2.4","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-es2015":"^6.6.0","babel-preset-react":"^6.5.0","babel-preset-stage-0":"^6.5.0","rimraf":"^2.5.2"},"peerDependencies":{"seamless-immutable":"*"},"repository":{"type":"git","url":"git+https://github.com/hilkeheremans/redux-persist-seamless-immutable.git"},"keywords":["redux","persist","seamless","immutable","v5"],"author":{"name":"Hilke Heremans"},"license":"MIT","bugs":{"url":"https://github.com/hilkeheremans/redux-persist-seamless-immutable/issues"},"homepage":"https://github.com/hilkeheremans/redux-persist-seamless-immutable#readme","gitHead":"a6df011cec0d77aaef036f2b2a896ea4e095865f","_id":"redux-persist-seamless-immutable@1.1.0","_npmVersion":"5.6.0","_nodeVersion":"10.2.0","_npmUser":{"name":"hilkeheremans","email":"hilke@thinman.be"},"dist":{"integrity":"sha512-CnJ7DaKpcXFNUTVScvCfmpXMMZRzYh9O3kTHEOCPuqHVTtm/pD1IX9L4mmgjhiOhYzvopAT/g/psP/meRE3A3Q==","shasum":"9e7dc2516b8bd7c38541dcde873d5316e40484b5","tarball":"https://registry.npmjs.org/redux-persist-seamless-immutable/-/redux-persist-seamless-immutable-1.1.0.tgz","fileCount":8,"unpackedSize":83845,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbKMfZCRA9TVsSAnZWagAAXJcP/29OoONqVIOAuxpEdPDQ\nQyKC4E6g697TIY5y3bqzwnqtGdpwWxcv9HxhTIll3tuUQeHh6FfSw1shxsSE\nKgEMd8i3yQj8C1M9O91W1CPIVdCdzm1txQyCR/C2LjJyZALxv4ciiIK+nJKW\n7t35xxsHlPwNO92x5FV2Ad0K8PAW1s6VhG+y35J+ddrsjR68if0Wjzr3E7Em\noJtuatLVVXBc/fRhfYaSt3oXkMZwAXLWjq9bmzmivLGpO5EfiYrXIVT5nbQc\nCMdxAEfqJ3deNTm+LnMxYTin9YiEiwQLgZuazcwTm4nTNc9p8jj9o4GUZL7v\nS4ypOcJB7n+qEfHUjK57FBE/fjllZKhlXIl5UajD2srFof4wrw3jX3mM+OGz\nKUoVEzqPdKnRztxK1VcGAWItFenyDr9g2QrvnfZnmRZ+CiTIRhd7BfhYHlTZ\nqHtrTRkm7ppTEsfv5DBrCcHDIle5KSn/UJi3kHcaXkcK3hD/1jseqzeyD3cA\npfbkqYs30uDzAliv7rq5Np7wQzFsKIAuJGZkeJA2EWEIhf/eB/bv+Fs540ZI\nrd9Ov6/fYFF8/qmZYXjiSrohIVN1pBw37X2LB5lEIc8bDVoEfb1UiBHRPIu6\n/XGS7jPJ+0b8gkv9wQgcINaBMtpbQ71teGhJc9eapXyrdcCaaeerBmNlmcnI\nHXK1\r\n=e7hh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHksYCv7liOxacs/GQpTbAxMevB0HY3GzKOXTJUx2bIqAiEAtQygEFlxMM15HK3lXTC/1TxPLScliha4Sw5gF6Y4c2s="}]},"maintainers":[{"name":"hilkeheremans","email":"hilke@thinman.be"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-persist-seamless-immutable_1.1.0_1529399256754_0.9289935842191588"},"_hasShrinkwrap":false},"2.0.0":{"name":"redux-persist-seamless-immutable","version":"2.0.0","description":"Use seamless-immutable with redux-persist v5","main":"lib/index.js","scripts":{"build":"rimraf lib && babel src --out-dir lib","prepublish":"npm run build","test":"echo \"Error: no test specified\" && exit 1"},"devDependencies":{"babel-cli":"^6.6.5","babel-eslint":"^5.0.0","babel-loader":"^6.2.4","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-es2015":"^6.6.0","babel-preset-react":"^6.5.0","babel-preset-stage-0":"^6.5.0","rimraf":"^2.5.2"},"peerDependencies":{"seamless-immutable":"*"},"repository":{"type":"git","url":"git+https://github.com/hilkeheremans/redux-persist-seamless-immutable.git"},"keywords":["redux","persist","seamless","immutable","v5"],"author":{"name":"Hilke Heremans"},"license":"MIT","bugs":{"url":"https://github.com/hilkeheremans/redux-persist-seamless-immutable/issues"},"homepage":"https://github.com/hilkeheremans/redux-persist-seamless-immutable#readme","gitHead":"4337251cad250a0517ad356a6bab7d071d7513d0","_id":"redux-persist-seamless-immutable@2.0.0","_npmVersion":"5.6.0","_nodeVersion":"10.2.0","_npmUser":{"name":"hilkeheremans","email":"hilke@thinman.be"},"dist":{"integrity":"sha512-o23ej9EcEzI61XgzRw23mde73Ejo3s4M5UpCuSq/ZXHbBHcLWw/I6holYnzrpytltdjUNU1MXLzb+AUiAjQ5tQ==","shasum":"7433d6b04f58a98bc1b7d57f6f2884884c57f8d4","tarball":"https://registry.npmjs.org/redux-persist-seamless-immutable/-/redux-persist-seamless-immutable-2.0.0.tgz","fileCount":9,"unpackedSize":87826,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbMqtPCRA9TVsSAnZWagAAFrQQAIHA7Rj2ua/QzTByxYAK\nIGjlbVE8Q9WAuaVNT5VoIJfLBJwqMRXTsV7iynnoucW1KlBZ3hHDbI+A6ndR\nDtrlQAcyypmVcol+Qc54xo4UySoFv0+UcBGEfNvVcqSP3mhbiAwvQF1KAotp\ndrC0gFKCKNGigiVccF/HeV8t06WFYgB9a6bT5UcXPClZg6vNT3DHJeJ05bzz\nWGfWlvpIBHv6f/t1B4dPs4JubvoPe8aGSfA6mnm4MpQsHtaARaNGLC4G7wiU\nuAq3IqE110+LoY9xptEvrdzNtF3+Wty2kEzNSoxm7qJ+fm3fuUhDJdhX4VSX\nKUu+vTNidnGSdA5iFIVeYzbB5cOYSvSrFY/pLeX1uDzvza5fPgAhVahw/TG7\nA0IvriWSZrJvRu3OCs95yY6reAWhj2VLkqLjfIgW/q43rEzoS2TZJt8kqp11\nxWdXDfaXsp0Ojq/Xdac/Q3g/TCgA3a7BR2ZFUvJlHcP1R59ITtL3Eh/telt0\nszvp5xVfFIGRHdt1ICkQSTTxIGIBmJXVpczeeIFapf8kk02YUjyVAXjYf721\n2FMBX35SXR/+s9ma27zVmCNoq5kn30tFmUshkjbLzOkmWVq6dld2CYJTA0Lk\ncGl4VUUoPxvQ9vHCM3+cT50Zd7z0efeIe1bswKdPLgYV+6eXnlR+QkBMRTAn\nE557\r\n=aTl6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCJ3zelsJh+7n2KtPSDOxEurdHVgfJ84gTJ2W59tSBU8gIgDbDMcfktvlsPmaJhMfCiMOZU1pheRISbaSoQ6cT4Wnw="}]},"maintainers":[{"name":"hilkeheremans","email":"hilke@thinman.be"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-persist-seamless-immutable_2.0.0_1530047311477_0.38060779343858875"},"_hasShrinkwrap":false}},"readme":"# redux-persist-seamless-immutable\n\nThis package lets you use `seamless-immutable` on a per-reducer basis along with `redux-persist v5`.\n\nLots of people seem to have trouble with this, so I decided to cobble together a quick fix.\n\n> Update to v2: easy-to-fix breaking change; `seamlessImmutableTransformer` has changed to `seamlessImmutableTransformCreator` to better reflect its new status as a function.\n\n## Why\n\n> Why is this package for me?\n\nYou love using `seamless-immutable` with `redux` and `redux-persist` and found yourself enthusiastically upgrading to `redux-persist v5`.\n\nHaving read the `redux-persist` docs for v5 you already know that it no longer supports top-level immutable state. But you don't use immutable at that level -- you use it on a per-reducer basis, with top-level state still being a POJO.\n\nYou trod on. But, even after using a custom transformer, you then find v5 is consistently throwing you `state.merge is not a function` as soon as any immutable reducer changes state.\n\n## Usage\n\n`npm i redux-persist-seamless-immutable` or `yarn add redux-persist-seamless-immutable`.\n\n### v5\n\n```\nimport { seamlessImmutableReconciler, seamlessImmutableTransformCreator } from 'redux-persist-seamless-immutable'\n\nconst transformerConfig = {\n  whitelistPerReducer: {\n      reducerA: ['keyA', 'keyB']\n  },\n  blacklistPerReducer: {\n      reducerB: ['keyC', 'keyD']\n  }\n}\n\nconst fooConfig = {\n  key: 'foo',\n  storage: LocalStorage,\n  stateReconciler: seamlessImmutableReconciler,\n  transforms: [seamlessImmutableTransformCreator(transformerConfig)]\n}\n```\n\n#### tranformerConfig\nThe transformer can accept a config object with the following keys, which will allow you to white or blacklist specific keys per reducer.\n```\n{\n  whitelistPerReducer: {\n      reducerA: ['keyA', 'keyB']\n  },\n  blacklistPerReducer: {\n      reducerB: ['keyC', 'keyD']\n  }\n}\n```\n\n## Credits\n\nThe transformation is based on comments over at `https://github.com/rt2zz/redux-persist/issues/133`. Thanks to @josev55 and @robclouth. Also kind thanks to @aaronisme and @tasos14 for their contributions!\n","maintainers":[{"name":"hilkeheremans","email":"hilke@thinman.be"}],"time":{"modified":"2022-06-26T10:19:03.520Z","created":"2018-01-01T19:21:25.190Z","1.0.0":"2018-01-01T19:21:25.190Z","1.0.1":"2018-01-03T19:47:07.592Z","1.1.0":"2018-06-19T09:07:36.822Z","2.0.0":"2018-06-26T21:08:31.567Z"},"homepage":"https://github.com/hilkeheremans/redux-persist-seamless-immutable#readme","keywords":["redux","persist","seamless","immutable","v5"],"repository":{"type":"git","url":"git+https://github.com/hilkeheremans/redux-persist-seamless-immutable.git"},"author":{"name":"Hilke Heremans"},"bugs":{"url":"https://github.com/hilkeheremans/redux-persist-seamless-immutable/issues"},"license":"MIT","readmeFilename":"README.md"}