{"_id":"lore-reducers","_rev":"69-8ac36f24bd1fa33ebc7f2ca1e4e90425","name":"lore-reducers","description":"Library to reduce boilerplate for Redux reducers","dist-tags":{"latest":"0.13.0","stable":"0.6.12","next":"0.13.0-rc.2"},"versions":{"0.2.0":{"name":"lore-reducers","version":"0.2.0","author":{"name":"Storcery"},"license":"MIT","description":"Library to reduce boilerplate for Redux reducers","main":"lib/index.js","files":["lib","src"],"scripts":{"clean":"rimraf lib coverage .tmp","lint":"eslint src test","test":"mocha --compilers js:babel-core/register --recursive","test:cov":"babel-node $(npm bin)/isparta cover $(npm bin)/_mocha -- --recursive","check":"npm run lint && npm run test","build":"babel src --out-dir lib","preversion":"npm run clean && npm run check","version":"npm run build","postversion":"git push && git push --tags && npm run clean","prepublish":"npm run clean && npm run build"},"repository":{"type":"git","url":"git+https://github.com/storcery/lore.git"},"bugs":{"url":"https://github.com/storcery/lore/issues"},"homepage":"https://github.com/storcery/lore#readme","dependencies":{"lodash":"^3.10.1"},"devDependencies":{"babel":"^6.3.26","babel-cli":"^6.4.5","babel-core":"^6.2.1","babel-eslint":"^4.1.6","babel-preset-es2015":"^6.1.18","chai":"^3.4.1","eslint":"^1.7.1","eslint-config-airbnb":"^1.0.2","eslint-plugin-react":"^3.6.3","gulp":"^3.9.0","gulp-babel":"^6.1.1","isparta":"^4.0.0","mocha":"^2.3.4","rimraf":"^2.4.4","sinon":"^1.17.2"},"_id":"lore-reducers@0.2.0","_shasum":"91ce1ec5724164d9760a6d44645cecfd7ab42590","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"mikrofusion","email":"mike.groseclose@gmail.com"},"maintainers":[{"name":"chrisfishwood","email":"csteinmeyer@gmail.com"},{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"dist":{"shasum":"91ce1ec5724164d9760a6d44645cecfd7ab42590","tarball":"https://registry.npmjs.org/lore-reducers/-/lore-reducers-0.2.0.tgz","integrity":"sha512-hSV84ycXMa4hg3hPfyOQn3aq6n0zztbkljQg0p7ZfF8UTbl1hr1DEgYh7mGMWeaNWIOcN71VMuIUuRoHmv2WPw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQClF2ZHgnQwzqrtz/2v65z3/a17253mPcfeDf0oHSrE6QIgaHmp8bD+enRn3wokWTxLFxnhB/rwr4521mruCMhgByQ="}]},"directories":{}},"0.2.1":{"name":"lore-reducers","version":"0.2.1","author":{"name":"Storcery"},"license":"MIT","description":"Library to reduce boilerplate for Redux reducers","main":"lib/index.js","files":["lib","src"],"scripts":{"clean":"rimraf lib coverage .tmp","lint":"eslint src test","test":"mocha --compilers js:babel-core/register --recursive","test:cov":"babel-node $(npm bin)/isparta cover $(npm bin)/_mocha -- --recursive","check":"npm run lint && npm run test","build":"babel src --out-dir lib","preversion":"npm run clean && npm run check","version":"npm run build","postversion":"git push && git push --tags && npm run clean","prepublish":"npm run clean && npm run build"},"repository":{"type":"git","url":"git+https://github.com/storcery/lore.git"},"bugs":{"url":"https://github.com/storcery/lore/issues"},"homepage":"https://github.com/storcery/lore#readme","dependencies":{"lodash":"^3.10.1"},"devDependencies":{"babel":"^6.3.26","babel-cli":"^6.4.5","babel-core":"^6.2.1","babel-eslint":"^4.1.6","babel-preset-es2015":"^6.1.18","chai":"^3.4.1","eslint":"^1.7.1","eslint-config-airbnb":"^1.0.2","eslint-plugin-react":"^3.6.3","gulp":"^3.9.0","gulp-babel":"^6.1.1","isparta":"^4.0.0","mocha":"^2.3.4","rimraf":"^2.4.4","sinon":"^1.17.2"},"_id":"lore-reducers@0.2.1","_shasum":"1e6a04c61c07e9de3b3e9867a0f9672e4478b484","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"mikrofusion","email":"mike.groseclose@gmail.com"},"maintainers":[{"name":"chrisfishwood","email":"csteinmeyer@gmail.com"},{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"dist":{"shasum":"1e6a04c61c07e9de3b3e9867a0f9672e4478b484","tarball":"https://registry.npmjs.org/lore-reducers/-/lore-reducers-0.2.1.tgz","integrity":"sha512-pInUcDkVxX0Y7whcg+pQlssK/maNsGqMHQMB1NyLJv8DwOoy8k8ZylrgvLdu+GjC+SbmhWfkX1eExzQI7woNeQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEguzJyoLGlupuDhAYOaqb6qE/VNqw/xMNs6lMNb9jPaAiB7dmqy/KI5Tvfx7dz+oF3H3shfnGukilcSimRY/EfhwQ=="}]},"_npmOperationalInternal":{"host":"packages-6-west.internal.npmjs.com","tmp":"tmp/lore-reducers-0.2.1.tgz_1454385896903_0.6789064581971616"},"directories":{}},"0.3.0":{"name":"lore-reducers","version":"0.3.0","license":"MIT","description":"Library to reduce boilerplate for Redux reducers","homepage":"https://github.com/lore/lore#readme","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"3.10.1"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","sinon":"1.17.2"},"_id":"lore-reducers@0.3.0","_shasum":"40b5d320209d4d122bd1a0b1e127f4b5dc72876c","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"40b5d320209d4d122bd1a0b1e127f4b5dc72876c","tarball":"https://registry.npmjs.org/lore-reducers/-/lore-reducers-0.3.0.tgz","integrity":"sha512-qL+jozweALI0UGYDA5/OpPPG9aZQwb1cMq+ZupHkq2LiE0mt2UnuXjVAxJkSyj7rqzvw74RCm71tedlPq6WJRw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD38CrlQE+yPwHZfhhiiZBMq9uZnPrgSPr238muoeQl7gIgSxqYCH5VQhFCsZRdAcqxDQWF7U557ZnfGTMbWGgak2M="}]},"maintainers":[{"name":"chrisfishwood","email":"csteinmeyer@gmail.com"},{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"packages-13-west.internal.npmjs.com","tmp":"tmp/lore-reducers-0.3.0.tgz_1457078476586_0.14802987780421972"},"directories":{}},"0.6.12":{"name":"lore-reducers","version":"0.6.12","license":"MIT","description":"Library to reduce boilerplate for Redux reducers","homepage":"https://github.com/lore/lore#readme","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"3.10.1"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","sinon":"1.17.2"},"_id":"lore-reducers@0.6.12","_shasum":"71e1cfb393086912313c39602456a4c195dc499e","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"71e1cfb393086912313c39602456a4c195dc499e","tarball":"https://registry.npmjs.org/lore-reducers/-/lore-reducers-0.6.12.tgz","integrity":"sha512-DjDyLb74AITppWiVmTPxKRsFOElxVWqn9/x9EYZAdKVnm1RmM70gwViK+1psB7y/D0nZ4cO+DrEHhSXcG0ARgw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDw/N6y0WA5k6PEUQC8cHtXt3EvbyKx5ZKVolxoWew5EwIgDy9u1HKEGjZpc0y0PejZo4uTU/ebYbbH0fUaGd/OrdM="}]},"maintainers":[{"name":"chrisfishwood","email":"csteinmeyer@gmail.com"},{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"packages-13-west.internal.npmjs.com","tmp":"tmp/lore-reducers-0.6.12.tgz_1457080185078_0.6539930964354426"},"directories":{}},"0.6.13":{"name":"lore-reducers","version":"0.6.13","license":"MIT","description":"Library to reduce boilerplate for Redux reducers","homepage":"https://github.com/lore/lore#readme","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"3.10.1"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","sinon":"1.17.2"},"_id":"lore-reducers@0.6.13","_shasum":"bdd03ebc290bb84e4fb4c6801e900557490bbfb6","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"bdd03ebc290bb84e4fb4c6801e900557490bbfb6","tarball":"https://registry.npmjs.org/lore-reducers/-/lore-reducers-0.6.13.tgz","integrity":"sha512-ii1snvuGqnyRYVZLuHmk/Ef1bMmQElyHF6OwJsX7OQPWevP38OH9orPnKmTQf6GpBCfctx/NZng0OdTkZugLug==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD+/zbB/wtSS3UKz1gftIWIo2jYLtBkHOpTl1t7dD6nZAIhAPW5zmq2SGWeCe97FSzTq+iDUV7uboNhB/13nm0JHw5+"}]},"maintainers":[{"name":"chrisfishwood","email":"csteinmeyer@gmail.com"},{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/lore-reducers-0.6.13.tgz_1466913182659_0.2287777215242386"},"directories":{}},"0.6.30":{"name":"lore-reducers","version":"0.6.30","license":"MIT","description":"Library to reduce boilerplate for Redux reducers","homepage":"https://github.com/lore/lore#readme","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"3.10.1"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","sinon":"1.17.2"},"_id":"lore-reducers@0.6.30","_shasum":"98e5bd9fca558b251aedf5c9efead5d85de3354d","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"98e5bd9fca558b251aedf5c9efead5d85de3354d","tarball":"https://registry.npmjs.org/lore-reducers/-/lore-reducers-0.6.30.tgz","integrity":"sha512-y2lzM4PCuB09g4jbtS41ZBFUZwVeR9+luc4NQfQVCFEsHqy85wV8mXcxXJDl7zHkonuoUhvj6UiT0PUaBR7IEw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDNtr0b/AoOqw98JnK6uxEL9vYN/sCButJDMygAzyPFaAIhAIacJIdJCbIoAVEfBOKqdahsahjHTFLqko37XB9wgyiK"}]},"maintainers":[{"name":"chrisfishwood","email":"csteinmeyer@gmail.com"},{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/lore-reducers-0.6.30.tgz_1466913891090_0.580212669679895"},"directories":{}},"0.7.0":{"name":"lore-reducers","version":"0.7.0","license":"MIT","description":"Library to reduce boilerplate for Redux reducers","homepage":"https://github.com/lore/lore#readme","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"3.10.1"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","sinon":"1.17.2"},"_id":"lore-reducers@0.7.0","_shasum":"3d7412f27091229489ab19dee779d77c123da929","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"3d7412f27091229489ab19dee779d77c123da929","tarball":"https://registry.npmjs.org/lore-reducers/-/lore-reducers-0.7.0.tgz","integrity":"sha512-dNMtYaNCXVZOA5BJqfSCR4XI7mxYeSqrKLJtIUTCuNh4T2/iE4E4LEtDl4bSR4zyAkS/+hh/cdtIB+strl0tDg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDF0hgaM8JI0kor1mUh/s/zh3H8muXwdlXyTNt2Q0wnIAIhAJduwFhYVb0q35j6KKCm5m1o0fc+iUncf5cIgfVV6Eiw"}]},"maintainers":[{"name":"chrisfishwood","email":"csteinmeyer@gmail.com"},{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/lore-reducers-0.7.0.tgz_1467283746953_0.5673723153304309"},"directories":{}},"0.8.0":{"name":"lore-reducers","version":"0.8.0","license":"MIT","description":"Library to reduce boilerplate for Redux reducers","homepage":"https://github.com/lore/lore#readme","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"3.10.1"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","sinon":"1.17.2"},"_id":"lore-reducers@0.8.0","_shasum":"f526f0d81a341f9775d80547b897f1439171fc55","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"f526f0d81a341f9775d80547b897f1439171fc55","tarball":"https://registry.npmjs.org/lore-reducers/-/lore-reducers-0.8.0.tgz","integrity":"sha512-9Lkx8y9seM89PdfxCM7ovjINlZIAxCyETcHAGjiSUdIVueoamI63TMAx9xEPYi5G8eCWP/gSVY56JvWnezCPIw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDrKNBkBFRIGRfXXt9Tt53TcpkhgWgIKQ/BZ48RdpRITAIhAMy3x88DmQ0nGCsa9S5T3xTcTvlJE00eFhTROlngDyUK"}]},"maintainers":[{"name":"chrisfishwood","email":"csteinmeyer@gmail.com"},{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/lore-reducers-0.8.0.tgz_1468971720610_0.19439159403555095"},"directories":{}},"0.9.0":{"name":"lore-reducers","version":"0.9.0","license":"MIT","description":"Library to reduce boilerplate for Redux reducers","homepage":"https://github.com/lore/lore#readme","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"3.10.1"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","sinon":"1.17.2"},"_id":"lore-reducers@0.9.0","_shasum":"71f4784dd46e065165466a7af2b17d594af22658","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"71f4784dd46e065165466a7af2b17d594af22658","tarball":"https://registry.npmjs.org/lore-reducers/-/lore-reducers-0.9.0.tgz","integrity":"sha512-t7A6pFtNi7j3RobSoinQA7XS0I/0NEp6zlouIiK2UJ07Vzq/2w8UsjE/sxTCMlwh1SYJBrQz81d9YaJ7Yy7Yfg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC0WcBBH0kTw8DyfuNvYVOh/RHVa35ZHmjv5Ph63DUqtwIgJq7SF4RRkFJcPdx2iiYNC0xv9LvnbtmokD7wJfMyxbc="}]},"maintainers":[{"name":"chrisfishwood","email":"csteinmeyer@gmail.com"},{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/lore-reducers-0.9.0.tgz_1473582767433_0.07630379707552493"},"directories":{}},"0.10.0-beta.1":{"name":"lore-reducers","version":"0.10.0-beta.1","license":"MIT","description":"Library to reduce boilerplate for Redux reducers","homepage":"https://github.com/lore/lore#readme","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","sinon":"1.17.2"},"_id":"lore-reducers@0.10.0-beta.1","_shasum":"909452059c19a0d4b963b22b0d8c176ad86379c4","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.6.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"909452059c19a0d4b963b22b0d8c176ad86379c4","tarball":"https://registry.npmjs.org/lore-reducers/-/lore-reducers-0.10.0-beta.1.tgz","integrity":"sha512-tY+PVeYUqW/AbohI5d8+u4MSULBEGXO2nv/Nl7oI7bpH5M5Ut/QySPe1WyyNcbFKTZ8+1gwwESE2nZPoktQVVA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCVhlIEQbf6Apk2z/r9KvU8+VZV/kIufLFJCeII5jbetgIhAMkLNwPTbw5SwxokSqEid0dhkFFYyOAZza8y7GUBtOmE"}]},"maintainers":[{"name":"chrisfishwood","email":"csteinmeyer@gmail.com"},{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/lore-reducers-0.10.0-beta.1.tgz_1475572932086_0.18223525187931955"},"directories":{}},"0.10.0":{"name":"lore-reducers","version":"0.10.0","license":"MIT","description":"Library to reduce boilerplate for Redux reducers","homepage":"https://github.com/lore/lore#readme","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","sinon":"1.17.2"},"_id":"lore-reducers@0.10.0","_shasum":"b063830eedfd6659598314bc0ddf67721bf4af6f","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.6.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"b063830eedfd6659598314bc0ddf67721bf4af6f","tarball":"https://registry.npmjs.org/lore-reducers/-/lore-reducers-0.10.0.tgz","integrity":"sha512-0SWCYjK85G/niEehaOCWAq5unn/yDWLhwmK6I+FladQKn+bJAB6KZ7s7+MN0aho7nq7lJpY5I3KAToE2NVfQGA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDjQVwPod15oHO+BqT++pBRgABHx3hoipEcnemDdoKHmQIgCdwu5A3vvV0lDF05QBlfADyPhKHURDXOnDrKD6e0Duc="}]},"maintainers":[{"name":"chrisfishwood","email":"csteinmeyer@gmail.com"},{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/lore-reducers-0.10.0.tgz_1476337357538_0.6149719702079892"},"directories":{}},"0.11.0-beta.1":{"name":"lore-reducers","version":"0.11.0-beta.1","license":"MIT","description":"Library to reduce boilerplate for Redux reducers","homepage":"https://github.com/lore/lore#readme","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","sinon":"1.17.2"},"_id":"lore-reducers@0.11.0-beta.1","_shasum":"45aa429535f188b3dcdf9b54df6db61baab41633","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.6.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"45aa429535f188b3dcdf9b54df6db61baab41633","tarball":"https://registry.npmjs.org/lore-reducers/-/lore-reducers-0.11.0-beta.1.tgz","integrity":"sha512-UJn/Kpox7xuQNnuYbZRV4fIYBkWd6JiZGjkVzoHLb4HXoZVT6R4t/Wu9qcrcfyrwBgIMyj+Z1bHuGnfcEq5aeA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCkd3Qf0bmKnAkRegirEBqxegZi38WZV1EhqSD4TUKBLwIhANDdd9YgnSl2UMMFpG4/3O9DsEalGFRd22GKdsP45+97"}]},"maintainers":[{"name":"chrisfishwood","email":"csteinmeyer@gmail.com"},{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/lore-reducers-0.11.0-beta.1.tgz_1481523877647_0.8748431052081287"},"directories":{}},"0.11.0-rc.1":{"name":"lore-reducers","version":"0.11.0-rc.1","license":"MIT","description":"Library to reduce boilerplate for Redux reducers","homepage":"https://github.com/lore/lore#readme","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","sinon":"1.17.2"},"_id":"lore-reducers@0.11.0-rc.1","_shasum":"da26e15279ab12a06f34007095a01f7f0a52ab0a","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.6.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"da26e15279ab12a06f34007095a01f7f0a52ab0a","tarball":"https://registry.npmjs.org/lore-reducers/-/lore-reducers-0.11.0-rc.1.tgz","integrity":"sha512-IZa9r3e5pgYQQYnLr3oEkNK99S36IBJfTYAiHuBGjn9knA90mf6ZEm/kQqDHW54pouSvUNo+lKd9AvR1OkcgFg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCFMliJ3eO1XC0bHP0cBeKzx5Jw9lSz0DmGI2laoOz8QwIgFd2HdaBheQr1qpPAJRTC5teohfx1JrduxXs30Ug+c1c="}]},"maintainers":[{"name":"chrisfishwood","email":"csteinmeyer@gmail.com"},{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/lore-reducers-0.11.0-rc.1.tgz_1485239122553_0.30886605312116444"},"directories":{}},"0.11.0":{"name":"lore-reducers","version":"0.11.0","license":"MIT","description":"Library to reduce boilerplate for Redux reducers","homepage":"https://github.com/lore/lore#readme","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","sinon":"1.17.2"},"_id":"lore-reducers@0.11.0","_shasum":"2801a74b83ec4370866c1d040cb0e5aafd3e0089","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.6.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"2801a74b83ec4370866c1d040cb0e5aafd3e0089","tarball":"https://registry.npmjs.org/lore-reducers/-/lore-reducers-0.11.0.tgz","integrity":"sha512-T5x5bDzSIGc9wNueNpjyQsyep6Ov0BjXN7f3wYkGPZXMtLmGISHy7acz8LQqjcyVRnT8dDdOdTdKckfEfIpXTg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHbaiGLWbLMsiXh9wOnCGQJEm64AWc+67scFNTIMIA6VAiEAlkCJwk3Kjp795RwRkvFyvbwpWJb87fLqJzOqBU7gDeQ="}]},"maintainers":[{"name":"chrisfishwood","email":"csteinmeyer@gmail.com"},{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/lore-reducers-0.11.0.tgz_1485665724715_0.03401098842732608"},"directories":{}},"0.12.0-beta.1":{"name":"lore-reducers","version":"0.12.0-beta.1","license":"MIT","description":"Library to reduce boilerplate for Redux reducers","homepage":"https://github.com/lore/lore#readme","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","sinon":"1.17.2"},"_id":"lore-reducers@0.12.0-beta.1","_shasum":"07ad2b7ef6b855416661873f41ccb272bd5d4270","_from":".","_npmVersion":"4.4.0","_nodeVersion":"6.6.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"07ad2b7ef6b855416661873f41ccb272bd5d4270","tarball":"https://registry.npmjs.org/lore-reducers/-/lore-reducers-0.12.0-beta.1.tgz","integrity":"sha512-VrXW4v6Hvv0dJwi3Vbb6WiC100td1U4jyjIquQJoR3HW6xhiqyABvdDL0oY2U7FfnBf7PekpYECE39P1II4ajA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEpFnlG6q4UCwl7zus0YN8sSs9M8pbgHdSok0cjRo8FcAiEA/4KChFH8f8yI0VzL8+Zh02s07T/A83s71OJeeF+af0s="}]},"maintainers":[{"name":"chrisfishwood","email":"csteinmeyer@gmail.com"},{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/lore-reducers-0.12.0-beta.1.tgz_1488758381232_0.5339764882810414"},"directories":{}},"0.11.5":{"name":"lore-reducers","version":"0.11.5","license":"MIT","description":"Library to reduce boilerplate for Redux reducers","homepage":"https://github.com/lore/lore#readme","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","sinon":"1.17.2"},"_id":"lore-reducers@0.11.5","_shasum":"d5e0f2edbdfa77c9b765feca2b955975891b83b3","_from":".","_npmVersion":"4.4.4","_nodeVersion":"6.6.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"d5e0f2edbdfa77c9b765feca2b955975891b83b3","tarball":"https://registry.npmjs.org/lore-reducers/-/lore-reducers-0.11.5.tgz","integrity":"sha512-yG/4fSZYdc3wa4fGNwwgyIdQ6xZGbf+GdGILaAosQC/7n+SKEh1P41D29VT18i/cnca87z8hZB62CNhV92Lh7Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC7ti2emUveX/RbJRaF59iKtyUfIZogLK5ecgr/Vn5xvQIgXt4lXubRM7amTahcRJWGCtFCgAyfTYOOoYXFi1WA9g0="}]},"maintainers":[{"name":"chrisfishwood","email":"csteinmeyer@gmail.com"},{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/lore-reducers-0.11.5.tgz_1493712340485_0.3860176589805633"},"directories":{}},"0.12.0-rc.1":{"name":"lore-reducers","version":"0.12.0-rc.1","license":"MIT","description":"Library to reduce boilerplate for Redux reducers","homepage":"https://github.com/lore/lore#readme","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","sinon":"1.17.2"},"_id":"lore-reducers@0.12.0-rc.1","_shasum":"f8a2de404896ff95b37c934d25b79aba63fae709","_from":".","_npmVersion":"4.4.4","_nodeVersion":"6.6.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"f8a2de404896ff95b37c934d25b79aba63fae709","tarball":"https://registry.npmjs.org/lore-reducers/-/lore-reducers-0.12.0-rc.1.tgz","integrity":"sha512-0ZAnr6ZG+Z58EQ3A/bCA9nKm+zNVTOOtD/dflDBrDpw7FsSxe+uRdzmsuTK6va4uKa1ueYt5QjJdyrCRLTKsVw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDj2XAMKyC+OhXRrEaURXrLNR9hgP7v5U65d9CYsdyn/QIgdR7RSXqoRxsKUlJZVoOs/IFpTXbVwpc7jo8iyvDh1Kc="}]},"maintainers":[{"name":"chrisfishwood","email":"csteinmeyer@gmail.com"},{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/lore-reducers-0.12.0-rc.1.tgz_1493715340339_0.8861886863596737"},"directories":{}},"0.12.0":{"name":"lore-reducers","version":"0.12.0","license":"MIT","description":"Library to reduce boilerplate for Redux reducers","homepage":"https://github.com/lore/lore#readme","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","sinon":"1.17.2"},"_id":"lore-reducers@0.12.0","_shasum":"e2f689846b31c6b41a1b5389ef0d6d8200784c36","_from":".","_npmVersion":"4.4.4","_nodeVersion":"6.6.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"e2f689846b31c6b41a1b5389ef0d6d8200784c36","tarball":"https://registry.npmjs.org/lore-reducers/-/lore-reducers-0.12.0.tgz","integrity":"sha512-kXmKZxTtsAg8S+yeIJr5t7aBocKWF9uBUqTZna6vy1CV+dTFlvLxciHoRgZLqEBjLst43AK7Nc7cpJfUQ/dYzw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBDRfGsDvwOQvEkZsXXvXEITo07klm7pNK0lgxFrJVk+AiEAqO3DuQvcpVzrM5Ei4JFLqnMQ3YWgGC7+vO8V92Aqd+A="}]},"maintainers":[{"name":"chrisfishwood","email":"csteinmeyer@gmail.com"},{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/lore-reducers-0.12.0.tgz_1494219605508_0.6574246746022254"},"directories":{}},"0.12.6":{"name":"lore-reducers","version":"0.12.6","license":"MIT","description":"Library to reduce boilerplate for Redux reducers","homepage":"https://github.com/lore/lore#readme","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","sinon":"1.17.2"},"_id":"lore-reducers@0.12.6","_npmVersion":"5.0.4","_nodeVersion":"6.11.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-SU/SVK1e1jcUtZLh5K/y20TwjuDyvJ4SjfabmLk/zgXsraCFlokXNDh42vozBsA79dsWXI/cfsVcjDoSASaZ/A==","shasum":"67f9dd629a45caf3267f1b92cb94a88deef06a1e","tarball":"https://registry.npmjs.org/lore-reducers/-/lore-reducers-0.12.6.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCbOLROKSdVsqAm49t6hl7nhinhoLBOLW8SE61n1gWStgIhAKJBR1kFxSZctgV/Sz8MLA1dnZ5EAv75XlIdZRRH5+fN"}]},"maintainers":[{"name":"chrisfishwood","email":"csteinmeyer@gmail.com"},{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-reducers-0.12.6.tgz_1499144965436_0.5624848615843803"},"directories":{}},"0.12.7-rc.1":{"name":"lore-reducers","version":"0.12.7-rc.1","license":"MIT","description":"Library to reduce boilerplate for Redux reducers","homepage":"https://github.com/lore/lore#readme","main":"lib/index.js","module":"es/index.js","repository":{"type":"git","url":"git+https://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","sinon":"1.17.2"},"_id":"lore-reducers@0.12.7-rc.1","_npmVersion":"5.1.0","_nodeVersion":"6.11.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-vSZsuFuMfT0QN4+tPR9NdkgpLXOhRkumsuaJVra5cXCMlF0Om8ZYRJtDp7FOZEHFW/QaR3TGblKL+lDrNc0YCw==","shasum":"4e851d26d97fe22f5ccf54af770b01c167917c8b","tarball":"https://registry.npmjs.org/lore-reducers/-/lore-reducers-0.12.7-rc.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFfqoR3mlXFkqR+Pn0cnkK/YnT0FryrTLGY30Ij4P1uQAiBGcRf4VeRN+1Ld1eXpYT+fCpO/YO8zqNJFIeMwTPwnqw=="}]},"maintainers":[{"name":"chrisfishwood","email":"csteinmeyer@gmail.com"},{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-reducers-0.12.7-rc.1.tgz_1499638560670_0.6506253858096898"},"directories":{}},"0.13.0-beta.1":{"name":"lore-reducers","version":"0.13.0-beta.1","license":"MIT","description":"Library to reduce boilerplate for Redux reducers","homepage":"https://github.com/lore/lore#readme","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","sinon":"1.17.2"},"_id":"lore-reducers@0.13.0-beta.1","_npmVersion":"5.4.2","_nodeVersion":"8.5.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-VW0OjZBFZuSxL/7zO0sKdg8gUYYc3pEFexCfnslABxXv3F1Ck98LSMsPf0+MDjfTDULOoAjGcJsybc7qWYnkxA==","shasum":"b8dfa44b9bbb236d0579c8a2164f37c043963849","tarball":"https://registry.npmjs.org/lore-reducers/-/lore-reducers-0.13.0-beta.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDNDaRM3YnVbDXZxSVI3poP3G1GlMWuh8m96qMsMxH5/AIhAKDUYlQNPrhZGjAMauKL+cJMP914lPMw9DbqrtLsG1Ny"}]},"maintainers":[{"email":"csteinmeyer@gmail.com","name":"chrisfishwood"},{"email":"mike.groseclose@gmail.com","name":"mikrofusion"},{"email":"jason_hansen@outlook.com","name":"jchansen"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-reducers-0.13.0-beta.1.tgz_1505764635711_0.7832508361898363"},"directories":{}},"0.13.0-beta.3":{"name":"lore-reducers","version":"0.13.0-beta.3","license":"MIT","description":"Library to reduce boilerplate for Redux reducers","homepage":"https://github.com/lore/lore#readme","main":"lib/index.js","module":"es/index.js","repository":{"type":"git","url":"git+https://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","sinon":"1.17.2"},"_id":"lore-reducers@0.13.0-beta.3","_npmVersion":"5.4.2","_nodeVersion":"8.5.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-QcSq6V2NOBfPh+UyzxwBm2Q3XVMLy4DGi1RajO9gdaQB5qTP0f8MJoGeHfEOrZ02CT0wiMaAHef2oImiWtgVYQ==","shasum":"d9996090f423f14ecbe9ca391d7468f9170c4a5a","tarball":"https://registry.npmjs.org/lore-reducers/-/lore-reducers-0.13.0-beta.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC3pVMZ1LWjjl4MJlrofO4oi9LL9EO+mz2Z345pYM0X7gIhAMnXE9lEC2Togb8xVe/R1QX4GioKmLCmEgKjOPUXqy3K"}]},"maintainers":[{"email":"csteinmeyer@gmail.com","name":"chrisfishwood"},{"email":"mike.groseclose@gmail.com","name":"mikrofusion"},{"email":"jason_hansen@outlook.com","name":"jchansen"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-reducers-0.13.0-beta.3.tgz_1505773901322_0.8168660663068295"},"directories":{}},"0.13.0-beta.5":{"name":"lore-reducers","version":"0.13.0-beta.5","license":"MIT","description":"Library to reduce boilerplate for Redux reducers","homepage":"https://github.com/lore/lore#readme","main":"lib/index.js","module":"es/index.js","repository":{"type":"git","url":"git+https://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","sinon":"1.17.2"},"_id":"lore-reducers@0.13.0-beta.5","_npmVersion":"5.4.2","_nodeVersion":"8.6.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-/TVVD7ASvvxPHwLlKyvnlGN1pLgsPGbc+Uv0NvdDjGSBw7ChGE8vREhTQFxu0x6ZVd+kMONfyrH3kToVUkclyQ==","shasum":"10e8de52399be97d4df799c909fc6e6816abadab","tarball":"https://registry.npmjs.org/lore-reducers/-/lore-reducers-0.13.0-beta.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLiO03xjqLsQl944Ek8t3K5Nt/u4BUNzzuYs+wbnE6NgIhAIYCFURrp4L9h7Ct7mTc1K2rqd4V033qSLaSeQIWjKKQ"}]},"maintainers":[{"email":"csteinmeyer@gmail.com","name":"chrisfishwood"},{"email":"mike.groseclose@gmail.com","name":"mikrofusion"},{"email":"jason_hansen@outlook.com","name":"jchansen"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-reducers-0.13.0-beta.5.tgz_1510692765837_0.2614875044673681"},"directories":{}},"0.13.0-beta.6":{"name":"lore-reducers","version":"0.13.0-beta.6","license":"MIT","description":"Library to reduce boilerplate for Redux reducers","homepage":"https://github.com/lore/lore#readme","main":"lib/index.js","module":"es/index.js","repository":{"type":"git","url":"git+https://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","sinon":"1.17.2"},"_id":"lore-reducers@0.13.0-beta.6","_npmVersion":"5.4.2","_nodeVersion":"8.6.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-V6FkCUvVf5EzN1DcFozC4BwR8M+oWztvR04/N0JnoQOs66Bxdb3BjQcDfroTxEuwKVgzj7D44cTkBXl54deHJw==","shasum":"c632331985aac81cceef597e2df1f989469283ad","tarball":"https://registry.npmjs.org/lore-reducers/-/lore-reducers-0.13.0-beta.6.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFjvfm2OWkSiQAhOI/0/kXBOtdJrpZwVm0xiFvjcx7BHAiEAmvyfvqM/fm5JTQtSTIo+F18lhgZvmwkxtSvgLUe6hZ0="}]},"maintainers":[{"email":"csteinmeyer@gmail.com","name":"chrisfishwood"},{"email":"mike.groseclose@gmail.com","name":"mikrofusion"},{"email":"jason_hansen@outlook.com","name":"jchansen"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-reducers-0.13.0-beta.6.tgz_1510698372204_0.06812518555670977"},"directories":{}},"0.13.0-beta.7":{"name":"lore-reducers","version":"0.13.0-beta.7","license":"MIT","description":"Library to reduce boilerplate for Redux reducers","homepage":"https://github.com/lore/lore#readme","main":"lib/index.js","module":"es/index.js","repository":{"type":"git","url":"git+https://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","sinon":"1.17.2"},"_id":"lore-reducers@0.13.0-beta.7","_npmVersion":"5.4.2","_nodeVersion":"8.6.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-HYQcZkJ5P9iqOyJ+GGIpvJlEAdWycrCda/tFOOwxDWEscLrt6OdcACViv/PkT4e8SGSVIsEc5P714dGGOLuOEA==","shasum":"1760f6d6ed4ad3842c80182c006377b70ef369a6","tarball":"https://registry.npmjs.org/lore-reducers/-/lore-reducers-0.13.0-beta.7.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICrdXiFGOvHsKXns07Dio0iFH2IX04GTsTwf0V5/XZHeAiEAm5IHgj7dfUTxVvjStTcs5DXlZ+JVaH9qQ2zz+oprHH0="}]},"maintainers":[{"email":"csteinmeyer@gmail.com","name":"chrisfishwood"},{"email":"mike.groseclose@gmail.com","name":"mikrofusion"},{"email":"jason_hansen@outlook.com","name":"jchansen"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-reducers-0.13.0-beta.7.tgz_1510699120788_0.052044427022337914"},"directories":{}},"0.13.0-beta.9":{"name":"lore-reducers","version":"0.13.0-beta.9","license":"MIT","description":"Library to reduce boilerplate for Redux reducers","homepage":"https://github.com/lore/lore#readme","main":"lib/index.js","module":"es/index.js","repository":{"type":"git","url":"git+https://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","sinon":"1.17.2"},"_id":"lore-reducers@0.13.0-beta.9","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-IAFiYJFdBfXEoj5TDlYsYV66KfKINK5ou7g9ee2ZhvmrKJSw4Iz1aN5IiGRcljQQl62N6yfMDJutj42EbLdEyQ==","shasum":"cf064d37f26cd65048a9a2204f1b703951b07811","tarball":"https://registry.npmjs.org/lore-reducers/-/lore-reducers-0.13.0-beta.9.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC9UKySCFPGscu/GxUCCI3+RpP51Hwo8w0Y4qjDVKkhigIgbTB7ANJARkDq7U0G4viddHCwDJcH2f6feHb3ddyxYvU="}]},"maintainers":[{"email":"csteinmeyer@gmail.com","name":"chrisfishwood"},{"email":"mike.groseclose@gmail.com","name":"mikrofusion"},{"email":"jason_hansen@outlook.com","name":"jchansen"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-reducers-0.13.0-beta.9.tgz_1511594301873_0.9550308000762016"},"directories":{}},"0.13.0-beta.10":{"name":"lore-reducers","version":"0.13.0-beta.10","license":"MIT","description":"Library to reduce boilerplate for Redux reducers","homepage":"https://github.com/lore/lore#readme","main":"lib/index.js","module":"es/index.js","repository":{"type":"git","url":"git+https://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","sinon":"1.17.2"},"_id":"lore-reducers@0.13.0-beta.10","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-azJZZGAxbks6BSASFIMF6OLn3Uybw8TTX9XhpkUOtGG7gRR4U5bvLup9dSk+uRtvpqBfR17sTOtxQIzWwGclSw==","shasum":"2eb095749a6b524deb42de55733994e8e719d38e","tarball":"https://registry.npmjs.org/lore-reducers/-/lore-reducers-0.13.0-beta.10.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHI6JanbKlRyzzhHCs5E8POx1QFWPOymaqlGlQVb/FcdAiEAqh/yeBcx7iLXvX1z3Vv5Wb7olCGVlw9KwevENgKgT4k="}]},"maintainers":[{"email":"csteinmeyer@gmail.com","name":"chrisfishwood"},{"email":"mike.groseclose@gmail.com","name":"mikrofusion"},{"email":"jason_hansen@outlook.com","name":"jchansen"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-reducers-0.13.0-beta.10.tgz_1513286411079_0.14310108753852546"},"directories":{}},"0.13.0-beta.11":{"name":"lore-reducers","version":"0.13.0-beta.11","license":"MIT","description":"Library to reduce boilerplate for Redux reducers","homepage":"https://github.com/lore/lore#readme","main":"lib/index.js","module":"es/index.js","repository":{"type":"git","url":"git+https://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","sinon":"1.17.2"},"_id":"lore-reducers@0.13.0-beta.11","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-5wnGwaUIlUrbrCGYM9Zmuuitn67pBC2X6Tunfj8GO6ZvaqHqNX13UtHqZIz5jpHvAsaUqv38amn0oS9mNbltuQ==","shasum":"fcd381f028d2fdba607fe52ccf8f772380157872","tarball":"https://registry.npmjs.org/lore-reducers/-/lore-reducers-0.13.0-beta.11.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC5Fv8m0hxVsTp1srq3ANzn1Di5VwtSjgTqaDHCBAsqZAIgGZDEsb5+VEcwTfk0Z0Z4ItjgPPMZivGPHbpyIdEy2+A="}]},"maintainers":[{"email":"csteinmeyer@gmail.com","name":"chrisfishwood"},{"email":"mike.groseclose@gmail.com","name":"mikrofusion"},{"email":"jason_hansen@outlook.com","name":"jchansen"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-reducers-0.13.0-beta.11.tgz_1513716334743_0.8888867583591491"},"directories":{}},"0.13.0-beta.12":{"name":"lore-reducers","version":"0.13.0-beta.12","license":"MIT","description":"Library to reduce boilerplate for Redux reducers","homepage":"https://github.com/lore/lore#readme","main":"lib/index.js","module":"es/index.js","repository":{"type":"git","url":"git+https://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","sinon":"1.17.2"},"readme":"# lore-reducers\n\n## Installation\n\nLore Reducers is available as an [npm package](https://www.npmjs.org/package/lore-reducers).\n```sh\nnpm install lore-reducers\n```\nAfter npm install, you'll find all the .js files in the /src folder and their compiled versions in the /lib folder.\n\n## Usage\n\nlore-reducers is an abstraction teir to reduce the boilerplate associated with created reducers for use with [Redux](https://github.com/rackt/redux).  It provides a set of common reducer functions as well as a blueprint you can use to build reducers.\n\nThe blueprint looks like this:\n\n```js\nvar { utils, blueprint } = require('lore-reducers');\n\nvar all = blueprint({\n    state: 'INITIAL_STATE',\n    data: []\n  }, [\n    {\n      actionType: types.ADD_TODO,\n      method: utils.addOrUpdateModel\n    },{\n      actionType: types.UPDATE_TODO,\n      method: utils.updateModel\n    },{\n      actionType: types.REMOVE_TODO,\n      method: utils.removeModel\n    },{\n      actionType: types.FETCH_TODO,\n      method: utils.mergeModels\n    },{\n    actionType: types.FETCH_TODOS_IN_LIST,\n    method: utils.mergeModels\n  }\n  ]\n);\n```\n\nThe following common functions are also available within the `utils` object.  Given a reducer that looks like this:\n\n```\nfunction(state, action){...}\n```\n\n* **addModel**: take the action.payload add it to state.data\n* **updateModel**: find the model within state.data that matches action.payload and replace it\n* **removeModel**: find the model within state.data that matches action.payload and remove it\n* **replaceModels**: poorly named, but effectively replaces the current state with action.payload\n* **mergeModels**: takes the set of models in action.payload and merges them into state.data (adding or updating each model as applicable)\n* **copyState**: copy action.payload.state and action.payload.error to state.state and state.error respectively\n* **getIndex**: if action.payload is in state.data, returns the index, otherwise returns -1\n* **addOrUpdateModel**: updates the model in state.data if action.payload already exists, otherwise adds it to state.data\n* **mergeModelsAndCopyState**: calls mergeModels and also runs copyState to copy state and error attributes to state\n\nThe following functions are also available, which are mean to be used as reducers themselves:\n\n* **function byId(state)**: takes all models in state.data and creates a dictionary from them using their id as the key\n* **function byCid(state)**: takes all models in state.data and creates a dictionary from them using their cid as the key\n\n## Reasoning for Interface\n\nThe thought process behind this was to reduce boilerplate while being extensible, and providing an interface that was generic enough to adapt to the wide array of (often changing) reducer needs on the client side.\n\nThe central logic of a reducer is a case statement that says \"if the action.type matches X, apply this reducing function to the state\".  With that in mind, the only unique about a reducer is the ActionType it's listening for and the method it should apply to state.  So that's why those are the two arguments in the object.\n\nAdditionally, this interface can also let you pass in custom functions aren't in the utils helpers in order to accomodate custom application needs.\n\nAnother design goal was to create an interface that could easily be generated by a series of conventions.\n\nThe `actionType` follows the pattern of `MethodName_ModelName`, and in most cases `MethodName` (add, update, remove) maps to a common function (addModel, updateModel, removeModel).  So if a framework created a set of conventions for the ActionTypes, and made sure they were consistent between the Actions and Reducers, many of the reducers could be reduced to an empty config files, similar to the magic that [Sails](http://sailsjs.org) applies to Models and Controllers which both start off as empty objects.\n","readmeFilename":"README.md","_id":"lore-reducers@0.13.0-beta.12","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-I34WFEw7lgN5wPIg3RLu1xQmy/ehNuBXUqkQpd+2tYhjHNJwZsnTnNb2K0XhzFCMhQSCK8zbjzVRYiKvZjCFyg==","shasum":"acf309163913b167dfc3627f703d2316ca2e6781","tarball":"https://registry.npmjs.org/lore-reducers/-/lore-reducers-0.13.0-beta.12.tgz","fileCount":25,"unpackedSize":38555,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD6Gx4buWwmo3XgarQTnqRtOtZEDCvjKlqsg6uHA89+VgIgT7zNOzuhcJkZ2AqE8Cp8+ZHD2jtzcM4gcP4WjEzIOeQ="}]},"maintainers":[{"email":"csteinmeyer@gmail.com","name":"chrisfishwood"},{"email":"jason_hansen@outlook.com","name":"jchansen"},{"email":"mike.groseclose@gmail.com","name":"mikrofusion"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-reducers_0.13.0-beta.12_1520214950196_0.4066992202887927"},"_hasShrinkwrap":false},"0.13.0-beta.13":{"name":"lore-reducers","version":"0.13.0-beta.13","license":"MIT","description":"Library to reduce boilerplate for Redux reducers","homepage":"https://github.com/lore/lore#readme","main":"lib/index.js","module":"es/index.js","repository":{"type":"git","url":"git+https://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","sinon":"1.17.2"},"readme":"# lore-reducers\n\n## Installation\n\nLore Reducers is available as an [npm package](https://www.npmjs.org/package/lore-reducers).\n```sh\nnpm install lore-reducers\n```\nAfter npm install, you'll find all the .js files in the /src folder and their compiled versions in the /lib folder.\n\n## Usage\n\nlore-reducers is an abstraction teir to reduce the boilerplate associated with created reducers for use with [Redux](https://github.com/rackt/redux).  It provides a set of common reducer functions as well as a blueprint you can use to build reducers.\n\nThe blueprint looks like this:\n\n```js\nvar { utils, blueprint } = require('lore-reducers');\n\nvar all = blueprint({\n    state: 'INITIAL_STATE',\n    data: []\n  }, [\n    {\n      actionType: types.ADD_TODO,\n      method: utils.addOrUpdateModel\n    },{\n      actionType: types.UPDATE_TODO,\n      method: utils.updateModel\n    },{\n      actionType: types.REMOVE_TODO,\n      method: utils.removeModel\n    },{\n      actionType: types.FETCH_TODO,\n      method: utils.mergeModels\n    },{\n    actionType: types.FETCH_TODOS_IN_LIST,\n    method: utils.mergeModels\n  }\n  ]\n);\n```\n\nThe following common functions are also available within the `utils` object.  Given a reducer that looks like this:\n\n```\nfunction(state, action){...}\n```\n\n* **addModel**: take the action.payload add it to state.data\n* **updateModel**: find the model within state.data that matches action.payload and replace it\n* **removeModel**: find the model within state.data that matches action.payload and remove it\n* **replaceModels**: poorly named, but effectively replaces the current state with action.payload\n* **mergeModels**: takes the set of models in action.payload and merges them into state.data (adding or updating each model as applicable)\n* **copyState**: copy action.payload.state and action.payload.error to state.state and state.error respectively\n* **getIndex**: if action.payload is in state.data, returns the index, otherwise returns -1\n* **addOrUpdateModel**: updates the model in state.data if action.payload already exists, otherwise adds it to state.data\n* **mergeModelsAndCopyState**: calls mergeModels and also runs copyState to copy state and error attributes to state\n\nThe following functions are also available, which are mean to be used as reducers themselves:\n\n* **function byId(state)**: takes all models in state.data and creates a dictionary from them using their id as the key\n* **function byCid(state)**: takes all models in state.data and creates a dictionary from them using their cid as the key\n\n## Reasoning for Interface\n\nThe thought process behind this was to reduce boilerplate while being extensible, and providing an interface that was generic enough to adapt to the wide array of (often changing) reducer needs on the client side.\n\nThe central logic of a reducer is a case statement that says \"if the action.type matches X, apply this reducing function to the state\".  With that in mind, the only unique about a reducer is the ActionType it's listening for and the method it should apply to state.  So that's why those are the two arguments in the object.\n\nAdditionally, this interface can also let you pass in custom functions aren't in the utils helpers in order to accomodate custom application needs.\n\nAnother design goal was to create an interface that could easily be generated by a series of conventions.\n\nThe `actionType` follows the pattern of `MethodName_ModelName`, and in most cases `MethodName` (add, update, remove) maps to a common function (addModel, updateModel, removeModel).  So if a framework created a set of conventions for the ActionTypes, and made sure they were consistent between the Actions and Reducers, many of the reducers could be reduced to an empty config files, similar to the magic that [Sails](http://sailsjs.org) applies to Models and Controllers which both start off as empty objects.\n","readmeFilename":"README.md","_id":"lore-reducers@0.13.0-beta.13","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-QRQwvkQKJsuTybjBs+P+p+YVWECcJzSv7b4/weEPnbaFWkf7D5aQtX0ESvVqo2jQbwfxwSb5CX3rYNxRvupLVQ==","shasum":"326bc9550bf7e56e8d322551248f82442bafa946","tarball":"https://registry.npmjs.org/lore-reducers/-/lore-reducers-0.13.0-beta.13.tgz","fileCount":25,"unpackedSize":38555,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICu6YN0ziCZTWcDNx8Mybcm/06OlXjA0Gle5luLUyyT0AiAUF3MU1IuG6GwfaCIKJuTsndV0d/K6KsZGdBBhFLUYeQ=="}]},"maintainers":[{"email":"csteinmeyer@gmail.com","name":"chrisfishwood"},{"email":"jason_hansen@outlook.com","name":"jchansen"},{"email":"mike.groseclose@gmail.com","name":"mikrofusion"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-reducers_0.13.0-beta.13_1521939994091_0.05144144465254996"},"_hasShrinkwrap":false},"0.13.0-beta.14":{"name":"lore-reducers","version":"0.13.0-beta.14","license":"MIT","description":"Library to reduce boilerplate for Redux reducers","homepage":"https://github.com/lore/lore#readme","main":"lib/index.js","module":"es/index.js","repository":{"type":"git","url":"git+https://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","sinon":"1.17.2"},"readme":"# lore-reducers\n\n## Installation\n\nLore Reducers is available as an [npm package](https://www.npmjs.org/package/lore-reducers).\n```sh\nnpm install lore-reducers\n```\nAfter npm install, you'll find all the .js files in the /src folder and their compiled versions in the /lib folder.\n\n## Usage\n\nlore-reducers is an abstraction teir to reduce the boilerplate associated with created reducers for use with [Redux](https://github.com/rackt/redux).  It provides a set of common reducer functions as well as a blueprint you can use to build reducers.\n\nThe blueprint looks like this:\n\n```js\nvar { utils, blueprint } = require('lore-reducers');\n\nvar all = blueprint({\n    state: 'INITIAL_STATE',\n    data: []\n  }, [\n    {\n      actionType: types.ADD_TODO,\n      method: utils.addOrUpdateModel\n    },{\n      actionType: types.UPDATE_TODO,\n      method: utils.updateModel\n    },{\n      actionType: types.REMOVE_TODO,\n      method: utils.removeModel\n    },{\n      actionType: types.FETCH_TODO,\n      method: utils.mergeModels\n    },{\n    actionType: types.FETCH_TODOS_IN_LIST,\n    method: utils.mergeModels\n  }\n  ]\n);\n```\n\nThe following common functions are also available within the `utils` object.  Given a reducer that looks like this:\n\n```\nfunction(state, action){...}\n```\n\n* **addModel**: take the action.payload add it to state.data\n* **updateModel**: find the model within state.data that matches action.payload and replace it\n* **removeModel**: find the model within state.data that matches action.payload and remove it\n* **replaceModels**: poorly named, but effectively replaces the current state with action.payload\n* **mergeModels**: takes the set of models in action.payload and merges them into state.data (adding or updating each model as applicable)\n* **copyState**: copy action.payload.state and action.payload.error to state.state and state.error respectively\n* **getIndex**: if action.payload is in state.data, returns the index, otherwise returns -1\n* **addOrUpdateModel**: updates the model in state.data if action.payload already exists, otherwise adds it to state.data\n* **mergeModelsAndCopyState**: calls mergeModels and also runs copyState to copy state and error attributes to state\n\nThe following functions are also available, which are mean to be used as reducers themselves:\n\n* **function byId(state)**: takes all models in state.data and creates a dictionary from them using their id as the key\n* **function byCid(state)**: takes all models in state.data and creates a dictionary from them using their cid as the key\n\n## Reasoning for Interface\n\nThe thought process behind this was to reduce boilerplate while being extensible, and providing an interface that was generic enough to adapt to the wide array of (often changing) reducer needs on the client side.\n\nThe central logic of a reducer is a case statement that says \"if the action.type matches X, apply this reducing function to the state\".  With that in mind, the only unique about a reducer is the ActionType it's listening for and the method it should apply to state.  So that's why those are the two arguments in the object.\n\nAdditionally, this interface can also let you pass in custom functions aren't in the utils helpers in order to accomodate custom application needs.\n\nAnother design goal was to create an interface that could easily be generated by a series of conventions.\n\nThe `actionType` follows the pattern of `MethodName_ModelName`, and in most cases `MethodName` (add, update, remove) maps to a common function (addModel, updateModel, removeModel).  So if a framework created a set of conventions for the ActionTypes, and made sure they were consistent between the Actions and Reducers, many of the reducers could be reduced to an empty config files, similar to the magic that [Sails](http://sailsjs.org) applies to Models and Controllers which both start off as empty objects.\n","readmeFilename":"README.md","_id":"lore-reducers@0.13.0-beta.14","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-fYjnRNlTW8VHFqC0Uak0zc6Txb13Ojocmk0Px7tCxyNqLCyTfqJMWxsdXDTorm215LYbpEcvI6n5FPbKsjp4Jw==","shasum":"b96718724d8826f16074113bda302e92f135a37a","tarball":"https://registry.npmjs.org/lore-reducers/-/lore-reducers-0.13.0-beta.14.tgz","fileCount":25,"unpackedSize":38555,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDsEzJuf9CW/Se7JZJhM60E5FYKnVFVeEb3BgVZQ5DgowIhALsJF1+wzPmUWCbi2U6ZJg7WlkhiV7XP2BZIFDixJz/m"}]},"maintainers":[{"email":"csteinmeyer@gmail.com","name":"chrisfishwood"},{"email":"jason_hansen@outlook.com","name":"jchansen"},{"email":"mike.groseclose@gmail.com","name":"mikrofusion"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-reducers_0.13.0-beta.14_1522531101645_0.9136311546929283"},"_hasShrinkwrap":false},"0.13.0-beta.15":{"name":"lore-reducers","version":"0.13.0-beta.15","license":"MIT","description":"Library to reduce boilerplate for Redux reducers","homepage":"https://github.com/lore/lore#readme","main":"lib/index.js","module":"es/index.js","repository":{"type":"git","url":"git+https://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","sinon":"1.17.2"},"readme":"# lore-reducers\n\n## Installation\n\nLore Reducers is available as an [npm package](https://www.npmjs.org/package/lore-reducers).\n```sh\nnpm install lore-reducers\n```\nAfter npm install, you'll find all the .js files in the /src folder and their compiled versions in the /lib folder.\n\n## Usage\n\nlore-reducers is an abstraction teir to reduce the boilerplate associated with created reducers for use with [Redux](https://github.com/rackt/redux).  It provides a set of common reducer functions as well as a blueprint you can use to build reducers.\n\nThe blueprint looks like this:\n\n```js\nvar { utils, blueprint } = require('lore-reducers');\n\nvar all = blueprint({\n    state: 'INITIAL_STATE',\n    data: []\n  }, [\n    {\n      actionType: types.ADD_TODO,\n      method: utils.addOrUpdateModel\n    },{\n      actionType: types.UPDATE_TODO,\n      method: utils.updateModel\n    },{\n      actionType: types.REMOVE_TODO,\n      method: utils.removeModel\n    },{\n      actionType: types.FETCH_TODO,\n      method: utils.mergeModels\n    },{\n    actionType: types.FETCH_TODOS_IN_LIST,\n    method: utils.mergeModels\n  }\n  ]\n);\n```\n\nThe following common functions are also available within the `utils` object.  Given a reducer that looks like this:\n\n```\nfunction(state, action){...}\n```\n\n* **addModel**: take the action.payload add it to state.data\n* **updateModel**: find the model within state.data that matches action.payload and replace it\n* **removeModel**: find the model within state.data that matches action.payload and remove it\n* **replaceModels**: poorly named, but effectively replaces the current state with action.payload\n* **mergeModels**: takes the set of models in action.payload and merges them into state.data (adding or updating each model as applicable)\n* **copyState**: copy action.payload.state and action.payload.error to state.state and state.error respectively\n* **getIndex**: if action.payload is in state.data, returns the index, otherwise returns -1\n* **addOrUpdateModel**: updates the model in state.data if action.payload already exists, otherwise adds it to state.data\n* **mergeModelsAndCopyState**: calls mergeModels and also runs copyState to copy state and error attributes to state\n\nThe following functions are also available, which are mean to be used as reducers themselves:\n\n* **function byId(state)**: takes all models in state.data and creates a dictionary from them using their id as the key\n* **function byCid(state)**: takes all models in state.data and creates a dictionary from them using their cid as the key\n\n## Reasoning for Interface\n\nThe thought process behind this was to reduce boilerplate while being extensible, and providing an interface that was generic enough to adapt to the wide array of (often changing) reducer needs on the client side.\n\nThe central logic of a reducer is a case statement that says \"if the action.type matches X, apply this reducing function to the state\".  With that in mind, the only unique about a reducer is the ActionType it's listening for and the method it should apply to state.  So that's why those are the two arguments in the object.\n\nAdditionally, this interface can also let you pass in custom functions aren't in the utils helpers in order to accomodate custom application needs.\n\nAnother design goal was to create an interface that could easily be generated by a series of conventions.\n\nThe `actionType` follows the pattern of `MethodName_ModelName`, and in most cases `MethodName` (add, update, remove) maps to a common function (addModel, updateModel, removeModel).  So if a framework created a set of conventions for the ActionTypes, and made sure they were consistent between the Actions and Reducers, many of the reducers could be reduced to an empty config files, similar to the magic that [Sails](http://sailsjs.org) applies to Models and Controllers which both start off as empty objects.\n","readmeFilename":"README.md","_id":"lore-reducers@0.13.0-beta.15","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-ODTIWIQodCYuuD8FQ9M8NJJyx0rG8Xl+XNyWvuRcjVMk8jp4nkn92k7TvUs+u2/jkjxUkFJ4vLnZxjhs49Q1Hg==","shasum":"0d2656b2cba7250bbac23b10b07ea08ec5fafc60","tarball":"https://registry.npmjs.org/lore-reducers/-/lore-reducers-0.13.0-beta.15.tgz","fileCount":25,"unpackedSize":38555,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC2RkqL8+HA9PgHOKEsCZOLiAJ2IYYTrMcPuP0+t637vAiEAg9v+L64W0UgyO0FYn0SLLHP1ZDZobwn3kI16wp5pGDE="}]},"maintainers":[{"email":"csteinmeyer@gmail.com","name":"chrisfishwood"},{"email":"jason_hansen@outlook.com","name":"jchansen"},{"email":"mike.groseclose@gmail.com","name":"mikrofusion"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-reducers_0.13.0-beta.15_1523329162157_0.0997403251070812"},"_hasShrinkwrap":false},"0.13.0-beta.16":{"name":"lore-reducers","version":"0.13.0-beta.16","license":"MIT","description":"Library to reduce boilerplate for Redux reducers","homepage":"https://github.com/lore/lore#readme","main":"lib/index.js","module":"es/index.js","repository":{"type":"git","url":"git+https://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","sinon":"1.17.2"},"readme":"# lore-reducers\n\n## Installation\n\nLore Reducers is available as an [npm package](https://www.npmjs.org/package/lore-reducers).\n```sh\nnpm install lore-reducers\n```\nAfter npm install, you'll find all the .js files in the /src folder and their compiled versions in the /lib folder.\n\n## Usage\n\nlore-reducers is an abstraction teir to reduce the boilerplate associated with created reducers for use with [Redux](https://github.com/rackt/redux).  It provides a set of common reducer functions as well as a blueprint you can use to build reducers.\n\nThe blueprint looks like this:\n\n```js\nvar { utils, blueprint } = require('lore-reducers');\n\nvar all = blueprint({\n    state: 'INITIAL_STATE',\n    data: []\n  }, [\n    {\n      actionType: types.ADD_TODO,\n      method: utils.addOrUpdateModel\n    },{\n      actionType: types.UPDATE_TODO,\n      method: utils.updateModel\n    },{\n      actionType: types.REMOVE_TODO,\n      method: utils.removeModel\n    },{\n      actionType: types.FETCH_TODO,\n      method: utils.mergeModels\n    },{\n    actionType: types.FETCH_TODOS_IN_LIST,\n    method: utils.mergeModels\n  }\n  ]\n);\n```\n\nThe following common functions are also available within the `utils` object.  Given a reducer that looks like this:\n\n```\nfunction(state, action){...}\n```\n\n* **addModel**: take the action.payload add it to state.data\n* **updateModel**: find the model within state.data that matches action.payload and replace it\n* **removeModel**: find the model within state.data that matches action.payload and remove it\n* **replaceModels**: poorly named, but effectively replaces the current state with action.payload\n* **mergeModels**: takes the set of models in action.payload and merges them into state.data (adding or updating each model as applicable)\n* **copyState**: copy action.payload.state and action.payload.error to state.state and state.error respectively\n* **getIndex**: if action.payload is in state.data, returns the index, otherwise returns -1\n* **addOrUpdateModel**: updates the model in state.data if action.payload already exists, otherwise adds it to state.data\n* **mergeModelsAndCopyState**: calls mergeModels and also runs copyState to copy state and error attributes to state\n\nThe following functions are also available, which are mean to be used as reducers themselves:\n\n* **function byId(state)**: takes all models in state.data and creates a dictionary from them using their id as the key\n* **function byCid(state)**: takes all models in state.data and creates a dictionary from them using their cid as the key\n\n## Reasoning for Interface\n\nThe thought process behind this was to reduce boilerplate while being extensible, and providing an interface that was generic enough to adapt to the wide array of (often changing) reducer needs on the client side.\n\nThe central logic of a reducer is a case statement that says \"if the action.type matches X, apply this reducing function to the state\".  With that in mind, the only unique about a reducer is the ActionType it's listening for and the method it should apply to state.  So that's why those are the two arguments in the object.\n\nAdditionally, this interface can also let you pass in custom functions aren't in the utils helpers in order to accomodate custom application needs.\n\nAnother design goal was to create an interface that could easily be generated by a series of conventions.\n\nThe `actionType` follows the pattern of `MethodName_ModelName`, and in most cases `MethodName` (add, update, remove) maps to a common function (addModel, updateModel, removeModel).  So if a framework created a set of conventions for the ActionTypes, and made sure they were consistent between the Actions and Reducers, many of the reducers could be reduced to an empty config files, similar to the magic that [Sails](http://sailsjs.org) applies to Models and Controllers which both start off as empty objects.\n","readmeFilename":"README.md","_id":"lore-reducers@0.13.0-beta.16","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-pqby6A2VGxExLLPzVPozuTNCcKwl9Z9g4yfVjqviJSqGjDedhdILndrq63PVvabCGqNwKxvi1WmOsm/e9Sao+Q==","shasum":"0f26bfca4e179f8b8f786a4387ce4d0dc840074f","tarball":"https://registry.npmjs.org/lore-reducers/-/lore-reducers-0.13.0-beta.16.tgz","fileCount":25,"unpackedSize":38555,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa4kKGCRA9TVsSAnZWagAA1iMQAJKgXz1zKyEyfMdEhFnH\nG5M3TbbxT2lqwkYQIsVF925neaiAgUBcnKrq3HtDCwmImoURdh2G600ts04Z\nxbWF5R9C4ijaK9mZq9+2xAO5XW6gmsBSipsKZRU1tasE45iLhPuWwKJ0+rYT\nmknmSnd4rAo6pnTMltdcpr59f+T1NWnXxImfrLN16B8V0tCYmJCZhsd27Gme\nP/hmTE51qVjKzsxpmGzhrWZuv10fy//tWbuuOiYmyn720NLHyXepIbFvqUl5\nNz6KaE4/Wt7V3qE9tShq8g4HNDlhjUAMEOour0CUjqcUQw1DfR4hhLZaHv5M\nK0V+6czstw48ePmXmtcn0JdAlz+rcgKpBsXRELvKbhhsEXP9dm0o8fYJ4jPT\nyqP9nPlBM3nl551wTfLxgwoclNkE29D+t555FrUA5oMM63lrM3Usvp2QN+/+\n4nmk0Z7vC2FNutnfvoxxSoAcRhXeGpjeQBpBJB/zmthoGb/+h9XHfCxzYOz+\nGg3wPaTxBzr0dDVkVbluCkkMuJPrj2k+qTExvKUImyqFen4IBOHx/NszlmX9\ng2udCqtfkKtZ70HdXUD/ETJ0ZDnnzg6Xw7KjO+1CdPqVMHqhl0m+3cuh6IuC\n5VRmBjLRrmt4N7lCSgSQcM4VvaDwpu5iQiWoNkRS9c1OGzUuN8jrq4pBrOC8\nYoh6\r\n=bU7a\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGIWphqniXeASsSrNO5UD3xnr7iXb6CGXZp4x4ED5X5GAiA2fJ5dNdDsvo+jXzkOaI1lEtYZF/a58nnfQON5NNKvAA=="}]},"maintainers":[{"email":"csteinmeyer@gmail.com","name":"chrisfishwood"},{"email":"jason_hansen@outlook.com","name":"jchansen"},{"email":"mike.groseclose@gmail.com","name":"mikrofusion"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-reducers_0.13.0-beta.16_1524777605957_0.36693601172742696"},"_hasShrinkwrap":false},"0.13.0-rc.1":{"name":"lore-reducers","version":"0.13.0-rc.1","license":"MIT","description":"Library to reduce boilerplate for Redux reducers","homepage":"https://github.com/lore/lore#readme","main":"lib/index.js","module":"es/index.js","repository":{"type":"git","url":"git+https://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","sinon":"1.17.2"},"readme":"# lore-reducers\n\n## Installation\n\nLore Reducers is available as an [npm package](https://www.npmjs.org/package/lore-reducers).\n```sh\nnpm install lore-reducers\n```\nAfter npm install, you'll find all the .js files in the /src folder and their compiled versions in the /lib folder.\n\n## Usage\n\nlore-reducers is an abstraction teir to reduce the boilerplate associated with created reducers for use with [Redux](https://github.com/rackt/redux).  It provides a set of common reducer functions as well as a blueprint you can use to build reducers.\n\nThe blueprint looks like this:\n\n```js\nvar { utils, blueprint } = require('lore-reducers');\n\nvar all = blueprint({\n    state: 'INITIAL_STATE',\n    data: []\n  }, [\n    {\n      actionType: types.ADD_TODO,\n      method: utils.addOrUpdateModel\n    },{\n      actionType: types.UPDATE_TODO,\n      method: utils.updateModel\n    },{\n      actionType: types.REMOVE_TODO,\n      method: utils.removeModel\n    },{\n      actionType: types.FETCH_TODO,\n      method: utils.mergeModels\n    },{\n    actionType: types.FETCH_TODOS_IN_LIST,\n    method: utils.mergeModels\n  }\n  ]\n);\n```\n\nThe following common functions are also available within the `utils` object.  Given a reducer that looks like this:\n\n```\nfunction(state, action){...}\n```\n\n* **addModel**: take the action.payload add it to state.data\n* **updateModel**: find the model within state.data that matches action.payload and replace it\n* **removeModel**: find the model within state.data that matches action.payload and remove it\n* **replaceModels**: poorly named, but effectively replaces the current state with action.payload\n* **mergeModels**: takes the set of models in action.payload and merges them into state.data (adding or updating each model as applicable)\n* **copyState**: copy action.payload.state and action.payload.error to state.state and state.error respectively\n* **getIndex**: if action.payload is in state.data, returns the index, otherwise returns -1\n* **addOrUpdateModel**: updates the model in state.data if action.payload already exists, otherwise adds it to state.data\n* **mergeModelsAndCopyState**: calls mergeModels and also runs copyState to copy state and error attributes to state\n\nThe following functions are also available, which are mean to be used as reducers themselves:\n\n* **function byId(state)**: takes all models in state.data and creates a dictionary from them using their id as the key\n* **function byCid(state)**: takes all models in state.data and creates a dictionary from them using their cid as the key\n\n## Reasoning for Interface\n\nThe thought process behind this was to reduce boilerplate while being extensible, and providing an interface that was generic enough to adapt to the wide array of (often changing) reducer needs on the client side.\n\nThe central logic of a reducer is a case statement that says \"if the action.type matches X, apply this reducing function to the state\".  With that in mind, the only unique about a reducer is the ActionType it's listening for and the method it should apply to state.  So that's why those are the two arguments in the object.\n\nAdditionally, this interface can also let you pass in custom functions aren't in the utils helpers in order to accomodate custom application needs.\n\nAnother design goal was to create an interface that could easily be generated by a series of conventions.\n\nThe `actionType` follows the pattern of `MethodName_ModelName`, and in most cases `MethodName` (add, update, remove) maps to a common function (addModel, updateModel, removeModel).  So if a framework created a set of conventions for the ActionTypes, and made sure they were consistent between the Actions and Reducers, many of the reducers could be reduced to an empty config files, similar to the magic that [Sails](http://sailsjs.org) applies to Models and Controllers which both start off as empty objects.\n","readmeFilename":"README.md","_id":"lore-reducers@0.13.0-rc.1","_npmVersion":"6.0.1","_nodeVersion":"8.11.1","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-d/ss3tv+WeMN+neue+3EPrxeVnacKxPKb5XFB3PQkexPWvXQnretsfW8uLOwhex1/bOdgzPqaQPYd3rBUjo6hg==","shasum":"011f23518226cea9273157fc7dfbf21aa6d71cab","tarball":"https://registry.npmjs.org/lore-reducers/-/lore-reducers-0.13.0-rc.1.tgz","fileCount":25,"unpackedSize":38552,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa+Ib5CRA9TVsSAnZWagAAVe0P/00ghN4K507MnNlCCMeT\nKV5Gk/HaXn30W48VN8bUJJDUVkj7R2RBQ7po3IUJchXcYEj+JYK/nqxBrCxZ\nn29UVyFwIEh7KGUDLmPFh7l6bU4RsfXLcg7CYUzpF4VTbQSCT/6hbYrAPK4s\nfyUobiBoQqwPE3yjrMr5+kBiDdGJpSOR11puwTkO7BUzbcGI/i8OMJ7qQgMX\nxevHDnUNXdCsGUFyRUaPDy+bvQjbgyVPDpzhxOys/CHBD7lfdi2EbVDNTYv4\npeY2qf0uwToHdOqL1DPx0Md36YG6dzdZ6Pn76/P0AaFkrdE3ytOlm6zhw6Dn\nVWpiz6m+rGe+INiWJj8Ju2cpXhVjWbVyjight+3NCmfKHRfmMCmKWBv55y+E\nYTQLHUTNxGGqqsO+UchPv++0JXz0qnh0A1QaMDkGmkiBOK1Ctdr3b4gtj8Kd\nJbge0JOHmiNt0jwsKmxsDjPRC1lZyyXz7hapqjAD3fi6UVkQRJChlOltHHUE\nMvrWIamy79i9vyi164yVmJq/fVnjDqhw8pflS6wABxcWVismKfnTXoa8B5rt\n2k8pi4hCfBb1cjMkZ9A6awp0D/Ly2WgCljOYpg4GBlP+M1uOVwMFCc8+WBCy\n3j/gTDHutiwBc1jcf9TKqtFoHB3gmCSUUZQPE3m0HgaVZb4YSTtuVUgC2ey6\n0ezK\r\n=uDUa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFxF1utVTFBhLVnzI5OZ5mwZr0gGkQehAiUlvi1z2FmzAiAENsHSKOmF5D+Wag1EGiJlPCAqj/W4dCXGQK4fgIFbbg=="}]},"maintainers":[{"email":"csteinmeyer@gmail.com","name":"chrisfishwood"},{"email":"jason_hansen@outlook.com","name":"jchansen"},{"email":"mike.groseclose@gmail.com","name":"mikrofusion"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-reducers_0.13.0-rc.1_1526236921213_0.028968380150930173"},"_hasShrinkwrap":false},"0.13.0-rc.2":{"name":"lore-reducers","version":"0.13.0-rc.2","license":"MIT","description":"Library to reduce boilerplate for Redux reducers","homepage":"https://github.com/lore/lore#readme","main":"lib/index.js","module":"es/index.js","repository":{"type":"git","url":"git+https://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","sinon":"1.17.2"},"readme":"# lore-reducers\n\n## Installation\n\nLore Reducers is available as an [npm package](https://www.npmjs.org/package/lore-reducers).\n```sh\nnpm install lore-reducers\n```\nAfter npm install, you'll find all the .js files in the /src folder and their compiled versions in the /lib folder.\n\n## Usage\n\nlore-reducers is an abstraction teir to reduce the boilerplate associated with created reducers for use with [Redux](https://github.com/rackt/redux).  It provides a set of common reducer functions as well as a blueprint you can use to build reducers.\n\nThe blueprint looks like this:\n\n```js\nvar { utils, blueprint } = require('lore-reducers');\n\nvar all = blueprint({\n    state: 'INITIAL_STATE',\n    data: []\n  }, [\n    {\n      actionType: types.ADD_TODO,\n      method: utils.addOrUpdateModel\n    },{\n      actionType: types.UPDATE_TODO,\n      method: utils.updateModel\n    },{\n      actionType: types.REMOVE_TODO,\n      method: utils.removeModel\n    },{\n      actionType: types.FETCH_TODO,\n      method: utils.mergeModels\n    },{\n    actionType: types.FETCH_TODOS_IN_LIST,\n    method: utils.mergeModels\n  }\n  ]\n);\n```\n\nThe following common functions are also available within the `utils` object.  Given a reducer that looks like this:\n\n```\nfunction(state, action){...}\n```\n\n* **addModel**: take the action.payload add it to state.data\n* **updateModel**: find the model within state.data that matches action.payload and replace it\n* **removeModel**: find the model within state.data that matches action.payload and remove it\n* **replaceModels**: poorly named, but effectively replaces the current state with action.payload\n* **mergeModels**: takes the set of models in action.payload and merges them into state.data (adding or updating each model as applicable)\n* **copyState**: copy action.payload.state and action.payload.error to state.state and state.error respectively\n* **getIndex**: if action.payload is in state.data, returns the index, otherwise returns -1\n* **addOrUpdateModel**: updates the model in state.data if action.payload already exists, otherwise adds it to state.data\n* **mergeModelsAndCopyState**: calls mergeModels and also runs copyState to copy state and error attributes to state\n\nThe following functions are also available, which are mean to be used as reducers themselves:\n\n* **function byId(state)**: takes all models in state.data and creates a dictionary from them using their id as the key\n* **function byCid(state)**: takes all models in state.data and creates a dictionary from them using their cid as the key\n\n## Reasoning for Interface\n\nThe thought process behind this was to reduce boilerplate while being extensible, and providing an interface that was generic enough to adapt to the wide array of (often changing) reducer needs on the client side.\n\nThe central logic of a reducer is a case statement that says \"if the action.type matches X, apply this reducing function to the state\".  With that in mind, the only unique about a reducer is the ActionType it's listening for and the method it should apply to state.  So that's why those are the two arguments in the object.\n\nAdditionally, this interface can also let you pass in custom functions aren't in the utils helpers in order to accomodate custom application needs.\n\nAnother design goal was to create an interface that could easily be generated by a series of conventions.\n\nThe `actionType` follows the pattern of `MethodName_ModelName`, and in most cases `MethodName` (add, update, remove) maps to a common function (addModel, updateModel, removeModel).  So if a framework created a set of conventions for the ActionTypes, and made sure they were consistent between the Actions and Reducers, many of the reducers could be reduced to an empty config files, similar to the magic that [Sails](http://sailsjs.org) applies to Models and Controllers which both start off as empty objects.\n","readmeFilename":"README.md","_id":"lore-reducers@0.13.0-rc.2","_npmVersion":"6.0.1","_nodeVersion":"8.11.1","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-nBQeR79zSkRNZs1mf/cpwVQI8FslSNRUUb9STYZDZ1MeK8ikM5EfKXYzA/w5Mlpu0/P++7k6XfQ5+RiIbeC0Xg==","shasum":"a7182a0e4d7ee6a6cc75fef82760db17d5c4f148","tarball":"https://registry.npmjs.org/lore-reducers/-/lore-reducers-0.13.0-rc.2.tgz","fileCount":25,"unpackedSize":38552,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbAhLaCRA9TVsSAnZWagAABxgP/Ar3Q/i4kLydZdEs+bsa\ngAviB9R8QWGHcK8MQna6XfDOvCUQLJltvs4mRpjfjhoR+O2NwehCqLexbcVP\nmx8cEFG7AsWFijl6FIC+fe3EW00N4v8Oj2Up0qL9lsfupfteHRhRzZbLh1Y+\nqMGesgSkRh8Vi76QtCyFuoOR2x8wOoa+QI9VqiwW1y1nBwiUaJiE1I0ev9k1\nZvu+It0k7APTLIn6LclldCY6VtcjkIS99Lua1fVASnQGrJP8tFoZ+i202+2/\np9tYxa5WLHAFuY2bLdnV99qLVjd/OEogHzhhObgbRjz1Fdcxjmk/vrKKVXI1\nu2drBzqSBdOdiIkXxggcKcSJgOgjndq8PEgXNN0g+s5/y31p2kyQuj9cdppL\nEV5Y0IBOCgxXf3Ysw0vD5WFtyQrxf3ufYeMD2g+JZqrG6TNll+MTd6Hlr8E0\nwUWQ/ly2Zinf4f2rwGlLqxbKVTXyOTEfZdkVBx+lScT+9wQ+srMPCArss/s5\nVgC5CK+VLkWK94SrJ87eFgexBPX7ZR8RTwjk4Nh9trdi1X721Ay9si7nbJXZ\nCul41kd02RNSGsHObG1G7bP8w3u4LV9ZxGXpVup5ayhiHfX6Irk4LPPiPMBs\no80l/filfjxVBVQQPkpa9eKsIKcXlKorxreykv/DSSat5krJLaVntu0v/DPm\n05hO\r\n=W6zn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCdytXUAklWmMio0rtcq+Al66zkwiLDbvq7QE8wG8NCowIhALBzZo3hUBBdG/OQ6v+3satQ2vpM5cucFG+vlAT831+e"}]},"maintainers":[{"email":"csteinmeyer@gmail.com","name":"chrisfishwood"},{"email":"jason_hansen@outlook.com","name":"jchansen"},{"email":"mike.groseclose@gmail.com","name":"mikrofusion"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-reducers_0.13.0-rc.2_1526862553982_0.6329953426851034"},"_hasShrinkwrap":false},"0.13.0":{"name":"lore-reducers","version":"0.13.0","license":"MIT","description":"Library to reduce boilerplate for Redux reducers","homepage":"https://github.com/lore/lore#readme","main":"lib/index.js","module":"es/index.js","repository":{"type":"git","url":"git+https://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"lodash":"^4.0.0"},"devDependencies":{"chai":"3.4.1","mocha":"2.3.4","rimraf":"2.5.2","sinon":"1.17.2"},"_id":"lore-reducers@0.13.0","_npmVersion":"6.0.1","_nodeVersion":"8.11.1","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-5b2yy8ygkL4BDlI9MyCUbXKYp6VLM+j7SPuSBiZOb9SxsVrWLrvFbmPnZ6/yBgpef8OhY0OKZ39cnJnzLjADpg==","shasum":"98640f4b34dc1950a5445e54a5225b2283211b64","tarball":"https://registry.npmjs.org/lore-reducers/-/lore-reducers-0.13.0.tgz","fileCount":25,"unpackedSize":38547,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbLvjBCRA9TVsSAnZWagAA7p8P/1VRvluIzAk2N7zfPTB4\nEpFnLn4DnKVz2Y3Y8YuFAkNTTPik/bEp+vL6zwU26kNXKxE27a0pp/9PT63L\n8/Ak/+sOUhNOr17OOKi1c76B65PpxEXHJ2iXND5+yrmAjzBePPhY9g9DKLlc\na1SLpDVWFW3NRH1s0SxepaCDSig9UEc7ojSa5UnnQTlp40P0aD46cMzCh32R\nJL4lWqstHJl6IDzr44EENzs4TIf0sUPvvEoOZdBhmhzhz3nIMI3Gw/P7Z6ug\niCjYvlKeVmWxLG1f4XEfG1vwPBcAWhBSu7uu6U3b09Y+XTj+tDwsOytJLg4O\nTqNTvzlK87u9hilGL8fRjLeOFAR92trOIu9iiSu/4ca6UTkY2/bLQ0SblVqn\nG2NkxtTO8akQHArus2aC5IOy8EbzMwUx+qJ0brgwg7tkhh57ip7fY+0/nxHX\n8I6yH02djjy0dxIZ9M81/v9SP97sdvosnQclQDTaLsL1loTPvfcNUn/SnXUG\nypdgt6IDrQutCp8uIy84VBOllTEFA2QRS3jrFnE5FS9VYNWCEnW3CUj+sjoY\nBbEC59H4IqymLWLFd7tTPD2xJBlEdTfWaroGjwTLCmhPZgV03sp/FKge+Sq7\nJ/rWWDlat5ozTc9gXZf3Ug3Fvc11R8AO8KTZGrCx0kMGLMecTZXAbCUowo7F\nwYiG\r\n=68+H\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC285KvAuk3T+0VblRKlp5LjH4HuVn8ifeUZmRFdk5qQQIhAPOVvFXbHg8+ottOk4SGjnthC6UFcOtwk10TW3jU1LPe"}]},"maintainers":[{"email":"csteinmeyer@gmail.com","name":"chrisfishwood"},{"email":"jason_hansen@outlook.com","name":"jchansen"},{"email":"mike.groseclose@gmail.com","name":"mikrofusion"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-reducers_0.13.0_1529804993776_0.24301507250795384"},"_hasShrinkwrap":false}},"readme":"# lore-reducers\n\n## Installation\n\nLore Reducers is available as an [npm package](https://www.npmjs.org/package/lore-reducers).\n```sh\nnpm install lore-reducers\n```\nAfter npm install, you'll find all the .js files in the /src folder and their compiled versions in the /lib folder.\n\n## Usage\n\nlore-reducers is an abstraction teir to reduce the boilerplate associated with created reducers for use with [Redux](https://github.com/rackt/redux).  It provides a set of common reducer functions as well as a blueprint you can use to build reducers.\n\nThe blueprint looks like this:\n\n```js\nvar { utils, blueprint } = require('lore-reducers');\n\nvar all = blueprint({\n    state: 'INITIAL_STATE',\n    data: []\n  }, [\n    {\n      actionType: types.ADD_TODO,\n      method: utils.addOrUpdateModel\n    },{\n      actionType: types.UPDATE_TODO,\n      method: utils.updateModel\n    },{\n      actionType: types.REMOVE_TODO,\n      method: utils.removeModel\n    },{\n      actionType: types.FETCH_TODO,\n      method: utils.mergeModels\n    },{\n    actionType: types.FETCH_TODOS_IN_LIST,\n    method: utils.mergeModels\n  }\n  ]\n);\n```\n\nThe following common functions are also available within the `utils` object.  Given a reducer that looks like this:\n\n```\nfunction(state, action){...}\n```\n\n* **addModel**: take the action.payload add it to state.data\n* **updateModel**: find the model within state.data that matches action.payload and replace it\n* **removeModel**: find the model within state.data that matches action.payload and remove it\n* **replaceModels**: poorly named, but effectively replaces the current state with action.payload\n* **mergeModels**: takes the set of models in action.payload and merges them into state.data (adding or updating each model as applicable)\n* **copyState**: copy action.payload.state and action.payload.error to state.state and state.error respectively\n* **getIndex**: if action.payload is in state.data, returns the index, otherwise returns -1\n* **addOrUpdateModel**: updates the model in state.data if action.payload already exists, otherwise adds it to state.data\n* **mergeModelsAndCopyState**: calls mergeModels and also runs copyState to copy state and error attributes to state\n\nThe following functions are also available, which are mean to be used as reducers themselves:\n\n* **function byId(state)**: takes all models in state.data and creates a dictionary from them using their id as the key\n* **function byCid(state)**: takes all models in state.data and creates a dictionary from them using their cid as the key\n\n## Reasoning for Interface\n\nThe thought process behind this was to reduce boilerplate while being extensible, and providing an interface that was generic enough to adapt to the wide array of (often changing) reducer needs on the client side.\n\nThe central logic of a reducer is a case statement that says \"if the action.type matches X, apply this reducing function to the state\".  With that in mind, the only unique about a reducer is the ActionType it's listening for and the method it should apply to state.  So that's why those are the two arguments in the object.\n\nAdditionally, this interface can also let you pass in custom functions aren't in the utils helpers in order to accomodate custom application needs.\n\nAnother design goal was to create an interface that could easily be generated by a series of conventions.\n\nThe `actionType` follows the pattern of `MethodName_ModelName`, and in most cases `MethodName` (add, update, remove) maps to a common function (addModel, updateModel, removeModel).  So if a framework created a set of conventions for the ActionTypes, and made sure they were consistent between the Actions and Reducers, many of the reducers could be reduced to an empty config files, similar to the magic that [Sails](http://sailsjs.org) applies to Models and Controllers which both start off as empty objects.\n","maintainers":[{"email":"csteinmeyer@gmail.com","name":"chrisfishwood"},{"email":"jason_hansen@outlook.com","name":"jchansen"},{"email":"mike.groseclose@gmail.com","name":"mikrofusion"}],"time":{"modified":"2022-06-19T14:20:21.550Z","created":"2015-12-05T10:15:41.393Z","0.1.0":"2015-12-05T10:15:41.393Z","0.2.0":"2016-01-24T23:30:09.361Z","0.2.1":"2016-02-02T04:04:57.598Z","0.3.0":"2016-03-04T08:01:17.816Z","0.6.12":"2016-03-04T08:29:46.251Z","0.6.13":"2016-06-26T03:53:06.328Z","0.6.30":"2016-06-26T04:04:55.024Z","0.7.0":"2016-06-30T10:49:07.468Z","0.8.0":"2016-07-19T23:42:02.773Z","0.9.0":"2016-09-11T08:32:47.663Z","0.10.0-beta.1":"2016-10-04T09:22:12.315Z","0.10.0":"2016-10-13T05:42:37.753Z","0.11.0-beta.1":"2016-12-12T06:24:39.502Z","0.11.0-rc.1":"2017-01-24T06:25:24.387Z","0.11.0":"2017-01-29T04:55:24.937Z","0.12.0-beta.1":"2017-03-05T23:59:43.051Z","0.11.5":"2017-05-02T08:05:42.166Z","0.12.0-rc.1":"2017-05-02T08:55:40.556Z","0.12.0":"2017-05-08T05:00:07.607Z","0.12.6":"2017-07-04T05:09:25.563Z","0.12.7-rc.1":"2017-07-09T22:16:00.767Z","0.13.0-beta.1":"2017-09-18T19:57:15.863Z","0.13.0-beta.3":"2017-09-18T22:31:41.388Z","0.13.0-beta.5":"2017-11-14T20:52:45.910Z","0.13.0-beta.6":"2017-11-14T22:26:12.358Z","0.13.0-beta.7":"2017-11-14T22:38:41.539Z","0.13.0-beta.9":"2017-11-25T07:18:21.959Z","0.13.0-beta.10":"2017-12-14T21:20:11.137Z","0.13.0-beta.11":"2017-12-19T20:45:34.820Z","0.13.0-beta.12":"2018-03-05T01:55:50.255Z","0.13.0-beta.13":"2018-03-25T01:06:34.232Z","0.13.0-beta.14":"2018-03-31T21:18:21.781Z","0.13.0-beta.15":"2018-04-10T02:59:22.215Z","0.13.0-beta.16":"2018-04-26T21:20:06.028Z","0.13.0-rc.1":"2018-05-13T18:42:01.304Z","0.13.0-rc.2":"2018-05-21T00:29:14.150Z","0.13.0":"2018-06-24T01:49:53.856Z"},"homepage":"https://github.com/lore/lore#readme","repository":{"type":"git","url":"git+https://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"license":"MIT","readmeFilename":"README.md"}