{"_id":"@acemarke/redux-starter-kit","_rev":"10-23b2218469193270470af3b70200aff0","name":"@acemarke/redux-starter-kit","dist-tags":{"latest":"0.0.7"},"versions":{"0.0.1":{"name":"@acemarke/redux-starter-kit","version":"0.0.1","description":"A simple set of tools to make using Redux easier","main":"dist/redux-starter-kit.cjs.js","module":"dist/redux-starter-kit.esm.js","browser":"dist/redux-starter-kit.umd.js","author":{"name":"Mark Erikson","email":"mark@isquaredsoftware.com"},"license":"MIT","private":false,"devDependencies":{"rollup":"^0.56.3","rollup-plugin-commonjs":"^8.3.0","rollup-plugin-node-resolve":"^3.0.3"},"scripts":{"build":"rollup -c","dev":"rollup -c -w","test":"node test/test.js","pretest":"yarn build"},"files":["dist"],"dependencies":{"immer":"^1.1.1","redux":"^3.7.2","redux-devtools-extension":"^2.13.2","redux-thunk":"^2.2.0","selectorator":"^3.2.0"},"licenseText":"MIT License\n\nCopyright (c) 2018 Mark Erikson\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.\n","_id":"@acemarke/redux-starter-kit@0.0.1","dist":{"shasum":"616221dcae7c6dc65bc6f8391a0ad138c5f87e71","tarball":"https://registry.npmjs.org/@acemarke/redux-starter-kit/-/redux-starter-kit-0.0.1.tgz","fileCount":8,"unpackedSize":87941,"integrity":"sha512-4CRB9lk4p8dO1OEWJoYuwcdInsjHkBpgk1/eDIY8rytFuzFrKifw53AP9HdieyFdUpJxzAgoVZA3qzeyLqbmHA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD05cko3tffuWQUXXzF5avyxVh07gD6rzETuePo8P3lZQIhALNg0EZyiS7D5mn/GdZgbTymjNxKV8Dufkpo2+EeNVTu"}]},"maintainers":[{"name":"acemarke","email":"mark.erikson@gmail.com"}],"_npmUser":{"name":"acemarke","email":"mark.erikson@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-starter-kit_0.0.1_1520113144768_0.25836296069256237"},"_hasShrinkwrap":false},"0.0.2":{"name":"@acemarke/redux-starter-kit","version":"0.0.2","description":"A simple set of tools to make using Redux easier","main":"dist/redux-starter-kit.cjs.js","module":"dist/redux-starter-kit.esm.js","browser":"dist/redux-starter-kit.umd.js","author":{"name":"Mark Erikson","email":"mark@isquaredsoftware.com"},"license":"MIT","private":false,"devDependencies":{"rollup":"^0.56.3","rollup-plugin-commonjs":"^8.3.0","rollup-plugin-node-resolve":"^3.0.3"},"scripts":{"build":"rollup -c","dev":"rollup -c -w","test":"node test/test.js","pretest":"yarn build"},"files":["dist"],"dependencies":{"immer":"^1.1.1","redux":"^3.7.2","redux-devtools-extension":"^2.13.2","redux-thunk":"^2.2.0","selectorator":"^3.2.0"},"licenseText":"MIT License\n\nCopyright (c) 2018 Mark Erikson\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.\n","_id":"@acemarke/redux-starter-kit@0.0.2","dist":{"shasum":"985f4b8dae6d91ea833eb63bf428cd29a27b36df","tarball":"https://registry.npmjs.org/@acemarke/redux-starter-kit/-/redux-starter-kit-0.0.2.tgz","fileCount":8,"unpackedSize":95211,"integrity":"sha512-/2wpRLDc5/wyqiWQwZ2DhIfKpbk4qDh8UZiAOJYsqVHLq3nAGUEKykejbaUvWmIGaa7LAT0hOY7E3gqorI1YsA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDiBOOHppHG3w/MgPx3lj57k7go22oVFpV07lk6QAIhHgIhAPS9A8csWhDnlfqhEpiDJe2PVd2ZQcRzHZqZVWG7kHKg"}]},"maintainers":[{"name":"acemarke","email":"mark.erikson@gmail.com"}],"_npmUser":{"name":"acemarke","email":"mark.erikson@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-starter-kit_0.0.2_1520118950430_0.013910183174336899"},"_hasShrinkwrap":false},"0.0.3":{"name":"@acemarke/redux-starter-kit","version":"0.0.3","description":"A simple set of tools to make using Redux easier","repository":{"type":"git","url":"https://github.com/markerikson/redux-starter-kit"},"main":"dist/redux-starter-kit.cjs.js","module":"dist/redux-starter-kit.esm.js","browser":"dist/redux-starter-kit.umd.js","author":{"name":"Mark Erikson","email":"mark@isquaredsoftware.com"},"license":"MIT","private":false,"devDependencies":{"rollup":"^0.56.3","rollup-plugin-commonjs":"^8.3.0","rollup-plugin-node-resolve":"^3.0.3"},"scripts":{"build":"rollup -c","dev":"rollup -c -w","test":"node test/test.js","pretest":"yarn build"},"files":["dist"],"dependencies":{"immer":"^1.1.1","redux":"^3.7.2","redux-devtools-extension":"^2.13.2","redux-thunk":"^2.2.0","selectorator":"^3.2.0"},"licenseText":"MIT License\n\nCopyright (c) 2018 Mark Erikson\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.\n","_id":"@acemarke/redux-starter-kit@0.0.3","dist":{"shasum":"eac521e71560d1bbf61c7f1cacf89f373de7341c","tarball":"https://registry.npmjs.org/@acemarke/redux-starter-kit/-/redux-starter-kit-0.0.3.tgz","fileCount":8,"unpackedSize":95280,"integrity":"sha512-YsBNAlkSdZtPPtHdjBojvUPN8TFl63ARxYM8RLk7P/17nY6BFisvHMch6TVZAIEmw/maEbFLOXGA1FgIiE9dCw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAzWpOw1BXG1LyIoT9wLg4OVwq6x6pF7VFVTfrpyQ33+AiADiF9GWAJMf7pEqo22buW2QrYCwXdBbfhNZfLSvoIPyg=="}]},"maintainers":[{"name":"acemarke","email":"mark.erikson@gmail.com"}],"_npmUser":{"name":"acemarke","email":"mark.erikson@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-starter-kit_0.0.3_1520119220424_0.33297529799582426"},"_hasShrinkwrap":false},"0.0.4":{"name":"@acemarke/redux-starter-kit","version":"0.0.4","description":"A simple set of tools to make using Redux easier","repository":{"type":"git","url":"https://github.com/markerikson/redux-starter-kit"},"main":"dist/redux-starter-kit.cjs.js","module":"dist/redux-starter-kit.esm.js","browser":"dist/redux-starter-kit.umd.js","author":{"name":"Mark Erikson","email":"mark@isquaredsoftware.com"},"license":"MIT","private":false,"devDependencies":{"babel-core":"^6.26.0","babel-preset-env":"^1.6.1","rollup":"^0.56.3","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"^8.3.0","rollup-plugin-node-resolve":"^3.0.3"},"scripts":{"build":"rollup -c","dev":"rollup -c -w","test":"node test/test.js","pretest":"yarn build"},"files":["dist"],"dependencies":{"immer":"^1.1.1","redux":"^3.7.2","redux-devtools-extension":"^2.13.2","redux-thunk":"^2.2.0","selectorator":"^3.2.0"},"licenseText":"MIT License\n\nCopyright (c) 2018 Mark Erikson\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.\n","_id":"@acemarke/redux-starter-kit@0.0.4","dist":{"shasum":"8ac8abd7db6ae9e7b02ba063f50af1a75798f83a","tarball":"https://registry.npmjs.org/@acemarke/redux-starter-kit/-/redux-starter-kit-0.0.4.tgz","fileCount":8,"unpackedSize":97516,"integrity":"sha512-m5/u3mQkww2g0O4mEXNGmJqurkrjWt5XJEJj7Xb56Vn94FK8jsBpiraSx/CGatPB1EDNr0+cLgC1T/8aGvzoOw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD5oARE/qTdDBA4PwAuw7koLKiaD5QfQ8az0awBQ/L4OAIhAOINo5n09zU3MU3tf/T78yqq93RFosALaqtosqnxIs21"}]},"maintainers":[{"name":"acemarke","email":"mark.erikson@gmail.com"}],"_npmUser":{"name":"acemarke","email":"mark.erikson@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-starter-kit_0.0.4_1520179225265_0.8374969942752426"},"_hasShrinkwrap":false},"0.0.5":{"name":"@acemarke/redux-starter-kit","version":"0.0.5","description":"A simple set of tools to make using Redux easier","repository":{"type":"git","url":"https://github.com/markerikson/redux-starter-kit"},"main":"dist/redux-starter-kit.cjs.js","module":"dist/redux-starter-kit.esm.js","browser":"dist/redux-starter-kit.umd.js","author":{"name":"Mark Erikson","email":"mark@isquaredsoftware.com"},"license":"MIT","private":false,"devDependencies":{"babel-core":"^6.26.0","babel-preset-env":"^1.6.1","rollup":"^0.56.3","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"^8.3.0","rollup-plugin-node-resolve":"^3.0.3"},"scripts":{"build":"rollup -c","dev":"rollup -c -w","test":"node test/test.js","pretest":"npm run build"},"files":["dist"],"dependencies":{"immer":"^1.1.1","redux":"^3.7.2","redux-devtools-extension":"^2.13.2","redux-thunk":"^2.2.0","selectorator":"^3.2.0"},"licenseText":"MIT License\n\nCopyright (c) 2018 Mark Erikson\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.\n","_id":"@acemarke/redux-starter-kit@0.0.5","dist":{"shasum":"375b1ad4e522a234612c006da147ea1222a247d3","tarball":"https://registry.npmjs.org/@acemarke/redux-starter-kit/-/redux-starter-kit-0.0.5.tgz","fileCount":8,"unpackedSize":97919,"integrity":"sha512-AGWVRc1OW8gybcqfA3UKnD4ZYDcYraRRAyyHLxEspqszA44cvSs1xwq/hkKp9D26EITuEIyV1J9qvMgkw+gIHQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE7qJ3xYhNMo1mIhjLv3FSgox5Ev4StF2TJ9ie8FT13bAiEA+yodQPd5jM757Eg/sAM9LCBrrqTZbYXsxGUjz4Yi6XA="}]},"maintainers":[{"name":"acemarke","email":"mark.erikson@gmail.com"}],"_npmUser":{"name":"acemarke","email":"mark.erikson@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-starter-kit_0.0.5_1520397068391_0.898464638224088"},"_hasShrinkwrap":false},"0.0.6":{"name":"@acemarke/redux-starter-kit","version":"0.0.6","description":"A simple set of tools to make using Redux easier","repository":{"type":"git","url":"https://github.com/markerikson/redux-starter-kit"},"main":"dist/redux-starter-kit.cjs.js","module":"dist/redux-starter-kit.esm.js","browser":"dist/redux-starter-kit.umd.js","author":{"name":"Mark Erikson","email":"mark@isquaredsoftware.com"},"license":"MIT","private":false,"devDependencies":{"babel-core":"^6.26.0","babel-preset-env":"^1.6.1","rollup":"^0.56.3","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"^8.3.0","rollup-plugin-node-resolve":"^3.0.3"},"scripts":{"build":"rollup -c","dev":"rollup -c -w","test":"node test/test.js","pretest":"npm run build"},"files":["dist"],"dependencies":{"immer":"^1.1.1","redux":"^3.7.2","redux-devtools-extension":"^2.13.2","redux-thunk":"^2.2.0","selectorator":"^3.2.0"},"licenseText":"MIT License\n\nCopyright (c) 2018 Mark Erikson\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.\n","_id":"@acemarke/redux-starter-kit@0.0.6","dist":{"shasum":"1e2044712fda902a149ed3a910edcc86060e6749","tarball":"https://registry.npmjs.org/@acemarke/redux-starter-kit/-/redux-starter-kit-0.0.6.tgz","fileCount":8,"unpackedSize":100347,"integrity":"sha512-KgtKf6qG5g3eEd6vyTiqPOv+hD/gKEYoFJhRh7Ncymevl0mHPtFn3Qn7xcYniI9r7g3EIMigsVqnTjTtqNBwBg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFsRjs6lxpcqjXSCUaoctpyJXX/T6NILcIeqGAxRK9HLAiACXNHFPTkgIaU1Y7aWr+v8Jcx9gFDHiOtfcEHoWMcBMw=="}]},"maintainers":[{"name":"acemarke","email":"mark.erikson@gmail.com"}],"_npmUser":{"name":"acemarke","email":"mark.erikson@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-starter-kit_0.0.6_1520401583454_0.7996261776568112"},"_hasShrinkwrap":false},"0.0.7":{"name":"@acemarke/redux-starter-kit","version":"0.0.7","description":"A simple set of tools to make using Redux easier","repository":{"type":"git","url":"git+https://github.com/markerikson/redux-starter-kit.git"},"main":"dist/redux-starter-kit.cjs.js","module":"dist/redux-starter-kit.esm.js","browser":"dist/redux-starter-kit.umd.js","author":{"name":"Mark Erikson","email":"mark@isquaredsoftware.com"},"license":"MIT","devDependencies":{"babel-core":"^6.26.0","babel-eslint":"^7.2.3","babel-plugin-external-helpers":"^6.22.0","babel-preset-env":"^1.6.1","eslint":"^4.17.0","eslint-config-react-app":"^2.1.0","eslint-plugin-flowtype":"^2.44.0","eslint-plugin-import":"^2.8.0","eslint-plugin-jsx-a11y":"^5.1.1","eslint-plugin-react":"^7.6.1","jest":"^22.4.2","prettier":"^1.10.2","rollup":"^0.56.3","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"^8.3.0","rollup-plugin-node-resolve":"^3.0.3"},"scripts":{"build":"rollup -c","dev":"rollup -c -w","format":"prettier --write \"**/*.{js,md}\"","format:check":"prettier --list-different \"**/*.{js,md}\"","lint":"eslint src","prepare":"npm run format:check && npm run lint && npm test && npm run build","test":"jest"},"dependencies":{"immer":"^1.1.3","redux":"^4.0.0","redux-devtools-extension":"^2.13.3","redux-thunk":"^2.2.0","selectorator":"^3.3.0"},"jest":{"testEnvironment":"node"},"sideEffects":false,"gitHead":"05505ea41c5b77fdcc595f4299a80654c7da8ada","bugs":{"url":"https://github.com/markerikson/redux-starter-kit/issues"},"homepage":"https://github.com/markerikson/redux-starter-kit#readme","_id":"@acemarke/redux-starter-kit@0.0.7","_npmVersion":"6.3.0","_nodeVersion":"9.2.0","_npmUser":{"name":"acemarke","email":"mark.erikson@gmail.com"},"dist":{"integrity":"sha512-8pPIj2HaYi9oAw0iS+5Ca3lID1Wflt5iB7/khlsRuPhNKkxC8LcK2myQve7i662CggFC0323RBFi3xNGlgLkrg==","shasum":"bd5b0e62ebf7f6304ff78819d1f246602e8bc17e","tarball":"https://registry.npmjs.org/@acemarke/redux-starter-kit/-/redux-starter-kit-0.0.7.tgz","fileCount":6,"unpackedSize":120807,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbkI3pCRA9TVsSAnZWagAAQ1sP/jY4k50kKU9jjytkEG97\nPuxSIlNsXNJwitShNfX5Z4EP0DGXyECMaXifiJ3ocLkt/8oP1Fzfo/3JyYyT\nqEUZkCNkf0THW/Vk4sZt3peibgpACto6X24TNn1VvDuSppiZTipbEOPnJIZ4\nEJ7K2LT96cGiiHLX4ZyzskfO8+6C2rrFF8+MZw6/zMAlENZdGJoLzDav+XsM\nqhOxHuzx+3AmHjhVZKm1kjsk52BxlERcc8bpRJSD14nQsXrOUfQ+FsyKEse5\nCciRg2tgBUNpUcEEGlFx4TFocxvqUuAWk33NLVh9xGcRO/c5l9/ACKJkxvIt\n5qTblhrcXzlP9neyDohgqRTeb8fNJ4bnowmISbUGeVawLjR/uTqKcqHFFoqB\nX6CBQ51Nw10geqBNW0RnDgaIVlwMcwHjq7v87bJiPpjnochR8ITMzoRe/7vA\nIB9yU4L7BLsm8eXGsjzDElOi+e4NCbGe9eyc3uH/wARaw/tBlvCaweN9Pbh5\ndxHVhxqK2GUHA+kUx0zpAZPRmScslRPetVA6W90vKUmI57Ow3jc0tSCaECcK\nIup4BEmc6yLJLSxAP3mNfFCLoj4fHly8X/vxRHeFQsgB2hT0Il0N5p2I4yq9\ncsCpwXka0qH27hhgDV0DLRmIflXwAC5q0IOQg0mJEPiW6n/xKFO+JnAN+h5p\nUidt\r\n=/que\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA9JqnFWBXZWGaHvCDEADLgQSOQ97fNGZBt1XosTJ7hAAiEAm/xZV9eN51FNUzo8DTwyVBUmeBV07rTxqmbXAvCaoLA="}]},"maintainers":[{"name":"acemarke","email":"mark.erikson@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-starter-kit_0.0.7_1536200168997_0.10160870327779814"},"_hasShrinkwrap":false}},"time":{"created":"2018-03-03T21:39:04.687Z","0.0.1":"2018-03-03T21:39:04.865Z","modified":"2022-06-12T14:16:01.131Z","0.0.2":"2018-03-03T23:15:50.508Z","0.0.3":"2018-03-03T23:20:20.614Z","0.0.4":"2018-03-04T16:00:25.406Z","0.0.5":"2018-03-07T04:31:08.915Z","0.0.6":"2018-03-07T05:46:24.249Z","0.0.7":"2018-09-06T02:16:09.180Z"},"maintainers":[{"name":"acemarke","email":"mark.erikson@gmail.com"}],"description":"A simple set of tools to make using Redux easier","author":{"name":"Mark Erikson","email":"mark@isquaredsoftware.com"},"license":"MIT","readme":"# redux-starter-kit\r\n\r\n[![npm version](https://img.shields.io/npm/v/@acemarke/redux-starter-kit.svg?style=flat-square)](https://www.npmjs.com/package/@acemarke/redux-starter-kit)\r\n[![npm downloads](https://img.shields.io/npm/dm/@acemarke/redux-starter-kit.svg?style=flat-square)](https://www.npmjs.com/package/@acemarke/redux-starter-kit)\r\n\r\n**A simple set of tools to make using Redux easier**\r\n\r\n`npm install @acemarke/redux-starter-kit`\r\n\r\n### Purpose\r\n\r\nThe `redux-starter-kit` package is intended to help address three common complaints about Redux:\r\n\r\n- \"Configuring a Redux store is too complicated\"\r\n- \"I have to add a lot of packages to get Redux to do anything useful\"\r\n- \"Redux requires too much boilerplate code\"\r\n\r\nWe can't solve every use case, but in the spirit of [`create-react-app`](https://github.com/facebook/create-react-app) and [`apollo-boost`](https://dev-blog.apollodata.com/zero-config-graphql-state-management-27b1f1b3c2c3), we can try to provide some tools that abstract over the setup process and handle the most common use cases, as well as include some useful utilities that will let the user simplify their application code.\r\n\r\nThis package is _not_ intended to solve every possible complaint about Redux, and is deliberately limited in scope. It does _not_ address concepts like \"reusable encapsulated Redux modules\", data fetching, folder or file structures, managing entity relationships in the store, and so on.\r\n\r\n### What's Included\r\n\r\n`redux-starter-kit` includes:\r\n\r\n- A `configureStore()` function with simplified configuration options. It can automatically combine your slice reducers, adds whatever Redux middleware you supply, includes `redux-thunk` by default, and enables use of the Redux DevTools Extension.\r\n- A `createReducer()` utility that lets you supply a lookup table of action types to case reducer functions, rather than writing switch statements. In addition, it automatically uses the [`immer` library](https://github.com/mweststrate/immer) to let you write simpler immutable updates with normal mutative code, like `state.todos[3].completed = true`.\r\n- An improved version of the widely used `createSelector` utility for creating memoized selector functions, which can accept string keypaths as \"input selectors\" (re-exported from the [`selectorator` library](https://github.com/planttheidea/selectorator)).\r\n\r\n### API Reference\r\n\r\n#### `configureStore`\r\n\r\nA friendlier abstraction over the standard Redux `createStore` function. Takes a single configuration object parameter, with the following options:\r\n\r\n```js\r\nfunction configureStore({\r\n    // A single reducer function that will be used as the root reducer,\r\n    // or an object of slice reducers that will be passed to combineReducers()\r\n    reducer: Object<string, Function> | Function,\r\n    // An array of Redux middlewares.  If not supplied, defaults to just redux-thunk.\r\n    middleware: Array<MiddlewareFunction>,\r\n    // Built-in support for devtools. Defaults to true.\r\n    devTools: boolean,\r\n    // Same as current createStore.\r\n    preloadedState : State,\r\n    // Same as current createStore.\r\n    enhancer : ReduxStoreEnhancer,\r\n})\r\n```\r\n\r\nBasic usage:\r\n\r\n```js\r\nimport { configureStore } from '@acemarke/redux-starter-kit'\r\n\r\nimport rootReducer from './reducers'\r\n\r\nconst store = configureStore({ reducer: rootReducer })\r\n// The store now has redux-thunk added and the Redux DevTools Extension is turned on\r\n```\r\n\r\nFull example:\r\n\r\n```js\r\nimport {\r\n  configureStore,\r\n  getDefaultMiddleware\r\n} from '@acemarke/redux-starter-kit'\r\n\r\n// We'll use redux-logger just as an example of adding another middleware\r\nimport logger from 'redux-logger'\r\n\r\n// And use redux-batch as an example of adding enhancers\r\nimport { reduxBatch } from '@manaflair/redux-batch'\r\n\r\nimport todosReducer from './todos/todosReducer'\r\nimport visibilityReducer from './visibility/visibilityReducer'\r\n\r\nconst reducer = {\r\n  todos: todosReducer,\r\n  visibility: visibilityReducer\r\n}\r\n\r\nconst middleware = [...getDefaultMiddleware(), logger]\r\n\r\nconst preloadedState = {\r\n  todos: [\r\n    {\r\n      text: 'Eat food',\r\n      completed: true\r\n    },\r\n    {\r\n      text: 'Exercise',\r\n      completed: false\r\n    }\r\n  ],\r\n  visibilityFilter: 'SHOW_COMPLETED'\r\n}\r\n\r\nconst store = configureStore({\r\n  reducer,\r\n  middleware,\r\n  devTools: NODE_ENV !== 'production',\r\n  preloadedState,\r\n  enhancers: [reduxBatch]\r\n})\r\n\r\n// The store has been created with these options:\r\n// - The slice reducers were automatically passed to combineReducers()\r\n// - redux-thunk and redux-logger were added as middleware\r\n// - The Redux DevTools Extension is disabled for production\r\n// - The middleware, batch, and devtools enhancers were automatically composed together\r\n```\r\n\r\n#### `getDefaultMiddleware`\r\n\r\n`getDefaultMiddleware` is useful if you need to add custom middlewares without removing redux-starter-kit's default middleware. Currently it returns an array with `redux-thunk`.\r\n\r\n#### `createReducer`\r\n\r\nA utility function to create reducers that handle specific action types, similar to the example function in the [\"Reducing Boilerplate\" Redux docs page](https://redux.js.org/recipes/reducing-boilerplate#generating-reducers). Takes an initial state value and an object that maps action types to case reducer functions. Internally, it uses the [`immer` library](https://github.com/mweststrate/immer), so you can write code in your case reducers that mutates the existing `state` value, and it will correctly generate immutably-updated state values instead.\r\n\r\n```js\r\nfunction createReducer(\r\n  initialState: State,\r\n  actionsMap: Object<String, Function>\r\n) {}\r\n```\r\n\r\nExample usage:\r\n\r\n```js\r\nimport { createReducer } from '@acemarke/redux-starter-kit'\r\n\r\nfunction addTodo(state, action) {\r\n  const { newTodo } = action.payload\r\n\r\n  // Can safely call state.push() here\r\n  state.push({ ...newTodo, completed: false })\r\n}\r\n\r\nfunction toggleTodo(state, action) {\r\n  const { index } = action.payload\r\n\r\n  const todo = state[index]\r\n  // Can directly modify the todo object\r\n  todo.completed = !todo.completed\r\n}\r\n\r\nconst todosReducer = createReducer([], {\r\n  ADD_TODO: addTodo,\r\n  TOGGLE_TODO: toggleTodo\r\n})\r\n```\r\n\r\nThis doesn't mean that you _have to_ write code in your case reducers that mutates the existing `state` value, you can still write code that updates the state immutably. You can think of `immer` as a safety net, if the code is written in a way that mutates the state directly, `immer` will make sure that such update happens immutably. On the other hand the following code is still valid:\r\n\r\n```js\r\nimport { createReducer } from '@acemarke/redux-starter-kit'\r\n\r\nfunction addTodo(state, action) {\r\n  const { newTodo } = action.payload\r\n\r\n  // Updates the state immutably without relying on immer\r\n  return [...state, { ...newTodo, completed: false }]\r\n}\r\n\r\nfunction toggleTodo(state, action) {\r\n  const { index } = action.payload\r\n\r\n  const todo = state[index]\r\n  // Updates the todo object immutably withot relying on immer\r\n  return state.map((todo, i) => {\r\n    if (i !== index) return todo\r\n    return { ...todo, completed: !todo.completed }\r\n  })\r\n}\r\n\r\nconst todosReducer = createReducer([], {\r\n  ADD_TODO: addTodo,\r\n  TOGGLE_TODO: toggleTodo\r\n})\r\n```\r\n\r\n#### `createSelector`\r\n\r\nThe `createSelector` utility from the [`selectorator` library](https://github.com/planttheidea/selectorator), re-exported for ease of use. It acts as a superset of the standard `createSelector` function from [Reselect](https://github.com/reactjs/reselect). The primary improvements are the ability to define \"input selectors\" using string keypaths, or return an object result based on an object of keypaths. It also accepts an object of customization options for more specific use cases.\r\n\r\nFor more specifics, see the [`selectorator` usage documentation](https://github.com/planttheidea/selectorator#usage).\r\n\r\n```js\r\nfunction createSelector(\r\n    // Can either be:\r\n    //    - An array containing selector functions, string keypaths, and argument objects\r\n    //    - An object whose keys are selector functions and string keypaths\r\n    paths : Array<Function | string | Object> | Object<string, string | Function>\r\n)\r\n```\r\n\r\nExample usage:\r\n\r\n```js\r\n// Define input selector using a string keypath\r\nconst getSubtotal = createSelector(['shop.items'], items => {\r\n  // return value here\r\n})\r\n\r\n// Define input selectors as a mix of other selectors and string keypaths\r\nconst getTax = createSelector(\r\n  [getSubtotal, 'shop.taxPercent'],\r\n  (subtotal, taxPercent) => {\r\n    // return value here\r\n  }\r\n)\r\n\r\n// Define input selector using a custom argument index to access a prop\r\nconst getTabContent = createSelector(\r\n  [{ path: 'tabIndex', argIndex: 1 }],\r\n  tabIndex => {\r\n    // return value here\r\n  }\r\n)\r\n\r\nconst getContents = createSelector({ foo: 'foo', bar: 'nested.bar' })\r\n// Returns an object like:  {foo, bar}\r\n```\r\n\r\n#### `createNextState`\r\n\r\nThe default immutable update function from the [`immer` library](https://github.com/mweststrate/immer#api), re-exported here as `createNextState` (also commonly referred to as `produce`)\r\n\r\n#### `combineReducers`\r\n\r\nRedux's `combineReducers`, re-exported for convenience. While `configureStore` calls this internally, you may wish to call it yourself to compose multiple levels of slice reducers.\r\n\r\n#### `compose`\r\n\r\nRedux's `compose`. It composes functions from right to left.\r\nThis is a functional programming utility. You might want to use it to apply several store custom enhancers/ functions in a row.\r\n","readmeFilename":"README.md","repository":{"type":"git","url":"git+https://github.com/markerikson/redux-starter-kit.git"},"homepage":"https://github.com/markerikson/redux-starter-kit#readme","bugs":{"url":"https://github.com/markerikson/redux-starter-kit/issues"}}