{"_id":"redux-interactions","_rev":"238-da5f6aaf41101d0daa785a78df1ff9dd","name":"redux-interactions","description":"A streamlined approach to managing your Redux action creators and reducers.","dist-tags":{"latest":"2.3.86"},"versions":{"1.0.0":{"name":"redux-interactions","version":"1.0.0","description":"A streamlined approach to managing your Redux action creators and reducers.","homepage":"https://github.com/convoyinc/redux-interactions","bugs":{"url":"https://github.com/convoyinc/redux-interactions/issues"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/convoyinc/redux-interactions.git"},"main":"./dist/src/index.js","typings":"./dist/src/index.d.ts","files":["dist","*.md"],"scripts":{"bump":"./scripts/bump","clean":"./scripts/clean","compile":"./scripts/compile","prepublish":"./scripts/prepublish","test:style":"./scripts/test:style","test:unit":"./scripts/test:unit","test":"./scripts/test"},"engines":{"node":">= 4.0.0"},"dependencies":{"lodash":"^4.0.0","unique-type":"^1.0.0"},"devDependencies":{"chai":"^3.5.0","mocha":"^2.4.5","mocha-circleci-reporter":"0.0.1","mocha-clean":"^1.0.0","sinon":"^1.17.3","sinon-chai":"^2.8.0","ts-node":"^0.7.1","tslint":"3.6.0","typescript":"1.8.9","typings":"0.7.9"},"gitHead":"e85b223514bc1d0c172761eef205229b15d805f2","_id":"redux-interactions@1.0.0","_shasum":"22f5c091ce4d7612d399144420fee239f55b849f","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.10.38","_npmUser":{"name":"nevir","email":"ian@nevir.net"},"dist":{"shasum":"22f5c091ce4d7612d399144420fee239f55b849f","tarball":"https://registry.npmjs.org/redux-interactions/-/redux-interactions-1.0.0.tgz","integrity":"sha512-+bihAFjB2EYQwGP4rdWpYKHgrT3fc/928joGuL5RLpQY5Tn0VLIhW4da+RH1/zBci5CsjWU8nlkfAvIgh6tVSw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC04Jge0AgL/78CVY+xvHA6DV+a3J6GU/PHQ8l/UmzeUAiBoWRMzuq9zJrtZdieWtr3i/Ggflg/qEiqquNI6WDil6w=="}]},"maintainers":[{"name":"nevir","email":"ian@nevir.net"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/redux-interactions-1.0.0.tgz_1458964559088_0.9976517308969051"},"directories":{}},"1.1.0":{"name":"redux-interactions","version":"1.1.0","description":"A streamlined approach to managing your Redux action creators and reducers.","homepage":"https://github.com/convoyinc/redux-interactions","bugs":{"url":"https://github.com/convoyinc/redux-interactions/issues"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/convoyinc/redux-interactions.git"},"main":"./dist/src/index.js","typings":"./dist/src/index.d.ts","files":["dist","*.md"],"scripts":{"bump":"./scripts/bump","clean":"./scripts/clean","compile":"./scripts/compile","prepublish":"./scripts/prepublish","test:style":"./scripts/test:style","test:unit":"./scripts/test:unit","test":"./scripts/test"},"engines":{"node":">= 4.0.0"},"dependencies":{"lodash":"^4.0.0","unique-type":"^1.0.0"},"devDependencies":{"chai":"^3.5.0","mocha":"^2.4.5","mocha-circleci-reporter":"0.0.1","mocha-clean":"^1.0.0","sinon":"^1.17.3","sinon-chai":"^2.8.0","ts-node":"^0.7.1","tslint":"3.6.0","typescript":"1.8.9","typings":"0.7.9"},"gitHead":"cc984a3209c8f6a2ceae6eedd86ac32370de8e90","_id":"redux-interactions@1.1.0","_shasum":"cdbd3a34d7618dc97d1b963829236363a20d36f4","_from":".","_npmVersion":"2.14.3","_nodeVersion":"4.1.0","_npmUser":{"name":"nevir","email":"ian@nevir.net"},"dist":{"shasum":"cdbd3a34d7618dc97d1b963829236363a20d36f4","tarball":"https://registry.npmjs.org/redux-interactions/-/redux-interactions-1.1.0.tgz","integrity":"sha512-rO0rly0Rba2Q+GYt716FV82WJ1NplpS+faPhjBu1qs+a+CyCbVhqC8n06e2C3W9NSAtgO75RSRhREp/efS70rA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEsmVyDAUPC5jaD58K8Y+gnc1LYzOWapuns1xkypO2EBAiEAkNr6236qE9uN7DSabcZpPNZncBlsaMJHtfq38YIEBdE="}]},"maintainers":[{"name":"convoy","email":"npm@convoy.com"},{"name":"nevir","email":"ian@nevir.net"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/redux-interactions-1.1.0.tgz_1458967738232_0.6055747820064425"},"directories":{}},"1.2.0":{"name":"redux-interactions","version":"1.2.0","description":"A streamlined approach to managing your Redux action creators and reducers.","homepage":"https://github.com/convoyinc/redux-interactions","bugs":{"url":"https://github.com/convoyinc/redux-interactions/issues"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/convoyinc/redux-interactions.git"},"main":"./dist/src/index.js","typings":"./dist/src/index.d.ts","files":["dist","*.md"],"scripts":{"bump":"./scripts/bump","clean":"./scripts/clean","compile":"./scripts/compile","prepublish":"./scripts/prepublish","test:style":"./scripts/test:style","test:unit":"./scripts/test:unit","test":"./scripts/test"},"engines":{"node":">= 4.0.0"},"dependencies":{"lodash":"^4.0.0","unique-type":"^1.0.0"},"devDependencies":{"chai":"^3.5.0","mocha":"^2.4.5","mocha-circleci-reporter":"0.0.1","mocha-clean":"^1.0.0","sinon":"^1.17.3","sinon-chai":"^2.8.0","ts-node":"^0.7.1","tslint":"3.6.0","typescript":"1.8.9","typings":"0.7.9"},"gitHead":"cd236cfaae1ecc8af90452bcdf48fa8e47b032f4","_id":"redux-interactions@1.2.0","_shasum":"3be78a0cd6fedfdbe7e7e2ff9e46c70af5ad2087","_from":".","_npmVersion":"2.14.3","_nodeVersion":"4.1.0","_npmUser":{"name":"nevir","email":"ian@nevir.net"},"dist":{"shasum":"3be78a0cd6fedfdbe7e7e2ff9e46c70af5ad2087","tarball":"https://registry.npmjs.org/redux-interactions/-/redux-interactions-1.2.0.tgz","integrity":"sha512-wTy1YE+Q/06egkGHczTOkSBCU8+kkRqxx/Rp2YFCniGwUK3TUqh7wcjOydFsGwySTXvqtLQTSZShPzK6FMQx5Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDhZDn8UgqIWuPM8ud7koBoxYHJ4CahumSmrCE0ielBLAIhAOapDtt1qIhqbiyVDHngW9nn8orJoOqsMmIaFoR6aub9"}]},"maintainers":[{"name":"convoy","email":"npm@convoy.com"},{"name":"nevir","email":"ian@nevir.net"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/redux-interactions-1.2.0.tgz_1459199524532_0.5706219123676419"},"directories":{}},"1.3.0":{"name":"redux-interactions","version":"1.3.0","description":"A streamlined approach to managing your Redux action creators and reducers.","homepage":"https://github.com/convoyinc/redux-interactions","bugs":{"url":"https://github.com/convoyinc/redux-interactions/issues"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/convoyinc/redux-interactions.git"},"main":"./dist/src/index.js","typings":"./dist/src/index.d.ts","files":["dist","*.md"],"scripts":{"bump":"./scripts/bump","clean":"./scripts/clean","compile":"./scripts/compile","example":"./scripts/example","prepublish":"./scripts/prepublish","test:style":"./scripts/test:style","test:unit":"./scripts/test:unit","test":"./scripts/test"},"engines":{"node":">= 4.0.0"},"dependencies":{"lodash":"^4.0.0","unique-type":"^1.1.0"},"devDependencies":{"chai":"^3.5.0","mocha":"^2.4.5","mocha-circleci-reporter":"0.0.1","mocha-clean":"^1.0.0","sinon":"^1.17.3","sinon-chai":"^2.8.0","ts-node":"^0.7.1","tslint":"3.6.0","typescript":"1.8.9","typings":"0.7.9"},"gitHead":"ee26afc65c4ca600f1b05d33fce31180ef28a307","_id":"redux-interactions@1.3.0","_shasum":"0d490e3ef3a5ffdb5252232c0c6327cfb767ec39","_from":".","_npmVersion":"3.8.3","_nodeVersion":"4.2.2","_npmUser":{"name":"aowainati","email":"aowainati2099@gmail.com"},"dist":{"shasum":"0d490e3ef3a5ffdb5252232c0c6327cfb767ec39","tarball":"https://registry.npmjs.org/redux-interactions/-/redux-interactions-1.3.0.tgz","integrity":"sha512-d3iMzxEtAeOoKjaGHonK9kS7Y9+KAfmkPtxHtrC3cq3RqvHcpKzF0r7l7OnKIF0+jJnKBRIEhs1T5Y6Qss3FnA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCDRi2EXcrocNww1hmAHF2bqQwymoXutsmVc2j3qaAgogIgSJBdsmwmzVHzBYAJAslzX1qqZ3kcmZP8Cvj4upB8/mQ="}]},"maintainers":[{"name":"aowainati","email":"aowainati2099@gmail.com"},{"name":"convoy","email":"npm@convoy.com"},{"name":"nevir","email":"ian@nevir.net"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/redux-interactions-1.3.0.tgz_1459804586363_0.1837556220125407"},"directories":{}},"1.4.1":{"name":"redux-interactions","version":"1.4.1","description":"A streamlined approach to managing your Redux action creators and reducers.","homepage":"https://github.com/convoyinc/redux-interactions","bugs":{"url":"https://github.com/convoyinc/redux-interactions/issues"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/convoyinc/redux-interactions.git"},"main":"./dist/src/index.js","typings":"./dist/src/index.d.ts","files":["dist","*.md"],"scripts":{"bump":"./scripts/bump","clean":"./scripts/clean","compile":"./scripts/compile","example":"./scripts/example","prepublish":"./scripts/prepublish","test:style":"./scripts/test:style","test:unit":"./scripts/test:unit","test":"./scripts/test"},"engines":{"node":">= 4.0.0"},"dependencies":{"deep-update":"^1.2.0","lodash":"^4.0.0","unique-type":"^1.1.0"},"devDependencies":{"chai":"^3.5.0","mocha":"^2.4.5","mocha-circleci-reporter":"0.0.1","mocha-clean":"^1.0.0","react":"^15.0.2","sinon":"^1.17.3","sinon-chai":"^2.8.0","ts-node":"^0.7.1","tslint":"3.6.0","typescript":"1.8.9","typings":"0.7.9"},"gitHead":"7f3ae8be94c2024e84f103951f6149eb82a0ffdc","_id":"redux-interactions@1.4.1","_shasum":"a46f17ad5c49c8f3162b3ea4ea5c0f67278e28cc","_from":".","_npmVersion":"3.8.3","_nodeVersion":"4.1.0","_npmUser":{"name":"nevir","email":"ian@nevir.net"},"dist":{"shasum":"a46f17ad5c49c8f3162b3ea4ea5c0f67278e28cc","tarball":"https://registry.npmjs.org/redux-interactions/-/redux-interactions-1.4.1.tgz","integrity":"sha512-yNQx5zCljwMwtJ94tCi9yD+NJooOlxo5m12l0sNN5Q13n45siEMiZZsXd8CuP19ecZ7o50zPfIKaIMLQzi562Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHuyytLnzhMcizsNFnZPQgh4z1LpRczhKo850BcnQ9JFAiEAjqfJ17cK4KNuTxzWOOTXreZ/kdixRwgREXsw4t5zsjk="}]},"maintainers":[{"name":"aowainati","email":"aowainati2099@gmail.com"},{"name":"convoy","email":"npm@convoy.com"},{"name":"nevir","email":"ian@nevir.net"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/redux-interactions-1.4.1.tgz_1462217831892_0.6676446648780257"},"directories":{}},"1.5.0":{"name":"redux-interactions","version":"1.5.0","description":"A streamlined approach to managing your Redux action creators and reducers.","homepage":"https://github.com/convoyinc/redux-interactions","bugs":{"url":"https://github.com/convoyinc/redux-interactions/issues"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/convoyinc/redux-interactions.git"},"main":"./dist/src/index.js","typings":"./dist/src/index.d.ts","files":["dist","*.md"],"scripts":{"bump":"./scripts/bump","clean":"./scripts/clean","compile":"./scripts/compile","example":"./scripts/example","prepublish":"./scripts/prepublish","test:style":"./scripts/test:style","test:unit":"./scripts/test:unit","test":"./scripts/test"},"engines":{"node":">= 4.0.0"},"dependencies":{"deep-update":"^1.2.0","lodash":"^4.0.0","unique-type":"^1.1.0"},"devDependencies":{"chai":"^3.5.0","mocha":"^2.4.5","mocha-circleci-reporter":"0.0.1","mocha-clean":"^1.0.0","react":"^15.0.2","sinon":"^1.17.3","sinon-chai":"^2.8.0","ts-node":"^0.7.1","tslint":"3.6.0","typescript":"1.8.9","typings":"0.7.9"},"gitHead":"45e07330b40222641e0ae3a65a7d4f7a82fe27fe","_id":"redux-interactions@1.5.0","_shasum":"1362e9a44b04ec3012c75f4df26125d1c0546537","_from":".","_npmVersion":"3.8.3","_nodeVersion":"4.1.0","_npmUser":{"name":"nevir","email":"ian@nevir.net"},"dist":{"shasum":"1362e9a44b04ec3012c75f4df26125d1c0546537","tarball":"https://registry.npmjs.org/redux-interactions/-/redux-interactions-1.5.0.tgz","integrity":"sha512-SqqSpWm7akuL3/zAD1UIJZJUybNn8IaupiBNwKXwTvynqgfAN4VlwilYX88UoZcRRUibskquyezNflkwlx0trA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDguuLhlfyXoG2RXPvEiAn35B5PneoD/LfxORl3MeEEhgIhANdq6NQPAIgmG6eFsk0BF6/AK8CnoSbT0hDqg207ikr1"}]},"maintainers":[{"name":"aowainati","email":"aowainati2099@gmail.com"},{"name":"convoy","email":"npm@convoy.com"},{"name":"nevir","email":"ian@nevir.net"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/redux-interactions-1.5.0.tgz_1462655260042_0.4049008039291948"},"directories":{}},"1.5.1":{"name":"redux-interactions","version":"1.5.1","description":"A streamlined approach to managing your Redux action creators and reducers.","homepage":"https://github.com/convoyinc/redux-interactions","bugs":{"url":"https://github.com/convoyinc/redux-interactions/issues"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/convoyinc/redux-interactions.git"},"main":"./dist/src/index.js","typings":"./dist/src/index.d.ts","files":["dist","*.md"],"scripts":{"bump":"./scripts/bump","clean":"./scripts/clean","compile":"./scripts/compile","example":"./scripts/example","prepublish":"./scripts/prepublish","test:style":"./scripts/test:style","test:unit":"./scripts/test:unit","test":"./scripts/test"},"engines":{"node":">= 4.0.0"},"dependencies":{"deep-update":"^1.2.0","lodash":"^4.0.0","unique-type":"^1.1.0"},"devDependencies":{"chai":"^3.5.0","mocha":"^2.4.5","mocha-circleci-reporter":"0.0.1","mocha-clean":"^1.0.0","react":"^15.0.2","sinon":"^1.17.3","sinon-chai":"^2.8.0","ts-node":"^0.7.1","tslint":"3.6.0","typescript":"1.8.9","typings":"0.7.9"},"gitHead":"0cc910b58a5583ebe23d36ba30d8f60aceeebcf7","_id":"redux-interactions@1.5.1","_shasum":"f9068aad1730237d1ae6ecd43656390e6d3bd620","_from":".","_npmVersion":"3.8.3","_nodeVersion":"4.1.0","_npmUser":{"name":"nevir","email":"ian@nevir.net"},"dist":{"shasum":"f9068aad1730237d1ae6ecd43656390e6d3bd620","tarball":"https://registry.npmjs.org/redux-interactions/-/redux-interactions-1.5.1.tgz","integrity":"sha512-XAcXzShyDvTWR8I6OZgyq3PVH6AMl9XlwAnYlfOP44hjXUi1jMP/PBzujD6TuPyC6mAC/im77OLoUc8Nf/YVKA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCvysXRx4ice+YWthuWc+yP5dyUY66eUSNkLIebl3FOMAIhAJDQRTzf09JhMFMnFDn6GUiDvTZFBMu2XdM/n86D1CCi"}]},"maintainers":[{"name":"aowainati","email":"aowainati2099@gmail.com"},{"name":"convoy","email":"npm@convoy.com"},{"name":"nevir","email":"ian@nevir.net"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/redux-interactions-1.5.1.tgz_1463169017637_0.5239633813034743"},"directories":{}},"2.0.0":{"name":"redux-interactions","version":"2.0.0","description":"A streamlined approach to managing your Redux action creators and reducers.","homepage":"https://github.com/convoyinc/redux-interactions","bugs":{"url":"https://github.com/convoyinc/redux-interactions/issues"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/convoyinc/redux-interactions.git"},"main":"./dist/src/index.js","typings":"./dist/src/index.d.ts","files":["dist","*.md"],"scripts":{"bump":"./scripts/bump","clean":"./scripts/clean","compile":"./scripts/compile","example":"./scripts/example","prepublish":"./scripts/prepublish","test:style":"./scripts/test:style","test:unit":"./scripts/test:unit","test":"./scripts/test"},"engines":{"node":">= 4.0.0"},"dependencies":{"deep-update":"^1.2.0","lodash":"^4.0.0","unique-type":"^1.1.0"},"devDependencies":{"chai":"^3.5.0","mocha":"^2.4.5","mocha-circleci-reporter":"0.0.1","mocha-clean":"^1.0.0","react":"^15.0.2","sinon":"^1.17.3","sinon-chai":"^2.8.0","ts-node":"^0.7.1","tslint":"3.6.0","typescript":"1.8.9","typings":"0.7.9"},"gitHead":"9bb3b30342d35db3bcb04303494c753e2d2e45cf","_id":"redux-interactions@2.0.0","_shasum":"c3527f7716eb40f38f25aba992fff0cbff44d955","_from":".","_npmVersion":"3.8.3","_nodeVersion":"5.9.1","_npmUser":{"name":"rylanh","email":"RylanH@gmail.com"},"dist":{"shasum":"c3527f7716eb40f38f25aba992fff0cbff44d955","tarball":"https://registry.npmjs.org/redux-interactions/-/redux-interactions-2.0.0.tgz","integrity":"sha512-Un0t8501+5TQx4SFXkwM5mAnDE77InITKuMt9CjGuRNAFKDcGXZulgtF7sZdvGulXEXMoxTJus9Qldx9t3mc6A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHKxldq/OydowH1IrFtaBIu5Rpj4R80Zp4+qMe3xXZebAiEAttL2U3hbVSpHBIKzg8H64pMRMys1SU1mMzIa7bKhdiU="}]},"maintainers":[{"name":"alexturek","email":"alex.turek@gmail.com"},{"name":"aowainati","email":"aowainati2099@gmail.com"},{"name":"davidtsai","email":"anatari@gmail.com"},{"name":"donvoy","email":"npm@convoy.com"},{"name":"igrayson","email":"ian133@gmail.com"},{"name":"jonathanastanton","email":"jonathan.a.stanton@gmail.com"},{"name":"nevir","email":"ian@nevir.net"},{"name":"rylanh","email":"RylanH@gmail.com"},{"name":"vincecoppola","email":"vince@convoy.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/redux-interactions-2.0.0.tgz_1465020254305_0.19927270547486842"},"directories":{}},"2.1.56":{"name":"redux-interactions","version":"2.1.56","description":"A streamlined approach to managing your Redux action creators and reducers.","homepage":"https://github.com/convoyinc/redux-interactions","bugs":{"url":"https://github.com/convoyinc/redux-interactions/issues"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/convoyinc/redux-interactions.git"},"main":"./dist/src/index.js","typings":"./dist/src/index.d.ts","files":["dist","*.md"],"scripts":{"bump":"./scripts/bump","clean":"./scripts/clean","compile":"./scripts/compile","example":"./scripts/example","prepublish":"./scripts/prepublish","release":"./scripts/release","test":"./scripts/test","test:style":"./scripts/test:style","test:unit":"./scripts/test:unit"},"engines":{"node":">= 4.0.0"},"dependencies":{"deep-update":"^1.2.0","lodash":"^4.0.0","unique-type":"^1.1.0"},"devDependencies":{"chai":"^3.5.0","mocha":"^2.5.3","mocha-circleci-reporter":"^0.0.1","mocha-clean":"^1.0.0","react":"^15.1.0","sinon":"^1.17.4","sinon-chai":"^2.8.0","ts-node":"^0.9.3","tslint":"^3.12.1","typescript":"^1.8.10","typings":"^1.3.1"},"gitHead":"bcf2a1ae190f608294c0ffcfe5803ca00c0646a9","_id":"redux-interactions@2.1.56","_shasum":"ae4de58c93e05bba4e32d5f695c62e45f33e8353","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"donvoy","email":"npm@convoy.com"},"dist":{"shasum":"ae4de58c93e05bba4e32d5f695c62e45f33e8353","tarball":"https://registry.npmjs.org/redux-interactions/-/redux-interactions-2.1.56.tgz","integrity":"sha512-q2V805QFHbRB89bpwM+IizqC7flZDBkMNUewOOlevAsFgBNSEovvwUaql/7E1CP+vYelDNgEbnh2QENtlUb2/w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCmnkHB9rB8NtVIlktjOk8VnxP63Scqd88AlXrdzt/L1QIhANwk7dJ259xICD1Bo0H7/le4u9w8b2p4YVA+Wzvm2eS5"}]},"maintainers":[{"name":"alexturek","email":"alex.turek@gmail.com"},{"name":"aowainati","email":"aowainati2099@gmail.com"},{"name":"davidtsai","email":"anatari@gmail.com"},{"name":"donvoy","email":"npm@convoy.com"},{"name":"igrayson","email":"ian133@gmail.com"},{"name":"jonathanastanton","email":"jonathan.a.stanton@gmail.com"},{"name":"nevir","email":"ian@nevir.net"},{"name":"rylanh","email":"RylanH@gmail.com"},{"name":"vincecoppola","email":"vince@convoy.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/redux-interactions-2.1.56.tgz_1467223273352_0.788702679798007"},"directories":{}},"2.1.61":{"name":"redux-interactions","version":"2.1.61","description":"A streamlined approach to managing your Redux action creators and reducers.","homepage":"https://github.com/convoyinc/redux-interactions","bugs":{"url":"https://github.com/convoyinc/redux-interactions/issues"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/convoyinc/redux-interactions.git"},"main":"./dist/src/index.js","typings":"./dist/src/index.d.ts","files":["dist","*.md"],"scripts":{"bump":"./scripts/bump","clean":"./scripts/clean","compile":"./scripts/compile","example":"./scripts/example","prepublish":"./scripts/prepublish","release":"./scripts/release","test":"./scripts/test","test:style":"./scripts/test:style","test:unit":"./scripts/test:unit"},"engines":{"node":">= 4.0.0"},"dependencies":{"deep-update":"^1.2.0","lodash":"^4.0.0","unique-type":"^1.1.0"},"devDependencies":{"chai":"^3.5.0","mocha":"^2.5.3","mocha-circleci-reporter":"^0.0.1","mocha-clean":"^1.0.0","react":"^15.1.0","sinon":"^1.17.4","sinon-chai":"^2.8.0","ts-node":"^0.9.3","tslint":"^3.12.1","typescript":"^1.8.10","typings":"^1.3.1"},"gitHead":"44e928ab9932e817f3b38660a50e7d25a0fcd57c","_id":"redux-interactions@2.1.61","_shasum":"589a9f5671e1feafe3fc95f95359ad80d0906a3c","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"donvoy","email":"npm@convoy.com"},"dist":{"shasum":"589a9f5671e1feafe3fc95f95359ad80d0906a3c","tarball":"https://registry.npmjs.org/redux-interactions/-/redux-interactions-2.1.61.tgz","integrity":"sha512-lGERj/QbpXFKRMK5TotVkPZDE7z9Y/MGk5p576Wom9TA4vdv6q3D3Ht2axgBlUhc8g7u4fQZh2z5iPiA/SKJ/Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICQW8PSANE48lklSOWh9IOBEB4U2rmA/0EzUUjjmFKEAAiEAqBTD6wHqTXCNPU0xHw5qlQEykvNqsj5QzDTedpV6NNI="}]},"maintainers":[{"name":"alexturek","email":"alex.turek@gmail.com"},{"name":"aowainati","email":"aowainati2099@gmail.com"},{"name":"davidtsai","email":"anatari@gmail.com"},{"name":"donvoy","email":"npm@convoy.com"},{"name":"igrayson","email":"ian133@gmail.com"},{"name":"jonathanastanton","email":"jonathan.a.stanton@gmail.com"},{"name":"nevir","email":"ian@nevir.net"},{"name":"rylanh","email":"RylanH@gmail.com"},{"name":"vincecoppola","email":"vince@convoy.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/redux-interactions-2.1.61.tgz_1467241998536_0.5513846550602466"},"directories":{}},"2.2.64":{"name":"redux-interactions","version":"2.2.64","description":"A streamlined approach to managing your Redux action creators and reducers.","homepage":"https://github.com/convoyinc/redux-interactions","bugs":{"url":"https://github.com/convoyinc/redux-interactions/issues"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/convoyinc/redux-interactions.git"},"main":"./dist/src/index.js","typings":"./dist/src/index.d.ts","files":["dist","*.md"],"scripts":{"bump":"./scripts/bump","clean":"./scripts/clean","compile":"./scripts/compile","example":"./scripts/example","prepublish":"./scripts/prepublish","release":"./scripts/release","test":"./scripts/test","test:style":"./scripts/test:style","test:unit":"./scripts/test:unit"},"engines":{"node":">= 4.0.0"},"dependencies":{"deep-update":"^1.2.0","lodash":"^4.0.0","nano-equal":"^1.0.1","unique-type":"^1.1.0"},"devDependencies":{"chai":"^3.5.0","chai-subset":"^1.2.2","mocha":"^2.5.3","mocha-circleci-reporter":"^0.0.1","mocha-clean":"^1.0.0","react":"^15.1.0","redux":"^3.5.2","sinon":"^1.17.4","sinon-chai":"^2.8.0","ts-node":"^0.9.3","tslint":"^3.12.1","typescript":"^2.0.0-dev.20160629","typings":"^1.3.1"},"gitHead":"d1c80ec0293537eca398e2c65b9a22d08f8ff1e9","_id":"redux-interactions@2.2.64","_shasum":"58a857042fcb657f0277ec9aa0695d7a5c8cac53","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"donvoy","email":"npm@convoy.com"},"dist":{"shasum":"58a857042fcb657f0277ec9aa0695d7a5c8cac53","tarball":"https://registry.npmjs.org/redux-interactions/-/redux-interactions-2.2.64.tgz","integrity":"sha512-PvNu01DcTsrlI3eWKD7EXxG+B8RrxFvMBLrgjoYScj+LnfgdJTZgzGTpPZJ+WqsisQEIc3v6Akoea6j4sWDrxA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDEjsG8faJ8Q9h3zz8+LJWhHGUlX7xI3lSIx77gVGAkDAiAKXqlIvHeh+niAwY4LNoDaabX83ptSGYkdJkV4vD/WFA=="}]},"maintainers":[{"name":"alexturek","email":"alex.turek@gmail.com"},{"name":"aowainati","email":"aowainati2099@gmail.com"},{"name":"davidtsai","email":"anatari@gmail.com"},{"name":"donvoy","email":"npm@convoy.com"},{"name":"igrayson","email":"ian133@gmail.com"},{"name":"jonathanastanton","email":"jonathan.a.stanton@gmail.com"},{"name":"nevir","email":"ian@nevir.net"},{"name":"rylanh","email":"RylanH@gmail.com"},{"name":"vincecoppola","email":"vince@convoy.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/redux-interactions-2.2.64.tgz_1467242154949_0.0863877588417381"},"directories":{}},"2.2.65":{"name":"redux-interactions","version":"2.2.65","description":"A streamlined approach to managing your Redux action creators and reducers.","homepage":"https://github.com/convoyinc/redux-interactions","bugs":{"url":"https://github.com/convoyinc/redux-interactions/issues"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/convoyinc/redux-interactions.git"},"main":"./dist/src/index.js","typings":"./dist/src/index.d.ts","files":["dist","*.md"],"scripts":{"bump":"./scripts/bump","clean":"./scripts/clean","compile":"./scripts/compile","example":"./scripts/example","prepublish":"./scripts/prepublish","release":"./scripts/release","test":"./scripts/test","test:style":"./scripts/test:style","test:unit":"./scripts/test:unit"},"engines":{"node":">= 4.0.0"},"dependencies":{"deep-update":"^1.2.0","lodash":"^4.0.0","nano-equal":"^1.0.1","unique-type":"^1.1.0"},"devDependencies":{"chai":"^3.5.0","chai-subset":"^1.2.2","mocha":"^2.5.3","mocha-circleci-reporter":"^0.0.1","mocha-clean":"^1.0.0","react":"^15.1.0","redux":"^3.5.2","sinon":"^1.17.4","sinon-chai":"^2.8.0","ts-node":"^0.9.3","tslint":"^3.12.1","typescript":"^2.0.0-dev.20160629","typings":"^1.3.1"},"gitHead":"bb571ac97b547a2d788b6e899da88b8e8fd57033","_id":"redux-interactions@2.2.65","_shasum":"dcb4f9651a9a6072521a27dcb1625157fb3483a1","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"donvoy","email":"npm@convoy.com"},"dist":{"shasum":"dcb4f9651a9a6072521a27dcb1625157fb3483a1","tarball":"https://registry.npmjs.org/redux-interactions/-/redux-interactions-2.2.65.tgz","integrity":"sha512-qmV7WRCG4/i7DvbC2d1vQbypBdCAWgvzpyBrFIL0IijDgQFAVK6WuEJUE+FGp9bYaVhg8vM9319Cq0ni65QLbA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDRPpkWR9GvEMPfCnaHBY18yzHVO+gvjuiMgxOwA1gQ6QIgdCl8vOgdLnTHvS2abBRMtCiQd9E7eKrU0yiPdGWfKnw="}]},"maintainers":[{"name":"alexturek","email":"alex.turek@gmail.com"},{"name":"aowainati","email":"aowainati2099@gmail.com"},{"name":"davidtsai","email":"anatari@gmail.com"},{"name":"donvoy","email":"npm@convoy.com"},{"name":"igrayson","email":"ian133@gmail.com"},{"name":"jonathanastanton","email":"jonathan.a.stanton@gmail.com"},{"name":"nevir","email":"ian@nevir.net"},{"name":"rylanh","email":"RylanH@gmail.com"},{"name":"vincecoppola","email":"vince@convoy.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/redux-interactions-2.2.65.tgz_1467242435672_0.2703186278231442"},"directories":{}},"2.3.67":{"name":"redux-interactions","version":"2.3.67","description":"A streamlined approach to managing your Redux action creators and reducers.","homepage":"https://github.com/convoyinc/redux-interactions","bugs":{"url":"https://github.com/convoyinc/redux-interactions/issues"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/convoyinc/redux-interactions.git"},"main":"./dist/src/index.js","typings":"./dist/src/index.d.ts","files":["dist","*.md"],"scripts":{"bump":"./scripts/bump","clean":"./scripts/clean","compile":"./scripts/compile","example":"./scripts/example","prepublish":"./scripts/prepublish","release":"./scripts/release","test":"./scripts/test","test:style":"./scripts/test:style","test:unit":"./scripts/test:unit"},"engines":{"node":">= 4.0.0"},"dependencies":{"deep-update":"^1.3.0","lodash":"^4.0.0","nano-equal":"^1.0.1","unique-type":"^1.1.0"},"devDependencies":{"chai":"^3.5.0","chai-subset":"^1.2.2","mocha":"^2.5.3","mocha-circleci-reporter":"^0.0.1","mocha-clean":"^1.0.0","react":"^15.1.0","redux":"^3.5.2","sinon":"^1.17.4","sinon-chai":"^2.8.0","ts-node":"^0.9.3","tslint":"^3.12.1","typescript":"^2.0.0-dev.20160629","typings":"^1.3.1"},"gitHead":"9c6141f6b8952b51c4fc8b3668897591745255cb","_id":"redux-interactions@2.3.67","_shasum":"e4e16ec4ca7c840146996a3cfbf9f809b115a1d3","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"donvoy","email":"npm@convoy.com"},"dist":{"shasum":"e4e16ec4ca7c840146996a3cfbf9f809b115a1d3","tarball":"https://registry.npmjs.org/redux-interactions/-/redux-interactions-2.3.67.tgz","integrity":"sha512-K6Y4onYljXcPhlj9/GnGC3rjyD/LGfjq+y7kKSZlDxrWly8BKDocOhv6KlCYCRMtKVfnaYb1n8tPR8ksMGmhtQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBLiwaMXPnTjZIwB48DR3LPz7K3IQdfwC9nXSVam2Z7sAiEA98s/SHw9HqYVYnEvOq3Dlt3YxDUMIrYd1TKO/RykwT8="}]},"maintainers":[{"name":"alexturek","email":"alex.turek@gmail.com"},{"name":"aowainati","email":"aowainati2099@gmail.com"},{"name":"davidtsai","email":"anatari@gmail.com"},{"name":"donvoy","email":"npm@convoy.com"},{"name":"igrayson","email":"ian133@gmail.com"},{"name":"jonathanastanton","email":"jonathan.a.stanton@gmail.com"},{"name":"nevir","email":"ian@nevir.net"},{"name":"rylanh","email":"RylanH@gmail.com"},{"name":"vincecoppola","email":"vince@convoy.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/redux-interactions-2.3.67.tgz_1467759679590_0.529443321749568"},"directories":{}},"2.3.68":{"name":"redux-interactions","version":"2.3.68","description":"A streamlined approach to managing your Redux action creators and reducers.","homepage":"https://github.com/convoyinc/redux-interactions","bugs":{"url":"https://github.com/convoyinc/redux-interactions/issues"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/convoyinc/redux-interactions.git"},"main":"./dist/src/index.js","typings":"./dist/src/index.d.ts","files":["dist","*.md"],"scripts":{"bump":"./scripts/bump","clean":"./scripts/clean","compile":"./scripts/compile","example":"./scripts/example","prepublish":"./scripts/prepublish","release":"./scripts/release","test":"./scripts/test","test:style":"./scripts/test:style","test:unit":"./scripts/test:unit"},"engines":{"node":">= 4.0.0"},"dependencies":{"deep-update":"^1.3.0","lodash":"^4.0.0","nano-equal":"^1.0.1","protobind":"^1.0.4","unique-type":"^1.1.0"},"devDependencies":{"chai":"^3.5.0","chai-subset":"^1.2.2","mocha":"^2.5.3","mocha-circleci-reporter":"^0.0.1","mocha-clean":"^1.0.0","react":"^15.1.0","redux":"^3.5.2","sinon":"^1.17.4","sinon-chai":"^2.8.0","ts-node":"^0.9.3","tslint":"^3.12.1","typescript":"^2.0.0-dev.20160629","typings":"^1.3.1"},"gitHead":"2a8b93c0e894e07c5a9f58e3ae110811cd8e66ab","_id":"redux-interactions@2.3.68","_shasum":"2b12f75e1e6cc75bf82d2d9c3a5ead9810fdc711","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"donvoy","email":"npm@convoy.com"},"dist":{"shasum":"2b12f75e1e6cc75bf82d2d9c3a5ead9810fdc711","tarball":"https://registry.npmjs.org/redux-interactions/-/redux-interactions-2.3.68.tgz","integrity":"sha512-J7LDOmbcCkavfd/jd4GjSqYpl01feo0ADo+ge40e2JpMq+En5v25ez5XqjpD5tEGAbOcPoIC1NuTM5PIbxkG0g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD088T7wugfPY2bZc1pXzLjsv8DdGKtwHKnBgScY141iQIgdcoJLY/TnczCrLlYo+6fqgLw5kwz0pn4HSTgsOYWolY="}]},"maintainers":[{"name":"alexturek","email":"alex.turek@gmail.com"},{"name":"aowainati","email":"aowainati2099@gmail.com"},{"name":"davidtsai","email":"anatari@gmail.com"},{"name":"donvoy","email":"npm@convoy.com"},{"name":"ggoodale","email":"grant@convoy.com"},{"name":"igrayson","email":"ian133@gmail.com"},{"name":"jonathanastanton","email":"jonathan.a.stanton@gmail.com"},{"name":"nevir","email":"ian@nevir.net"},{"name":"rylanh","email":"RylanH@gmail.com"},{"name":"vincecoppola","email":"vince@convoy.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/redux-interactions-2.3.68.tgz_1467843387495_0.9065152949187905"},"directories":{}},"2.3.70":{"name":"redux-interactions","version":"2.3.70","description":"A streamlined approach to managing your Redux action creators and reducers.","homepage":"https://github.com/convoyinc/redux-interactions","bugs":{"url":"https://github.com/convoyinc/redux-interactions/issues"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/convoyinc/redux-interactions.git"},"main":"./dist/src/index.js","typings":"./dist/src/index.d.ts","files":["dist","*.md"],"scripts":{"bump":"./scripts/bump","clean":"./scripts/clean","compile":"./scripts/compile","example":"./scripts/example","prepublish":"./scripts/prepublish","release":"./scripts/release","test":"./scripts/test","test:style":"./scripts/test:style","test:unit":"./scripts/test:unit"},"engines":{"node":">= 4.0.0"},"dependencies":{"deep-update":"^1.3.0","lodash":"^4.0.0","nano-equal":"^1.0.1","protobind":"^1.0.4","unique-type":"^1.1.0"},"devDependencies":{"chai":"^3.5.0","chai-subset":"^1.2.2","mocha":"^2.5.3","mocha-circleci-reporter":"^0.0.1","mocha-clean":"^1.0.0","react":"^15.1.0","redux":"^3.5.2","sinon":"^1.17.4","sinon-chai":"^2.8.0","ts-node":"^0.9.3","tslint":"^3.12.1","typescript":"^2.0.0-dev.20160629","typings":"^1.3.1"},"gitHead":"4bc93f37307890e673e176bbe64c43e4357954dd","_id":"redux-interactions@2.3.70","_shasum":"1a48e78852fde2aea8d6e8b3f33e861f9d68f492","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"donvoy","email":"npm@convoy.com"},"dist":{"shasum":"1a48e78852fde2aea8d6e8b3f33e861f9d68f492","tarball":"https://registry.npmjs.org/redux-interactions/-/redux-interactions-2.3.70.tgz","integrity":"sha512-RQ6Udmn5x1A2q2WccHUgAgZDv7VPjcvN4qWN5kWf4L6BWJ11IPDztzXHHdZt2LbAbR8ESRL2nJvJdtKFuU3T8Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFOrHvTmLZ5oUpyhgm1L6QRqR6+nXPKFiTSvBfCvcBy3AiABdZ0qQUZyN17psogcUvE3vTZmSapTVtiIEeeokeQpkw=="}]},"maintainers":[{"name":"alexturek","email":"alex.turek@gmail.com"},{"name":"aowainati","email":"aowainati2099@gmail.com"},{"name":"davidtsai","email":"anatari@gmail.com"},{"name":"donvoy","email":"npm@convoy.com"},{"name":"ggoodale","email":"grant@convoy.com"},{"name":"igrayson","email":"ian133@gmail.com"},{"name":"jonathanastanton","email":"jonathan.a.stanton@gmail.com"},{"name":"nevir","email":"ian@nevir.net"},{"name":"rylanh","email":"RylanH@gmail.com"},{"name":"vincecoppola","email":"vince@convoy.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/redux-interactions-2.3.70.tgz_1470764243183_0.23471684893593192"},"directories":{}},"2.3.71":{"name":"redux-interactions","version":"2.3.71","description":"A streamlined approach to managing your Redux action creators and reducers.","homepage":"https://github.com/convoyinc/redux-interactions","bugs":{"url":"https://github.com/convoyinc/redux-interactions/issues"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/convoyinc/redux-interactions.git"},"main":"./dist/src/index.js","typings":"./dist/src/index.d.ts","files":["dist","*.md"],"scripts":{"bump":"./scripts/bump","clean":"./scripts/clean","compile":"./scripts/compile","example":"./scripts/example","prepublish":"./scripts/prepublish","release":"./scripts/release","test":"./scripts/test","test:style":"./scripts/test:style","test:unit":"./scripts/test:unit"},"engines":{"node":">= 4.0.0"},"dependencies":{"deep-update":"^1.3.0","lodash":"^4.0.0","nano-equal":"^1.0.1","protobind":"^1.0.4","unique-type":"^1.1.0"},"devDependencies":{"chai":"^3.5.0","chai-subset":"^1.2.2","mocha":"^2.5.3","mocha-circleci-reporter":"^0.0.1","mocha-clean":"^1.0.0","react":"^15.1.0","redux":"^3.5.2","sinon":"^1.17.4","sinon-chai":"^2.8.0","ts-node":"^0.9.3","tslint":"^3.12.1","typescript":"^2.0.3","typings":"^1.3.1"},"gitHead":"4e0e02877d1253605b9ed9677aa8f2548887ce12","_id":"redux-interactions@2.3.71","_shasum":"45d93822939bccd1635339a5809ec3820d9dfddd","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"donvoy","email":"npm@convoy.com"},"dist":{"shasum":"45d93822939bccd1635339a5809ec3820d9dfddd","tarball":"https://registry.npmjs.org/redux-interactions/-/redux-interactions-2.3.71.tgz","integrity":"sha512-26zkk53rOdVEfxaO09+PXsm2e8vWXGyTQCRldYmyAncO7qYFfLVQv04f3zQYUGK8LESPtPVo9OZo7KXK6+9e0A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCtZ/rWwBrL9zRtKDJ6q5pVR82M20BVS31M9EJTZD/zBAIgSi4h4R9bHMVSxs4hdaVcbVOpo+ImiwSrQ9reRo6q5Fw="}]},"maintainers":[{"name":"alexturek","email":"alex.turek@gmail.com"},{"name":"aowainati","email":"aowainati2099@gmail.com"},{"name":"davidtsai","email":"anatari@gmail.com"},{"name":"donvoy","email":"npm@convoy.com"},{"name":"ggoodale","email":"grant@convoy.com"},{"name":"igrayson","email":"ian133@gmail.com"},{"name":"jonathanastanton","email":"jonathan.a.stanton@gmail.com"},{"name":"nevir","email":"ian@nevir.net"},{"name":"rylanh","email":"RylanH@gmail.com"},{"name":"vincecoppola","email":"vince@convoy.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/redux-interactions-2.3.71.tgz_1476989347858_0.35298156714998186"},"directories":{}},"2.3.72":{"name":"redux-interactions","version":"2.3.72","description":"A streamlined approach to managing your Redux action creators and reducers.","homepage":"https://github.com/convoyinc/redux-interactions","bugs":{"url":"https://github.com/convoyinc/redux-interactions/issues"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/convoyinc/redux-interactions.git"},"main":"./dist/src/index.js","typings":"./dist/src/index.d.ts","files":["dist","*.md"],"scripts":{"bump":"./scripts/bump","clean":"./scripts/clean","compile":"./scripts/compile","example":"./scripts/example","prepublish":"./scripts/prepublish","release":"./scripts/release","test":"./scripts/test","test:style":"./scripts/test:style","test:unit":"./scripts/test:unit"},"engines":{"node":">= 4.0.0"},"dependencies":{"deep-update":"^1.3.0","lodash":"^4.0.0","nano-equal":"^1.0.1","protobind":"^1.0.4","unique-type":"^1.1.0"},"devDependencies":{"chai":"^3.5.0","chai-subset":"^1.2.2","mocha":"^2.5.3","mocha-circleci-reporter":"^0.0.1","mocha-clean":"^1.0.0","react":"^15.1.0","redux":"^3.5.2","sinon":"^1.17.4","sinon-chai":"^2.8.0","ts-node":"^0.9.3","tslint":"^3.12.1","typescript":"^2.0.3","typings":"^1.3.1"},"gitHead":"80fe753da035f5f377f7c179e4b9c36bb9f049a2","_id":"redux-interactions@2.3.72","_shasum":"56211735fca69a3925a075ac99d42a254fd51d1d","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"donvoy","email":"npm@convoy.com"},"dist":{"shasum":"56211735fca69a3925a075ac99d42a254fd51d1d","tarball":"https://registry.npmjs.org/redux-interactions/-/redux-interactions-2.3.72.tgz","integrity":"sha512-qZ+H0J2UNDohCjEDEROz38yl9f19dnvyhyC0YTRm0Yi9nWZT5dJIRe5AaOyarMpJs7GuK6/COsVhFGVqedCr3Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDOWrO1FbmbyNg/XBVZI3/67Hv60EX4+FKjqGjwj4o+TQIgH/rtsPRODslwuCI0wYm25hwidxGEH0wVm4YCdLmX3hw="}]},"maintainers":[{"name":"alexturek","email":"alex.turek@gmail.com"},{"name":"aowainati","email":"aowainati2099@gmail.com"},{"name":"davidtsai","email":"anatari@gmail.com"},{"name":"donvoy","email":"npm@convoy.com"},{"name":"ggoodale","email":"grant@convoy.com"},{"name":"igrayson","email":"ian133@gmail.com"},{"name":"jonathanastanton","email":"jonathan.a.stanton@gmail.com"},{"name":"nevir","email":"ian@nevir.net"},{"name":"rylanh","email":"RylanH@gmail.com"},{"name":"vincecoppola","email":"vince@convoy.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/redux-interactions-2.3.72.tgz_1476989436022_0.11892770486883819"},"directories":{}},"2.3.86":{"name":"redux-interactions","version":"2.3.86","description":"A streamlined approach to managing your Redux action creators and reducers.","homepage":"https://github.com/convoyinc/redux-interactions","bugs":{"url":"https://github.com/convoyinc/redux-interactions/issues"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/convoyinc/redux-interactions.git"},"main":"./dist/src/index.js","typings":"./dist/src/index.d.ts","files":["dist","*.md"],"scripts":{"bump":"./scripts/bump","clean":"./scripts/clean","compile":"./scripts/compile","example":"./scripts/example","prepublish":"./scripts/prepublish","release":"./scripts/release","test":"./scripts/test","test:style":"./scripts/test:style","test:unit":"./scripts/test:unit"},"engines":{"node":">= 4.0.0"},"dependencies":{"deep-update":"^1.3.0","lodash":"^4.0.0","nano-equal":"^1.0.1","protobind":"^1.0.4","unique-type":"^1.1.0"},"devDependencies":{"@types/chai":"4.1.2","@types/chai-subset":"1.3.1","@types/mocha":"2.2.48","@types/node":"9.4.1","@types/react":"15.0.39","@types/redux":"3.6.0","@types/sinon":"4.1.3","@types/sinon-chai":"2.7.29","chai":"4.1.2","chai-subset":"1.6.0","mocha":"5.0.0","mocha-circleci-reporter":"0.0.1","mocha-clean":"1.0.0","react":"15.1.0","redux":"3.5.2","sinon":"4.2.2","sinon-chai":"2.8.0","ts-node":"4.1.0","tslint":"3.12.1","typescript":"2.7.1"},"gitHead":"7249914c9528e4da0857bb74aa66af79c2e2c778","_id":"redux-interactions@2.3.86","_shasum":"ea453f37fbec162de8818780b443792b07fd74fd","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"donvoy","email":"npm@convoy.com"},"dist":{"shasum":"ea453f37fbec162de8818780b443792b07fd74fd","tarball":"https://registry.npmjs.org/redux-interactions/-/redux-interactions-2.3.86.tgz","fileCount":38,"unpackedSize":69193,"integrity":"sha512-jk63FMvhh0vZnWA0d4JYEpL40vTk/462WouhyadVY6UZovenz9+ZruZuOvhOkqS4RFZyOOg1ULi4uTQ93eNXAw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC+6BZhnNoo709XiQ1dN6UKQZF9Es8HWdMdogkjV3FKuwIgArNFJiqMpRyXdVpUEhhpEdEf3sY9VHEIE0oHsUqceUc="}]},"maintainers":[{"email":"alex.turek@gmail.com","name":"alexturek"},{"email":"amin@convoy.com","name":"aminconvoy"},{"email":"aowainati2099@gmail.com","name":"aowainati"},{"email":"averge@convoy.com","name":"averge"},{"email":"vivian@convoy.com","name":"beefballchan"},{"email":"pin-yen@convoy.com","name":"bienur"},{"email":"cameron@convoy.com","name":"cameront"},{"email":"chris@convoy.com","name":"chris-convoy"},{"email":"oliver.jones@salish.io","name":"cojones"},{"email":"chris.jones@convoy.com","name":"cvjonesconvoy"},{"email":"anatari@gmail.com","name":"davidtsai"},{"email":"npm@convoy.com","name":"donvoy"},{"email":"io.evanboyle@gmail.com","name":"evanboyle"},{"email":"francis@convoy.com","name":"fiannacci"},{"email":"dfry@convoy.com","name":"fry_dave"},{"email":"grant@convoy.com","name":"ggoodale"},{"email":"ian133@gmail.com","name":"igrayson"},{"email":"jeremy@convoy.com","name":"jmoseley"},{"email":"jonathan.a.stanton@gmail.com","name":"jonathanastanton"},{"email":"jpcummins@gmail.com","name":"jpcummins"},{"email":"justin@convoy.com","name":"justin.myers"},{"email":"kent@convoy.com","name":"khenneuse"},{"email":"logan@convoy.com","name":"logandillard"},{"email":"mo.not.kate@gmail.com","name":"monotkate"},{"email":"munyiri@hotmail.com","name":"munyiri"},{"email":"ian@nevir.net","name":"nevir"},{"email":"ohechkay@gmail.com","name":"owenkim"},{"email":"patrick.k.finnigan@gmail.com","name":"pfinnigan"},{"email":"quinnsweber@gmail.com","name":"qsweber"},{"email":"RylanH@gmail.com","name":"rylanh"},{"email":"ssonne@convoy.com","name":"ssonne"},{"email":"tcolar@colar.net","name":"tcolar"},{"email":"tim.prouty@gmail.com","name":"tprouty"},{"email":"vince@convoy.com","name":"vincecoppola"},{"email":"yui@convoy.com","name":"yuitang"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-interactions_2.3.86_1518454306190_0.6186219332019913"},"_hasShrinkwrap":false}},"readme":"# redux-interactions\n\nA streamlined approach to managing your [Redux](http://redux.js.org/) action creators and reducers.\n\nFor a TL;DR of what this package provides, you can skip down to [Streamlining The Pattern](#streamlining-the-pattern).\n\nIf you wish to see it in practice, check out [`examples/todomvc-react`](./examples/todomvc-react).  You can run it locally by checking out this repository and running `npm run example`.\n\n\n## A Pattern\n\nFrom using Flux/Redux for a while, we've observed a few things:\n\n* Developers naturally think of action creators and reducers as a group of code (i.e. each action creator tends to be associated with a single piece of reducer logic).\n* When we make use of broad actions that are consumed by multiple reducers, it quickly becomes difficult to track/test/maintain all of the _effects_ of that action.\n* A lot of business logic is necessarily asynchronous, which can't be encapsulated in a reducer.\n* Most reducers are singletons, and\n\nThese observations have landed us on a pattern where you group related action creators, reducers, and selectors into a single file, which we call an _interaction_.\n\nFor example, a hypothetical, offline-only, todos app might have a \"todos\" interaction that manages the state of the todos being displayed to the user:\n\n`todos.js`:\n```js\nimport * as _ from 'lodash';\n\n// Action types\nconst ADD_TODO = 'ADD_TODO';\nconst TOGGLE_TODO = 'TOGGLE_TODO';\nconst REMOVE_TODO = 'REMOVE_TODO';\n\n// Where in the store the reducer should be mounted.\nexport const MOUNT_POINT = ['entities', 'todos'];\n\n// Selectors\n\nexport function getAll(state) {\n  return _.values(_.get(state, MOUNT_POINT));\n}\n\nexport function getById(state, id) {\n  return _.get(state, [...MOUNT_POINT, id]);\n}\n\n// Action Creators\n\nexport function add(text, completed = false) {\n  return async (dispatch, _getState) => {\n    const todo = {id: uuid.v4(), text, completed, saving: true};\n    // Optimisticaly add the todo to the store for immediate user feedback.\n    dispatch(addLocal(todo));\n\n    try {\n      // Lets assume this succeeds for any 2xx; and we assume that means the\n      // todo was successfully persisted.\n      apiRequest('post', '/todos', {body: todo});\n    } catch (error) {\n      // TERRIBLE user experience, but this is just an example.\n      alert(`Failed to save todo, please try again`);\n      dispatch(removeLocal(todo.id));\n    }\n  };\n}\n\nexport function addLocal(id, text, completed = false) {\n  return {type: ADD_TODO, id, text, completed};\n}\n\nexport function toggleLocal(id) {\n  return {type: TOGGLE_TODO};\n}\n\nexport function removeLocal(id, id) {\n  return {type: REMOVE_TODO, id};\n}\n\n// Reducers\n\nexport function reducer(state = [], action) {\n  switch (action.type) {\n    case ADD_TODO:\n      return _reduceAdd(state, action);\n    case TOGGLE_TODO:\n      return _reduceToggle(state, action);\n    case REMOVE_TODO:\n      return _reduceRemove(state, action);\n    default:\n      return state;\n  }\n}\n\nfunction _reduceAdd(state, action) {\n  return [\n    ...state,\n    {id, text, completed},\n  ];\n}\n\nfunction _reduceToggle(state, action) {\n  return state.map(todo => {\n    if (todo.id !== id) return todo;\n    return {\n      ...todo,\n      completed: !todo.completed,\n    };\n  });\n}\n\nfunction _reduceRemove(state, action) {\n  return _.omit(state, action.id);\n}\n```\n\nThe store would wire it up by mounting `todos.reducer` at `entities.todos`, and components would trigger actions via a `dispatch(todos.add())`, etc.  Components use `todos.getById` and `todos.getAll` to retrieve state from that slice of the store.\n\nThe interesting outcome of this approach is that it subtly changes your approach to managing business logic: Each action/reducer pair tends to encapsulate a single _state modification_, rather than an a swath of business logic.  More complicated business logic naturally flows via thunked actions that _complete_ all of our state modification actions/reducers.\n\n\n## Streamlining The Pattern\n\nNow that we have that pattern in place, we can look at codifying it a bit more.  Notice all the boilerplate surrounding state actions?  Yeah, we can do better.\n\n```js\nimport { Interactions, reducer, selector, thunk } from 'redux-interactions';\n\n/**\n * The `Interactions` class helps you manage the boilerplate of a reducer that\n * dispatches to specific reducers per action type.\n *\n * It exposes a `reducer` method for you to bind into your store.\n *\n * Also, notice that we are immediately _instantiating_ and exporting an\n * instance of this class so that you can dispatch its actions in a\n * straightforward manner.  I.e. `dispatch(todos.toggle(id))`.\n *\n * `Interactions` also provides a bit of additional utility via its\n * constructor:\n *\n *   * All public methods are bound to the instance, guaranteeing that `this` is\n *     always correct regardless of how the method is called.\n *\n *   * The class is exposed as a property on the instance, to aid unit testing.\n *     For example, `todos.Todos`.\n *\n */\nexport default new class Todos extends Interactions {\n\n  /**\n   * The path in the store that this interactions' reducer should be mounted at.\n   */\n  mountPoint = ['entities', 'todos'];\n\n  /**\n   * Initial state for the subset of the store managed by these interactions.\n   */\n  initialState = [];\n\n  /**\n   * Selects all todos in the store.\n   */\n  @selector\n  getAll(scopedState) {\n    return _.values(scopedState);\n  }\n\n  /**\n   * Selects a single todo by id.\n   */\n  @selector\n  getById(scopedState, id) {\n    return scopedState[id];\n  }\n\n  /**\n   * Add a todo and let the server know.\n   *\n   * This rounds off the example, in an effort to show off the pattern.  Note\n   * that this method is purely an action creator; there's nothing special going\n   * on here.\n   */\n  @thunk\n  add({ text, completed = false }, { dispatch }) {\n    const todo = {id: uuid.v4(), text, completed, saving: true};\n    // Optimisticaly add the todo to the store for immediate user feedback.\n    dispatch(this.addLocal(todo));\n\n    try {\n      // Lets assume this succeeds for any 2xx; and we assume that means the\n      // todo was successfully persisted.\n      apiRequest('post', '/todos', {body: todo});\n      dispatch(this.markSaved(todo.id));\n    } catch (error) {\n      // TERRIBLE user experience, but this is just an example.\n      alert(`Failed to save todo, please try again`);\n      dispatch(this.removeLocal(todo.id));\n    }\n  }\n\n  /**\n   * Add a todo, without involving the server.\n   *\n   * `@reducer` takes care of the boilerplate of state actions for you:\n   *\n   * 1. It generates a unique action type, based on the name of the interactions\n   * class and method.  In this case: `TODOS:ADD_LOCAL`.\n   *\n   * 2. It generates an action creator by the same name, that packages up any\n   * arguments passed to it.  In this case:\n   *\n   *   addLocal(...args) {\n   *     return {type: 'TODOS:ADD_LOCAL', args};\n   *   }\n   *\n   * 3. It registers the decorated function to be run when that action type is\n   * encountered.  `scopedState` is always the first argument, `action.args` are\n   * expanded to be the rest of the arguments.\n   */\n  @reducer\n  addLocal(scopedState, id, text, completed = false) {\n    return [\n      ...scopedState,\n      {id, text, completed},\n    ];\n  }\n\n  /**\n   * Toggle a todo's completion state, locally.\n   *\n   * You can also specify a custom action type, if you like.\n   *\n   * Because `@reducer` generates types based on function names, which can be\n   * mangled by uglify, the generated type is not human understandible in that\n   * environment.  If you prefer to have your action types easily traceable,\n   * even in production, consider passing explicit action types.\n   */\n  @reducer('CUSTOM_TODOS_TOGGLE')\n  toggleLocal(scopedState, id) {\n    return scopedState.map(todo => {\n      if (todo.id !== id) return todo;\n      return {\n        ...todo,\n        completed: !todo.completed,\n      };\n    });\n  }\n\n  /**\n   * Removes a todo locally.\n   */\n  @reducer\n  removeLocal(scopedState, id) {\n    return _.omit(scopedState, id);\n  }\n\n};\n```\n\n\n## Mounting Interactions\n\nInteractions need to be aware of where they are mounted in the store, since they are providing selectors.  In order to centralize the store's configuration, you will probably want to use `combineInteractions()` to mount them, and to set their mount points:\n\n```js\nimport { combineInteractions } from 'redux-interactions';\nimport * as interactions from './interactions';\n\n/**\n * Returns a reducer with all interactions mounted according to the given\n * hierarchy.\n *\n * This will _modify_ any interactions passed in, setting their `mountPoint` to\n * match the location in the store that they are being mounted at.  It is an\n * error to pass interactions that specify their own `mountPoint`.\n */\nconst interactionsReducer = combineInteractions({\n  entities: {\n    todos: interaction.todos,\n  },\n});\n```\n\n\n## Collections of Things\n\nAnother very common pattern that you will likely have is that you want to store collections of entities in the store.  Users, Todos, etc.  Each such collection generally needs a standard set of CRUD actions.  To cover this need, `redux-interactions` also provides an `EntityCollection` class (which extends `Interactions`).  The collection maintains a map of entities, keyed by their id (by default, the `id` property of an entity).\n\n`EntityCollection`s give you the following actions:\n\n`setAll(entities)`: Replaces the contents of the collection with a new set of entities.\n\n`set(entities)`: Adds entities to the collection, replacing previous copies of them if present.\n\n`update(partialEntities)`: Merges data changes into existing entities (say, for changing a particular property).\n\n`delete(ids)`: Removes entities from the collection.\n\nAs well as the following selectors:\n\n`getAll`: Retrieves the entire id -> entity map.\n\n`getAllIds`: Returns the ids of all entities present in the collection.\n\n`getById`: Retreives an individual entity.\n\nAt its most basic use, you can just instantiate it:\n\n```js\nimport { EntityCollection, combineInteractions } from 'redux-interactions';\n\nconst todos = new EntityCollection;\nconst store = createStore(combineInteractions({\n  entities: {todos},\n}));\n\nstore.dispatch(todos.setAll([\n  {id: 'abc123', text: 'Use collections!', completed: false},\n]));\nconst aTodo = todos.getById(store.getState(), 'abc123');\n```\n\n### Model Classes\n\nYou can also provide a model class to wrap the underlying data with.  This is very handy for exposing utility methods on your raw data.  However, you **must** be careful to not mutate any state via the model class!\n\nThe only requirement of a model class is that it staticly defines a `toModel` static method.  `redux-interactions` also exposes a base `Model` class that provides this for you, and freezes instances.\n\n```js\nimport { EntityCollection, Model, combineInteractions } from 'redux-interactions';\n\nclass Todo extends Model {\n  isExclamatory() {\n    return this.text.includes('!');\n  }\n}\n\nconst todos = new class TodoCollection extends EntityCollection {\n  Model = Todo;\n};\nconst store = createStore(combineInteractions({\n  entities: {todos},\n}));\n\nstore.dispatch(todos.setAll([\n  {id: 'abc123', text: 'Use collections!', completed: false},\n]));\nconst aTodo = todos.getById(store.getState(), 'abc123');\naTodo.isExclamatory(); // True!\n```\n","maintainers":[{"email":"platform-excellence-services@convoy.com","name":"convoy_artifactory"},{"email":"convoy_npmjs_ci@convoy.com","name":"convoy_ci"},{"email":"convoy_npmjs_admin@convoy.com","name":"convoy_admin"},{"email":"ian@nevir.net","name":"nevir"},{"email":"aowainati2099@gmail.com","name":"aowainati"},{"email":"npm@convoy.com","name":"donvoy"}],"time":{"modified":"2022-06-26T10:12:44.442Z","created":"2016-03-26T03:55:59.510Z","1.0.0":"2016-03-26T03:55:59.510Z","1.1.0":"2016-03-26T04:48:58.601Z","1.2.0":"2016-03-28T21:12:04.927Z","1.3.0":"2016-04-04T21:16:28.597Z","1.4.0":"2016-05-02T19:36:09.586Z","1.4.1":"2016-05-02T19:37:12.289Z","1.5.0":"2016-05-07T21:07:42.332Z","1.5.1":"2016-05-13T19:50:20.885Z","2.0.0":"2016-06-04T06:04:17.248Z","2.1.56":"2016-06-29T18:01:13.792Z","2.1.61":"2016-06-29T23:13:20.954Z","2.2.64":"2016-06-29T23:15:57.531Z","2.2.65":"2016-06-29T23:20:37.214Z","2.3.67":"2016-07-05T23:01:20.087Z","2.3.68":"2016-07-06T22:16:28.513Z","2.3.70":"2016-08-09T17:37:24.714Z","2.3.71":"2016-10-20T18:49:10.045Z","2.3.72":"2016-10-20T18:50:37.751Z","2.3.86":"2018-02-12T16:51:46.894Z"},"homepage":"https://github.com/convoyinc/redux-interactions","repository":{"type":"git","url":"git+https://github.com/convoyinc/redux-interactions.git"},"bugs":{"url":"https://github.com/convoyinc/redux-interactions/issues"},"license":"Apache-2.0","readmeFilename":"README.md"}