{"_id":"redux-bees","_rev":"39-6fde44d5c090faebe11d42ea2784834d","name":"redux-bees","dist-tags":{"latest":"0.1.11"},"versions":{"0.0.1":{"name":"redux-bees","version":"0.0.1","author":{"name":"Stefano Verna","email":"s.verna@cantierecreativo.net"},"license":"ISC","_id":"redux-bees@0.0.1","maintainers":[{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"}],"dist":{"shasum":"452a8271a2c1bfb305d9264d063b246df113b795","tarball":"https://registry.npmjs.org/redux-bees/-/redux-bees-0.0.1.tgz","integrity":"sha512-dtR3RpmaNXKiFPKtFSAyGHlXNpv9ByAhHezi6Mz7dwB+iN2U2s2b/vhXG9CKtKmCTwIajsKLtXRcY5dNJEqSDQ==","signatures":[{"sig":"MEUCIQCtx5RD39OYO91VCzNOmeDim4ZT4mZjcNW0FVN9WVHmmAIgfSmhtO1TDFe0u1YiVPkrW+SPmChbl4zY00eXLWN3Nc8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","files":["lib"],"_shasum":"452a8271a2c1bfb305d9264d063b246df113b795","gitHead":"9c13764c33d9e8ec6dd67598b5d614cefeea5206","scripts":{"lib":"babel src --out-dir lib","start":"webpack-dev-server --open","prepublish":"rimraf lib && mkdir lib && npm run lib"},"_npmUser":{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"},"_npmVersion":"3.10.8","description":"A nice, declarative way of managing JSON API calls with Redux","directories":{},"_nodeVersion":"6.7.0","dependencies":{"object.omit":"^2.0.1","react-redux":"^5.0.5","query-string":"^4.3.4","object-path-immutable":"^0.5.1"},"devDependencies":{"react":"^15.5.4","redux":"^3.6.0","rimraf":"^2.6.1","webpack":"^2.6.1","babel-cli":"^6.24.1","react-dom":"^15.5.4","prop-types":"^15.5.10","babel-loader":"^7.0.0","babel-preset-react":"^6.24.1","webpack-dev-server":"^2.4.5","babel-preset-es2015":"^6.24.1","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-plugin-transform-object-rest-spread":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/redux-bees-0.0.1.tgz_1496481579797_0.09463872294872999","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"redux-bees","version":"0.0.2","author":{"name":"Stefano Verna","email":"s.verna@cantierecreativo.net"},"license":"ISC","_id":"redux-bees@0.0.2","maintainers":[{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"}],"dist":{"shasum":"8ff0b07404b347152fdf0589f127f9e92639126d","tarball":"https://registry.npmjs.org/redux-bees/-/redux-bees-0.0.2.tgz","integrity":"sha512-xUe535hMmvkjlwl/SA9UQona5GV43a7nPV+QL4MIwzxZlyqSg1dAqWh1N/Qeu49gDrNvnofY7B3Npg5RcgC/mA==","signatures":[{"sig":"MEQCIHkByfRbSMt/fa1iI9yawAt0t+wFbmMpWP8W1nGxnesMAiAx3OcaZmsuA5+uVt0WLxUq4fPc9TZG4LsbzPQ9U+WBIA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","files":["lib"],"_shasum":"8ff0b07404b347152fdf0589f127f9e92639126d","gitHead":"162335d47f2215a23ad3de97eb52e8114a0d3872","scripts":{"lib":"babel src --out-dir lib","start":"webpack-dev-server --open","prepublish":"rimraf lib && mkdir lib && npm run lib"},"_npmUser":{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"},"_npmVersion":"3.10.8","description":"A nice, declarative way of managing JSON API calls with Redux","directories":{},"_nodeVersion":"6.7.0","dependencies":{"object.omit":"^2.0.1","react-redux":"^5.0.5","query-string":"^4.3.4","object-path-immutable":"^0.5.1"},"devDependencies":{"react":"^15.5.4","redux":"^3.6.0","rimraf":"^2.6.1","webpack":"^2.6.1","babel-cli":"^6.24.1","react-dom":"^15.5.4","prop-types":"^15.5.10","babel-loader":"^7.0.0","babel-preset-react":"^6.24.1","webpack-dev-server":"^2.4.5","babel-preset-es2015":"^6.24.1","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-plugin-transform-object-rest-spread":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/redux-bees-0.0.2.tgz_1496482752806_0.4078432465903461","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"redux-bees","version":"0.0.3","author":{"name":"Stefano Verna","email":"s.verna@cantierecreativo.net"},"license":"ISC","_id":"redux-bees@0.0.3","maintainers":[{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"}],"dist":{"shasum":"ba1916c8ed0699fcf195d25c4eabd209d23bd443","tarball":"https://registry.npmjs.org/redux-bees/-/redux-bees-0.0.3.tgz","integrity":"sha512-hOmed2VkJHp/Y7SBCKTwN6R42NmX6dHBnJdMJi0KWfsT3Qmt+poHaKEUutNV+t/h7ZAZaywjmr+H2eMGulP9kA==","signatures":[{"sig":"MEUCIBImA/PN7HklFnVrOCYFyZwYy5ZveX2lcTyzG80+NttpAiEApguZKDTpWxI7brP1F8abyeg4oN6Ec6PwqikDcGjIGvM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","files":["lib"],"_shasum":"ba1916c8ed0699fcf195d25c4eabd209d23bd443","gitHead":"6b69a5b9ad71c4b91e3de28b0a1ef1902d769c4b","scripts":{"lib":"babel src --out-dir lib","start":"webpack-dev-server --open","prepublish":"rimraf lib && mkdir lib && npm run lib"},"_npmUser":{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"},"_npmVersion":"3.10.8","description":"A nice, declarative way of managing JSON API calls with Redux","directories":{},"_nodeVersion":"6.7.0","dependencies":{"react":"*","object.omit":"^2.0.1","react-redux":"*","query-string":"^4.3.4","object-path-immutable":"^0.5.1"},"devDependencies":{"redux":"^3.6.0","rimraf":"^2.6.1","webpack":"^2.6.1","babel-cli":"^6.24.1","react-dom":"^15.5.4","prop-types":"^15.5.10","babel-loader":"^7.0.0","babel-preset-react":"^6.24.1","webpack-dev-server":"^2.4.5","babel-preset-es2015":"^6.24.1","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-plugin-transform-object-rest-spread":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/redux-bees-0.0.3.tgz_1496483990191_0.278207449009642","host":"s3://npm-registry-packages"}},"0.0.4":{"name":"redux-bees","version":"0.0.4","author":{"name":"Stefano Verna","email":"s.verna@cantierecreativo.net"},"license":"ISC","_id":"redux-bees@0.0.4","maintainers":[{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"}],"dist":{"shasum":"515d3b6d9894479a30cbbc95a51faf970dfc93ab","tarball":"https://registry.npmjs.org/redux-bees/-/redux-bees-0.0.4.tgz","integrity":"sha512-dTZI8tUmuNYNPCWAPammLzIl/xqUzFU4uo35MCdO9ayYRdpsldEoCG1e2cYYkBXsx0FNACFMZmfx4U/185lBzg==","signatures":[{"sig":"MEUCIEx68zanlphl2P4k5XlqrWQC2s0GKKOjs7Odai78cOM6AiEAyN06s2ZbZzk5h2/HnJMr38oOSkou3eyAU4vq1ClbOh8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","files":["lib"],"_shasum":"515d3b6d9894479a30cbbc95a51faf970dfc93ab","gitHead":"b3f6223f1252375835f1620bb8cf46b72ea0a6a4","scripts":{"lib":"babel src --out-dir lib","start":"webpack-dev-server --open","prepublish":"rimraf lib && mkdir lib && npm run lib"},"_npmUser":{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"},"_npmVersion":"3.10.8","description":"A nice, declarative way of managing JSON API calls with Redux","directories":{},"_nodeVersion":"6.7.0","dependencies":{"react":"*","object.omit":"^2.0.1","react-redux":"*","query-string":"^4.3.4","object-path-immutable":"^0.5.1"},"devDependencies":{"redux":"^3.6.0","rimraf":"^2.6.1","webpack":"^2.6.1","babel-cli":"^6.24.1","react-dom":"^15.5.4","prop-types":"^15.5.10","babel-loader":"^7.0.0","babel-preset-react":"^6.24.1","webpack-dev-server":"^2.4.5","babel-preset-es2015":"^6.24.1","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-plugin-transform-object-rest-spread":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/redux-bees-0.0.4.tgz_1496658975244_0.8186087314970791","host":"s3://npm-registry-packages"}},"0.0.5":{"name":"redux-bees","version":"0.0.5","author":{"name":"Stefano Verna","email":"s.verna@cantierecreativo.net"},"license":"ISC","_id":"redux-bees@0.0.5","maintainers":[{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"}],"dist":{"shasum":"7c28647728e96778ec17ec6c1ef54dffba9405b6","tarball":"https://registry.npmjs.org/redux-bees/-/redux-bees-0.0.5.tgz","integrity":"sha512-q89EkdKjhed5j1Hz50L1upESvPWcYOkrsi7X6o/9CS/iwrrSHskF/KF9/uIUhYCflNWhcm5kq0AgPys5FKQpJg==","signatures":[{"sig":"MEQCIANIRqBe5SIRdLrmz/ZOZSTt/uyr1QStegC1U1boJjbNAiBUW13pcbJYephbbO5Ri6H+//+jcq7AcoY6fEOqocvmEg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","files":["lib"],"_shasum":"7c28647728e96778ec17ec6c1ef54dffba9405b6","gitHead":"1bcd63f4bc7cd1f3032ef7d98d05492bca8e9cf7","scripts":{"lib":"babel src --out-dir lib","start":"webpack-dev-server --open","prepublish":"rimraf lib && mkdir lib && npm run lib"},"_npmUser":{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"},"_npmVersion":"3.10.8","description":"A nice, declarative way of managing JSON API calls with Redux","directories":{},"_nodeVersion":"6.7.0","dependencies":{"react":"*","object.omit":"^2.0.1","react-redux":"*","query-string":"^4.3.4","object-path-immutable":"^0.5.1"},"devDependencies":{"redux":"^3.6.0","rimraf":"^2.6.1","webpack":"^2.6.1","babel-cli":"^6.24.1","react-dom":"^15.5.4","prop-types":"^15.5.10","babel-loader":"^7.0.0","babel-preset-react":"^6.24.1","webpack-dev-server":"^2.4.5","babel-preset-es2015":"^6.24.1","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-plugin-transform-object-rest-spread":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/redux-bees-0.0.5.tgz_1496659504180_0.8794087381102145","host":"s3://npm-registry-packages"}},"0.0.6":{"name":"redux-bees","version":"0.0.6","author":{"name":"Stefano Verna","email":"s.verna@cantierecreativo.net"},"license":"ISC","_id":"redux-bees@0.0.6","maintainers":[{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"}],"dist":{"shasum":"ffb90c464143c466b205c283051838d4ac833d07","tarball":"https://registry.npmjs.org/redux-bees/-/redux-bees-0.0.6.tgz","integrity":"sha512-wjPgiRMxM00ecw9z6Y5ELAVoVAzi1X3ccvG/oP1kZctmQHXnCiU1QcA4LFTOcy3W2DSt8EVyyKPnYPUlIS0uxQ==","signatures":[{"sig":"MEUCIQCFSVUHFyjwUGPc3PM9Dke4mQFq7UOx5mwhJJ89ba9OcAIgDAzEpBjQTqGJSJFQ4tFNvqbimDQYlPdkHjb9VvOjgac=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","files":["lib"],"_shasum":"ffb90c464143c466b205c283051838d4ac833d07","gitHead":"cde329f5106ff2c105d8841a60dd3442fc484959","scripts":{"lib":"babel src --out-dir lib","start":"webpack-dev-server --open","prepublish":"rimraf lib && mkdir lib && npm run lib"},"_npmUser":{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"},"_npmVersion":"3.10.8","description":"A nice, declarative way of managing JSON API calls with Redux","directories":{},"_nodeVersion":"6.7.0","dependencies":{"react":"*","object.omit":"^2.0.1","react-redux":"*","query-string":"^4.3.4","object-path-immutable":"^0.5.1"},"devDependencies":{"redux":"^3.6.0","rimraf":"^2.6.1","webpack":"^2.6.1","babel-cli":"^6.24.1","react-dom":"^15.5.4","prop-types":"^15.5.10","babel-loader":"^7.0.0","babel-preset-react":"^6.24.1","webpack-dev-server":"^2.4.5","babel-preset-es2015":"^6.24.1","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-plugin-transform-object-rest-spread":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/redux-bees-0.0.6.tgz_1496678018635_0.9471570753958076","host":"s3://npm-registry-packages"}},"0.0.7":{"name":"redux-bees","version":"0.0.7","author":{"name":"Stefano Verna","email":"s.verna@cantierecreativo.net"},"license":"ISC","_id":"redux-bees@0.0.7","maintainers":[{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"}],"dist":{"shasum":"757ed80d08255772612212a952e36b2891a0a59f","tarball":"https://registry.npmjs.org/redux-bees/-/redux-bees-0.0.7.tgz","integrity":"sha512-Pnm2U5dELFG89RxpCrwLjYwtXAVDs/IVq4YLlp2Kg/0mDUZ9XbH5Fh1bS+M/hFrczjxLFiJD8V8oUb0mzTlGXw==","signatures":[{"sig":"MEYCIQDGV5ALfoxnz7GVqUCHSiCbm+YlOOIxVKJeBn/r09ChSgIhALvxrIgACP+9I0kngjA3wHQREudYOJRDucXPx/RUdOg1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","files":["lib"],"_shasum":"757ed80d08255772612212a952e36b2891a0a59f","gitHead":"c176e65072ed208f4925073332d50262477dc4e6","scripts":{"lib":"babel src --out-dir lib","start":"webpack-dev-server --open","prepublish":"rimraf lib && mkdir lib && npm run lib"},"_npmUser":{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"},"_npmVersion":"3.10.8","description":"A nice, declarative way of managing JSON API calls with Redux","directories":{},"_nodeVersion":"6.7.0","dependencies":{"react":"*","object.omit":"^2.0.1","react-redux":"*","query-string":"^4.3.4","object-path-immutable":"^0.5.1"},"devDependencies":{"redux":"^3.6.0","rimraf":"^2.6.1","webpack":"^2.6.1","babel-cli":"^6.24.1","react-dom":"^15.5.4","prop-types":"^15.5.10","babel-loader":"^7.0.0","babel-preset-react":"^6.24.1","webpack-dev-server":"^2.4.5","babel-preset-es2015":"^6.24.1","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-plugin-transform-object-rest-spread":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/redux-bees-0.0.7.tgz_1496749621151_0.3005833886563778","host":"s3://npm-registry-packages"}},"0.0.8":{"name":"redux-bees","version":"0.0.8","author":{"name":"Stefano Verna","email":"s.verna@cantierecreativo.net"},"license":"ISC","_id":"redux-bees@0.0.8","maintainers":[{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"}],"dist":{"shasum":"93fbb6c9cc28642d1867451c7fd64ba63400522e","tarball":"https://registry.npmjs.org/redux-bees/-/redux-bees-0.0.8.tgz","integrity":"sha512-HwIrovYNy7ZUdRSwcbFHuTD2fCLrthTRGVTeghN1fYcXa9SxMm3Mvf4Bic2ZpnL1cFU7EhBu4v25Io336JjRhQ==","signatures":[{"sig":"MEUCIBNsn+K2v3nz5aTMPquGy0Fce+K4vv97YsIUMZlXTaNZAiEAwz/q/OxL5wjPWjiTrhHV0f6kX2mgPX5z557LbSDVFks=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","files":["lib"],"_shasum":"93fbb6c9cc28642d1867451c7fd64ba63400522e","gitHead":"6c4f493916e6cc36a85d505f6890a8a483db31e4","scripts":{"lib":"babel src --out-dir lib","start":"webpack-dev-server --open","prepublish":"rimraf lib && mkdir lib && npm run lib"},"_npmUser":{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"},"_npmVersion":"3.10.8","description":"A nice, declarative way of managing JSON API calls with Redux","directories":{},"_nodeVersion":"6.7.0","dependencies":{"react":"*","object.omit":"^2.0.1","react-redux":"*","query-string":"^4.3.4","object-path-immutable":"^0.5.1"},"devDependencies":{"redux":"^3.6.0","rimraf":"^2.6.1","webpack":"^2.6.1","babel-cli":"^6.24.1","react-dom":"^15.5.4","prop-types":"^15.5.10","babel-loader":"^7.0.0","babel-preset-react":"^6.24.1","webpack-dev-server":"^2.4.5","babel-preset-es2015":"^6.24.1","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-plugin-transform-object-rest-spread":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/redux-bees-0.0.8.tgz_1496909742587_0.5649014820810407","host":"s3://npm-registry-packages"}},"0.0.9":{"name":"redux-bees","version":"0.0.9","author":{"name":"Stefano Verna","email":"s.verna@cantierecreativo.net"},"license":"ISC","_id":"redux-bees@0.0.9","maintainers":[{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"}],"dist":{"shasum":"21f6ecc0ed913276780db94a587f447f5e86a221","tarball":"https://registry.npmjs.org/redux-bees/-/redux-bees-0.0.9.tgz","integrity":"sha512-j1PkPikBSnb0v6k76JU5sv+cwpxw1A9Jsls1+I1IFsBhuv0ydE9fcCoPga9jYoeL02aovj74XuvyW7KYoPjp9g==","signatures":[{"sig":"MEUCIQCfeWA5hbgAVFbW+uqe3ZmzUty7TDXBf/eYKM2mFrUj6gIgZQVfQC1OaPNykorg+LokIOu1xCdO0+RSsAq80i+ZKCI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","files":["lib"],"_shasum":"21f6ecc0ed913276780db94a587f447f5e86a221","gitHead":"1d571d17fbdf6f10899c0f82de3dcb12cf14c74f","scripts":{"lib":"babel src --out-dir lib","start":"webpack-dev-server --open","prepublish":"rimraf lib && mkdir lib && npm run lib"},"_npmUser":{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"},"_npmVersion":"3.10.8","description":"A nice, declarative way of managing JSON API calls with Redux","directories":{},"_nodeVersion":"6.7.0","dependencies":{"react":"*","object.omit":"^2.0.1","react-redux":"*","query-string":"^4.3.4","object-path-immutable":"^0.5.1"},"devDependencies":{"redux":"^3.6.0","rimraf":"^2.6.1","webpack":"^2.6.1","babel-cli":"^6.24.1","react-dom":"^15.5.4","prop-types":"^15.5.10","babel-loader":"^7.0.0","babel-preset-react":"^6.24.1","webpack-dev-server":"^2.4.5","babel-preset-es2015":"^6.24.1","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-plugin-transform-object-rest-spread":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/redux-bees-0.0.9.tgz_1496909934857_0.19201202294789255","host":"s3://npm-registry-packages"}},"0.0.10":{"name":"redux-bees","version":"0.0.10","author":{"name":"Stefano Verna","email":"s.verna@cantierecreativo.net"},"license":"ISC","_id":"redux-bees@0.0.10","maintainers":[{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"}],"dist":{"shasum":"adc97f47fece1dfbf48d09474ba05bf54012d9fb","tarball":"https://registry.npmjs.org/redux-bees/-/redux-bees-0.0.10.tgz","integrity":"sha512-9ba8f+LWsaobuBHrqfzVXQvr+ffH/wcuBOXG8y3cCUd6xI6QZcSVGjqI5+D2npQ1OAQWLqtLDLye04fD1o89zQ==","signatures":[{"sig":"MEUCIC+fZ+jVTUHbz3aytM6J8RsxLRVFPPNfizVbMb/iQL9sAiEA0198bn9l2fSUCVPJylO1p+VckZUpQ2nSHpz+jhE1DzI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","files":["lib"],"_shasum":"adc97f47fece1dfbf48d09474ba05bf54012d9fb","gitHead":"1249e78759a5c2baf1c9b117db2a218e95741e72","scripts":{"lib":"babel src --out-dir lib","start":"webpack-dev-server --open","prepublish":"rimraf lib && mkdir lib && npm run lib"},"_npmUser":{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"},"_npmVersion":"3.10.8","description":"A nice, declarative way of managing JSON API calls with Redux","directories":{},"_nodeVersion":"6.7.0","dependencies":{"react":"*","object.omit":"^2.0.1","react-redux":"*","query-string":"^4.3.4","object-path-immutable":"^0.5.1"},"devDependencies":{"redux":"^3.6.0","rimraf":"^2.6.1","webpack":"^2.6.1","babel-cli":"^6.24.1","react-dom":"^15.5.4","prop-types":"^15.5.10","babel-loader":"^7.0.0","babel-preset-react":"^6.24.1","webpack-dev-server":"^2.4.5","babel-preset-es2015":"^6.24.1","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-plugin-transform-object-rest-spread":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/redux-bees-0.0.10.tgz_1496910748135_0.9176576370373368","host":"s3://npm-registry-packages"}},"0.0.11":{"name":"redux-bees","version":"0.0.11","author":{"name":"Stefano Verna","email":"s.verna@cantierecreativo.net"},"license":"ISC","_id":"redux-bees@0.0.11","maintainers":[{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"}],"dist":{"shasum":"204939e543775c7ebaea5800a55e5f854a5349d3","tarball":"https://registry.npmjs.org/redux-bees/-/redux-bees-0.0.11.tgz","integrity":"sha512-OAWIhTRFk/UqfV1dsH+LmmQutoMAb4YYBU5bXqrrZ7EHYDtKKfoH20i9160SGk65kVdLqQrgxkgOU5/Dhap8TA==","signatures":[{"sig":"MEYCIQCq6eP1SJ17tn7jSAeRi41Rea8gVYnDuw+x5kDpujcRnwIhAJFQ2tKYpupQQYxMcYPFFhRnY9Konc1etMT24ISxzujt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","files":["lib"],"_shasum":"204939e543775c7ebaea5800a55e5f854a5349d3","gitHead":"ff2a5ced01e7355404535db0505fc992ddbe9a98","scripts":{"lib":"babel src --out-dir lib","start":"webpack-dev-server --open","prepublish":"rimraf lib && mkdir lib && npm run lib"},"_npmUser":{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"},"_npmVersion":"3.10.8","description":"A nice, declarative way of managing JSON API calls with Redux","directories":{},"_nodeVersion":"6.7.0","dependencies":{"react":"*","object.omit":"^2.0.1","react-redux":"*","query-string":"^4.3.4","object-path-immutable":"^0.5.1"},"devDependencies":{"redux":"^3.6.0","rimraf":"^2.6.1","webpack":"^2.6.1","babel-cli":"^6.24.1","react-dom":"^15.5.4","prop-types":"^15.5.10","babel-loader":"^7.0.0","babel-preset-react":"^6.24.1","webpack-dev-server":"^2.4.5","babel-preset-es2015":"^6.24.1","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-plugin-transform-object-rest-spread":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/redux-bees-0.0.11.tgz_1496911516250_0.5618043872527778","host":"s3://npm-registry-packages"}},"0.0.12":{"name":"redux-bees","version":"0.0.12","author":{"name":"Stefano Verna","email":"s.verna@cantierecreativo.net"},"license":"ISC","_id":"redux-bees@0.0.12","maintainers":[{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"}],"dist":{"shasum":"f6392855455ed9b2b0a7cd3fe63af2326d8fb9af","tarball":"https://registry.npmjs.org/redux-bees/-/redux-bees-0.0.12.tgz","integrity":"sha512-HahhrBBevyslkIk2Kue4YZgHeD5T3tbnO4mq6SbhhY/KrF/f296KR1RCjC46QAVYFEeLnMnUf94F//AOWB7f1w==","signatures":[{"sig":"MEUCIQCL174W40V8eOQ7tsF2vGGc0vApmrMdsJLy3RpfkG5waQIgLWbDdAwK4IFy4FxXCihaVZGdsTCBiFa4KaiN5lqPE80=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","files":["lib"],"_shasum":"f6392855455ed9b2b0a7cd3fe63af2326d8fb9af","gitHead":"bc18caca809d101c0b727043fac542a489058d9d","scripts":{"lib":"babel src --out-dir lib","start":"webpack-dev-server --open","prepublish":"rimraf lib && mkdir lib && npm run lib"},"_npmUser":{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"},"_npmVersion":"3.10.8","description":"A nice, declarative way of managing JSON API calls with Redux","directories":{},"_nodeVersion":"6.7.0","dependencies":{"react":"*","object.omit":"^2.0.1","react-redux":"*","query-string":"^4.3.4","object-path-immutable":"^0.5.1"},"devDependencies":{"redux":"^3.6.0","rimraf":"^2.6.1","webpack":"^2.6.1","babel-cli":"^6.24.1","react-dom":"^15.5.4","prop-types":"^15.5.10","babel-loader":"^7.0.0","babel-preset-react":"^6.24.1","webpack-dev-server":"^2.4.5","babel-preset-es2015":"^6.24.1","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-plugin-transform-object-rest-spread":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/redux-bees-0.0.12.tgz_1496912805171_0.7926989684347063","host":"s3://npm-registry-packages"}},"0.0.13":{"name":"redux-bees","version":"0.0.13","author":{"name":"Stefano Verna","email":"s.verna@cantierecreativo.net"},"license":"ISC","_id":"redux-bees@0.0.13","maintainers":[{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"}],"dist":{"shasum":"2afc713774997e28d54e41121a686e2f034c236b","tarball":"https://registry.npmjs.org/redux-bees/-/redux-bees-0.0.13.tgz","integrity":"sha512-MmFf/h7E89wPA0/D9yK5tpsqJmjphAvSBGyk41uis8RfKv9wUn7ywZC8mlTVZ9bJOhzqtZZ2hOz3nzvhwcMYUQ==","signatures":[{"sig":"MEUCIAsiBTlhkH/lmJWDNwlD6cQGaM9KQrUDKXovs5E+acoLAiEA/tm3QGsuYvQLlZOqgDN0IpyEHXyOqv8/PlHijala3vo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","files":["lib"],"_shasum":"2afc713774997e28d54e41121a686e2f034c236b","gitHead":"92032124954fa3cd4b9a4b4d07ac047a65077794","scripts":{"lib":"babel src --out-dir lib","start":"webpack-dev-server --open","prepublish":"rimraf lib && mkdir lib && npm run lib"},"_npmUser":{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"},"_npmVersion":"3.10.8","description":"A nice, declarative way of managing JSON API calls with Redux","directories":{},"_nodeVersion":"6.7.0","dependencies":{"react":"*","object.omit":"^2.0.1","react-redux":"*","query-string":"^4.3.4","object-path-immutable":"^0.5.1"},"devDependencies":{"redux":"^3.6.0","rimraf":"^2.6.1","webpack":"^2.6.1","babel-cli":"^6.24.1","react-dom":"^15.5.4","prop-types":"^15.5.10","babel-loader":"^7.0.0","babel-preset-react":"^6.24.1","webpack-dev-server":"^2.4.5","babel-preset-es2015":"^6.24.1","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-plugin-transform-object-rest-spread":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/redux-bees-0.0.13.tgz_1496930186318_0.7475729931611568","host":"s3://npm-registry-packages"}},"0.1.0":{"name":"redux-bees","version":"0.1.0","author":{"name":"Stefano Verna","email":"s.verna@cantierecreativo.net"},"license":"ISC","_id":"redux-bees@0.1.0","maintainers":[{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"}],"dist":{"shasum":"05b1b0ac35560bae9ce3ee0d39ce23170f6401b5","tarball":"https://registry.npmjs.org/redux-bees/-/redux-bees-0.1.0.tgz","integrity":"sha512-1SjhqDqe3EU5JA/7olHgxJq8BU4PhQq6eJOtVtF416Op2uODytcdHay1ZbAiA8C2InMKV/PxZ8xjVg3hIcBM7A==","signatures":[{"sig":"MEQCIE8I/tM1g74XDRnE/UksXEdfzGvaJk+GS17Ipj+OTJDrAiBZTDA3A01Tduy4KUCCH9BYjcuN3gQJaqCBpfTdrtGx6w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","files":["lib"],"_shasum":"05b1b0ac35560bae9ce3ee0d39ce23170f6401b5","gitHead":"1ccea91cb4b845a5cf0bc9cb0c9a983f82315e40","scripts":{"lib":"babel src --out-dir lib","test":"babel-node test/index.js | tap-dot","start":"webpack-dev-server --open","prepublish":"rimraf lib && mkdir lib && npm run lib"},"_npmUser":{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"},"_npmVersion":"3.10.8","description":"A nice, declarative way of managing JSON API calls with Redux","directories":{},"_nodeVersion":"6.7.0","dependencies":{"react":"*","object.omit":"^2.0.1","react-redux":"*","query-string":"^4.3.4","object-path-immutable":"^0.5.1"},"devDependencies":{"tape":"^4.7.0","redux":"^3.6.0","rimraf":"^2.6.1","tap-dot":"^1.0.5","webpack":"^2.6.1","babel-cli":"^6.24.1","react-dom":"^15.5.4","prop-types":"^15.5.10","babel-loader":"^7.0.0","babel-preset-react":"^6.24.1","webpack-dev-server":"^2.4.5","babel-preset-es2015":"^6.24.1","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-plugin-transform-object-rest-spread":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/redux-bees-0.1.0.tgz_1499869671523_0.3597735210787505","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"redux-bees","version":"0.1.1","author":{"name":"Stefano Verna","email":"s.verna@cantierecreativo.net"},"license":"ISC","_id":"redux-bees@0.1.1","maintainers":[{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"}],"dist":{"shasum":"f4107d2df3173d90492d29d5bb61719b2c59f034","tarball":"https://registry.npmjs.org/redux-bees/-/redux-bees-0.1.1.tgz","integrity":"sha512-q0FqCAwstoHL1kiDCNJalaGTxPdQ073z1xfXP1X3LjVOSvacQxCZeroVF22QTVTr4USyl+AGFIbY3z3HfVkFgQ==","signatures":[{"sig":"MEQCIH5SfqGGnhtqhfy6QmkS/sKCse42DDF7mGKJscwJNGRzAiA+KM4cofADidYntQs6vLGDD76UWKRm1ourD+uAW0GWqw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","files":["lib"],"gitHead":"3cb63905c44d85bbf70f6668709ea20aab5a6530","scripts":{"lib":"babel src --out-dir lib","test":"babel-node test/index.js | tap-dot","start":"webpack-dev-server --open","prepublish":"rimraf lib && mkdir lib && npm run lib"},"_npmUser":{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"},"_npmVersion":"5.0.3","description":"A nice, declarative way of managing JSON API calls with Redux","directories":{},"_nodeVersion":"8.1.4","dependencies":{"react":"*","object.omit":"^2.0.1","react-redux":"*","query-string":"^4.3.4","object-path-immutable":"^0.5.1"},"devDependencies":{"tape":"^4.7.0","redux":"^3.6.0","rimraf":"^2.6.1","tap-dot":"^1.0.5","webpack":"^2.6.1","babel-cli":"^6.24.1","react-dom":"^15.5.4","prop-types":"^15.5.10","babel-loader":"^7.0.0","babel-preset-react":"^6.24.1","webpack-dev-server":"^2.4.5","babel-preset-es2015":"^6.24.1","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-plugin-transform-object-rest-spread":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/redux-bees-0.1.1.tgz_1501496175010_0.3665272584185004","host":"s3://npm-registry-packages"}},"0.1.2":{"name":"redux-bees","version":"0.1.2","author":{"name":"Stefano Verna","email":"s.verna@cantierecreativo.net"},"license":"ISC","_id":"redux-bees@0.1.2","maintainers":[{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"}],"dist":{"shasum":"f935002978c3fcb7ee9865d9c68af14013ed4a7e","tarball":"https://registry.npmjs.org/redux-bees/-/redux-bees-0.1.2.tgz","integrity":"sha512-efsImxQs/n1nU3PhlcD+UAeFvlarzbVgWtoKQ1GZ9W/Fw31lSKAWKiPSnQP6XS3XK7q4WPv9R8nHDpQdoRKvYw==","signatures":[{"sig":"MEYCIQClbjbu2Xjk0D5VbYii1aFbwHpkFFyvl3Wjx9EUAPYmGgIhAIrEGgvM3AJq6UipfddN/iIBZJh1d57INCe2wPvVn4Gx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","files":["lib"],"gitHead":"b5f01651329080a4ccf891895a0730d5e8bf33fa","scripts":{"lib":"babel src --out-dir lib","test":"babel-node test/index.js | tap-dot","start":"webpack-dev-server --open","prepublish":"rimraf lib && mkdir lib && npm run lib"},"_npmUser":{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"},"_npmVersion":"5.0.3","description":"A nice, declarative way of managing JSON API calls with Redux","directories":{},"_nodeVersion":"8.1.4","dependencies":{"react":"*","object.omit":"^2.0.1","react-redux":"*","query-string":"^4.3.4","object-path-immutable":"^0.5.1"},"devDependencies":{"tape":"^4.7.0","redux":"^3.6.0","rimraf":"^2.6.1","tap-dot":"^1.0.5","webpack":"^2.6.1","babel-cli":"^6.24.1","react-dom":"^15.5.4","prop-types":"^15.5.10","babel-loader":"^7.0.0","babel-preset-react":"^6.24.1","webpack-dev-server":"^2.4.5","babel-preset-es2015":"^6.24.1","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-plugin-transform-object-rest-spread":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/redux-bees-0.1.2.tgz_1501497852072_0.47369121108204126","host":"s3://npm-registry-packages"}},"0.1.3":{"name":"redux-bees","version":"0.1.3","author":{"name":"Stefano Verna","email":"s.verna@cantierecreativo.net"},"license":"ISC","_id":"redux-bees@0.1.3","maintainers":[{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"}],"dist":{"shasum":"64cce9d6b8fc04f139f8ece527fb5cda37c4f8f6","tarball":"https://registry.npmjs.org/redux-bees/-/redux-bees-0.1.3.tgz","integrity":"sha512-TI5iPQCgkOFPF+dLnwcZWp4VR2OG2k0NGgOKG3RJ979lTA6BMj3CpJ3vlQcS6Eemh0OELSCOj12Mb3XI91hT0A==","signatures":[{"sig":"MEYCIQDkCwDl55G8ZHnYnHEWOE7kc/5oV+9P/uFa84DXcxwPewIhAOt+/usiDRlUb7vGd4hsRQ6yP1cRMiWdOsAHYtcBHICP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","files":["lib"],"gitHead":"9f024905552a3ce2dc624a803f1711f22bb871ea","scripts":{"lib":"babel src --out-dir lib","test":"babel-node test/index.js | tap-dot","start":"webpack-dev-server --open","prepublish":"rimraf lib && mkdir lib && npm run lib"},"_npmUser":{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"},"_npmVersion":"5.0.3","description":"A nice, declarative way of managing JSON API calls with Redux","directories":{},"_nodeVersion":"8.1.4","dependencies":{"react":"*","object.omit":"^2.0.1","react-redux":"*","query-string":"^4.3.4","object-path-immutable":"^0.5.1"},"devDependencies":{"tape":"^4.7.0","redux":"^3.6.0","rimraf":"^2.6.1","tap-dot":"^1.0.5","webpack":"^2.6.1","babel-cli":"^6.24.1","react-dom":"^15.5.4","prop-types":"^15.5.10","babel-loader":"^7.0.0","babel-preset-react":"^6.24.1","webpack-dev-server":"^2.4.5","babel-preset-es2015":"^6.24.1","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-plugin-transform-object-rest-spread":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/redux-bees-0.1.3.tgz_1502888436963_0.6049316613934934","host":"s3://npm-registry-packages"}},"0.1.4":{"name":"redux-bees","version":"0.1.4","author":{"name":"Stefano Verna","email":"s.verna@cantierecreativo.net"},"license":"ISC","_id":"redux-bees@0.1.4","maintainers":[{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"}],"dist":{"shasum":"979d6284bc5621cec18a7512b6ce7f3ad6bf6a4c","tarball":"https://registry.npmjs.org/redux-bees/-/redux-bees-0.1.4.tgz","integrity":"sha512-irrEyzgdUd+aIt7eC2YgvDN8UodUk1kueQOvaLWsQnifJHn2KjcK2ZZjgPWqjqqYlSvlykpbf1vMp4fe0uLR3w==","signatures":[{"sig":"MEQCIHjs+vGyZCL8OGr1ZQmjZ8yV3PZoNEjwuudezii8P8LTAiAlgjy4oYf/I38BmfXhJ2BtHoG35SoTwg0KbVXV889J2Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","files":["lib"],"gitHead":"c9f5019eb2069b760a496f516fe1a475e51cafef","scripts":{"lib":"babel src --out-dir lib","test":"babel-node test/index.js | tap-dot","start":"webpack-dev-server --open","prepublish":"rimraf lib && mkdir lib && npm run lib","start-server":"babel-node example/server-side.js"},"_npmUser":{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"},"_npmVersion":"5.0.3","description":"A nice, declarative way of managing JSON API calls with Redux","directories":{},"_nodeVersion":"8.1.4","dependencies":{"react":"*","object.omit":"^2.0.1","react-redux":"*","query-string":"^4.3.4","object-path-immutable":"^0.5.1","hoist-non-react-statics":"^2.2.2"},"devDependencies":{"tape":"^4.7.0","redux":"^3.6.0","rimraf":"^2.6.1","tap-dot":"^1.0.5","webpack":"^2.6.1","babel-cli":"^6.24.1","react-dom":"^15.5.4","node-fetch":"^1.7.2","prop-types":"^15.5.10","babel-loader":"^7.0.0","react-router":"^4.1.2","babel-preset-react":"^6.24.1","webpack-dev-server":"^2.4.5","babel-preset-es2015":"^6.24.1","react-router-config":"^1.0.0-beta.3","babel-plugin-module-alias":"^1.6.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-plugin-transform-object-rest-spread":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/redux-bees-0.1.4.tgz_1502893604763_0.44246565154753625","host":"s3://npm-registry-packages"}},"0.1.5":{"name":"redux-bees","version":"0.1.5","author":{"name":"Stefano Verna","email":"s.verna@cantierecreativo.net"},"license":"ISC","_id":"redux-bees@0.1.5","maintainers":[{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"}],"dist":{"shasum":"cbfe2a83e1c98898f85d41a699eec37488140e6c","tarball":"https://registry.npmjs.org/redux-bees/-/redux-bees-0.1.5.tgz","integrity":"sha512-ryjS5Pk+tnEdqoqY9Z9STYvGYRfID82K0z/nNHTHzXeBOtwEQHofiQp0XFVl8uvb0AYu66XaVTH+Nko+TO/WXQ==","signatures":[{"sig":"MEUCICA2RAYO8nymf/V2CSxDsI0zan0SRwNTm6EDom77ACpEAiEA2IhajxNDBo/NS+qNOo9x3M+Mw9s627uXuHlOF0xM7mg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","files":["lib"],"gitHead":"b733cb658a3b0f1670dffb0ea5da6f3eec63eb2a","scripts":{"lib":"babel src --out-dir lib","test":"babel-node test/index.js | tap-dot","start":"webpack-dev-server --open","prepublish":"rimraf lib && mkdir lib && npm run lib","start-server":"babel-node example/server-side.js"},"_npmUser":{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"},"_npmVersion":"5.0.3","description":"A nice, declarative way of managing JSON API calls with Redux","directories":{},"_nodeVersion":"8.1.4","dependencies":{"react":"*","object.omit":"^2.0.1","react-redux":"*","query-string":"^4.3.4","object-path-immutable":"^0.5.1","hoist-non-react-statics":"^2.2.2"},"devDependencies":{"tape":"^4.7.0","redux":"^3.6.0","rimraf":"^2.6.1","tap-dot":"^1.0.5","webpack":"^2.6.1","babel-cli":"^6.24.1","react-dom":"^15.5.4","node-fetch":"^1.7.2","prop-types":"^15.5.10","babel-loader":"^7.0.0","react-router":"^4.1.2","babel-preset-react":"^6.24.1","webpack-dev-server":"^2.4.5","babel-preset-es2015":"^6.24.1","react-router-config":"^1.0.0-beta.3","babel-plugin-module-alias":"^1.6.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-plugin-transform-object-rest-spread":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/redux-bees-0.1.5.tgz_1502966509443_0.974659119034186","host":"s3://npm-registry-packages"}},"0.1.6":{"name":"redux-bees","version":"0.1.6","author":{"name":"Stefano Verna","email":"s.verna@cantierecreativo.net"},"license":"ISC","_id":"redux-bees@0.1.6","maintainers":[{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"}],"dist":{"shasum":"8a9b7fdf444e24bc65f9c7fdb3f27b87680422d2","tarball":"https://registry.npmjs.org/redux-bees/-/redux-bees-0.1.6.tgz","integrity":"sha512-Ci8bMQijIqs8tlkqisZ8IeZuRSQCjkBPzneNVbZvWJ8rRhJcS6M9OQViuoLVa+odvffukFpHDTzeC8ZoPB7oaQ==","signatures":[{"sig":"MEUCIQCRDdYQ56GvMUoJUFq+QgkudJk1B8S8FuY39Tj7tZuNaQIgR2plceGwQvAAy3l+t1Q/zxlm5CA+15RgXQffBxJw9uA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","files":["lib"],"gitHead":"91c16adcc5b3f360f63e79178481688fcb773466","scripts":{"lib":"babel src --out-dir lib","test":"babel-node test/index.js | tap-dot","start":"webpack-dev-server --open","prepublish":"rimraf lib && mkdir lib && npm run lib","start-server":"babel-node example/server-side.js"},"_npmUser":{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"},"_npmVersion":"5.0.3","description":"A nice, declarative way of managing JSON API calls with Redux","directories":{},"_nodeVersion":"8.1.4","dependencies":{"react":"*","object.omit":"^2.0.1","react-redux":"*","query-string":"^4.3.4","object-path-immutable":"^0.5.1","hoist-non-react-statics":"^2.2.2"},"devDependencies":{"tape":"^4.7.0","redux":"^3.6.0","rimraf":"^2.6.1","tap-dot":"^1.0.5","webpack":"^2.6.1","babel-cli":"^6.24.1","react-dom":"^15.5.4","node-fetch":"^1.7.2","prop-types":"^15.5.10","babel-loader":"^7.0.0","react-router":"^4.1.2","babel-preset-react":"^6.24.1","webpack-dev-server":"^2.4.5","babel-preset-es2015":"^6.24.1","react-router-config":"^1.0.0-beta.3","babel-plugin-module-alias":"^1.6.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-plugin-transform-object-rest-spread":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/redux-bees-0.1.6.tgz_1502973169054_0.1925616329535842","host":"s3://npm-registry-packages"}},"0.1.7":{"name":"redux-bees","version":"0.1.7","author":{"name":"Stefano Verna","email":"s.verna@cantierecreativo.net"},"license":"ISC","_id":"redux-bees@0.1.7","maintainers":[{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"}],"dist":{"shasum":"5368adc9eea8c525150d75c78bd4f91a1b9bf5b7","tarball":"https://registry.npmjs.org/redux-bees/-/redux-bees-0.1.7.tgz","integrity":"sha512-+gk1uSQXBvVvHvT6c6KWLNmIJsrPVUT13IaHCfsdN60m3NUUAzWX5oceCjdTiDh9GWLtZ8PgItDftKj6k8ft0g==","signatures":[{"sig":"MEQCIGSOLPdgKSVOgVw5NDokLiv5x4KIE6SV4OwtzeYEl6sEAiAaJDcmYZGgW12bT6EA7EwC/McK1cBq4Au1ZeIbYRoszQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","files":["lib"],"_shasum":"5368adc9eea8c525150d75c78bd4f91a1b9bf5b7","gitHead":"e6534dd0d952bf3daf9ba57fbf35bcac08f29fb9","scripts":{"lib":"babel src --out-dir lib","test":"babel-node test/index.js | tap-dot","start":"webpack-dev-server --open","prepublish":"rimraf lib && mkdir lib && npm run lib","start-server":"babel-node example/server-side.js"},"_npmUser":{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"},"_npmVersion":"2.15.12","description":"A nice, declarative way of managing JSON API calls with Redux","directories":{},"_nodeVersion":"8.1.4","dependencies":{"react":"*","object.omit":"^2.0.1","react-redux":"*","query-string":"^4.3.4","object-path-immutable":"^0.5.1","hoist-non-react-statics":"^2.2.2"},"devDependencies":{"tape":"^4.7.0","redux":"^3.6.0","rimraf":"^2.6.1","tap-dot":"^1.0.5","webpack":"^2.6.1","babel-cli":"^6.24.1","react-dom":"^15.5.4","node-fetch":"^1.7.2","prop-types":"^15.5.10","babel-loader":"^7.0.0","react-router":"^4.1.2","babel-preset-react":"^6.24.1","webpack-dev-server":"^2.4.5","babel-preset-es2015":"^6.24.1","react-router-config":"^1.0.0-beta.3","babel-plugin-module-alias":"^1.6.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-plugin-transform-object-rest-spread":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/redux-bees-0.1.7.tgz_1507280587874_0.08050218364223838","host":"s3://npm-registry-packages"}},"0.1.8":{"name":"redux-bees","version":"0.1.8","author":{"name":"Stefano Verna","email":"s.verna@cantierecreativo.net"},"license":"ISC","_id":"redux-bees@0.1.8","maintainers":[{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"}],"dist":{"shasum":"f2cb27375583affb43f128678d6e8069d331f417","tarball":"https://registry.npmjs.org/redux-bees/-/redux-bees-0.1.8.tgz","fileCount":14,"integrity":"sha512-0I2pidSilrQhFL5k7u7GrppQnLh9Lh4/cC23RDNdlfEPuoI1XHhhw6SY9B0ANg9nBDaVsEQa2L2I85FLMZOwQA==","signatures":[{"sig":"MEYCIQCrlSzKAA9Ckmk6Zi2h+6lPBcJ55b70ZQHKLnPKvo/xYgIhAPD4VAhkOjl3bDcX6WHOb4Beehx6bi1m38rk1vaeAtwe","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47641},"main":"lib/index.js","_from":".","files":["lib"],"_shasum":"f2cb27375583affb43f128678d6e8069d331f417","gitHead":"92ea37a8a79ef23f87f3092a420864512ed037c2","scripts":{"lib":"babel src --out-dir lib","test":"babel-node test/index.js | tap-dot","start":"webpack-dev-server --open","prepublish":"rimraf lib && mkdir lib && npm run lib","start-server":"babel-node example/server-side.js"},"_npmUser":{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"},"_npmVersion":"2.15.12","description":"A nice, declarative way of managing JSON API calls with Redux","directories":{},"_nodeVersion":"8.1.4","dependencies":{"react":"*","object.omit":"^2.0.1","react-redux":"*","query-string":"^4.3.4","object-path-immutable":"^0.5.1","hoist-non-react-statics":"^2.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tape":"^4.7.0","redux":"^3.6.0","rimraf":"^2.6.1","tap-dot":"^1.0.5","webpack":"^2.6.1","babel-cli":"^6.24.1","react-dom":"^15.5.4","node-fetch":"^1.7.2","prop-types":"^15.5.10","babel-loader":"^7.0.0","react-router":"^4.1.2","babel-preset-react":"^6.24.1","webpack-dev-server":"^2.4.5","babel-preset-es2015":"^6.24.1","react-router-config":"^1.0.0-beta.3","babel-plugin-module-alias":"^1.6.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-plugin-transform-object-rest-spread":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/redux-bees_0.1.8_1523432217882_0.27882711263120497","host":"s3://npm-registry-packages"}},"0.1.9":{"name":"redux-bees","version":"0.1.9","author":{"name":"Stefano Verna","email":"s.verna@cantierecreativo.net"},"license":"ISC","_id":"redux-bees@0.1.9","maintainers":[{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"}],"dist":{"shasum":"8089e9f7b75d179e61078a69a9519b8847510e36","tarball":"https://registry.npmjs.org/redux-bees/-/redux-bees-0.1.9.tgz","fileCount":14,"integrity":"sha512-3TIY8+2LBzh44MPLB8CfgbPGaWeIW9MPynWcigCOJN6sS9EV7pg+0gxyqLHZGc0TRLNeUggIxyz5oZimW3FzXA==","signatures":[{"sig":"MEYCIQCt4IDtb/dGijUkTufwoR/anRuw/e5Ki5+PgtlzWYLdXQIhAKQEup540QApevpIoay6NxAsWvrRjWy9HnCBliOYt6Fg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47650,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa10kKCRA9TVsSAnZWagAAAlEP/jLyzi/aapDK/XlcLwzx\nmOd0ygkgddEt7XXeON7Rykmrv873+SNJfWvuoJrgrpvRp+T5A9TvjOtxZzPs\nRVh8op2dEy8x6Tni7/0gHM4SZD02ZfX0ByhuryJ6MinKme3JAYF2qTLHjwmO\nx7r2dU2GOHpE88U4pakaZR1CWceimmSrT3hAkUiFKei+YDt4KGw0RXVJUndS\nRWwr5OuNwmLfK0Syc/Nv0fR1rmWsG99rCuV6/n9ehUHSNDigbT5lBa+aCO9m\nZPQk3WjXwRJ0sCUf+tpQJIzKZ66G0m7JTVspImsCYca2vC35ZhLy5/HZYP53\nl3EgsvJNGdDJL+pJV41Fg6J3jsYP6awqtAbKoPh+iUAdWZu/HSG4XCh+VBff\npr5L7DrdTkuoAWksjci08s6jV5YCU/WHr+iQgYR9Sg5JTTS2c5ncePS1BPfI\n1Ddw+/m5kKSuOQozrJjOPs9eSYYKvgR6Lqfh/eYC4RPcxWZRHbSDfBnG56tr\neK27NgEaA8b7co8tt/m9dGTvPG94j3XjTWLZHKS7rBsZcQxQ07uAbf3syhhC\nprMtYabex3e7U+LI28kRP3K+ZbVKkpJJh52bAnyOsGBdQChI/v8BdZqiXWo5\n8y3r3gcPEIJxp2cp2BWgC1JWQJ7Iic0YtTZGgPusdr/+8CuRDyqjuzYE2+KN\nwQIJ\r\n=pzPA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","files":["lib"],"gitHead":"7c88d217854e65594f41322fae73c0d7bc5e50d4","scripts":{"lib":"babel src --out-dir lib","test":"babel-node test/index.js | tap-dot","start":"webpack-dev-server --open","prepublish":"rimraf lib && mkdir lib && npm run lib","start-server":"babel-node example/server-side.js"},"_npmUser":{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"},"_npmVersion":"5.6.0","description":"A nice, declarative way of managing JSON API calls with Redux","directories":{},"_nodeVersion":"9.11.1","dependencies":{"react":"*","object.omit":"^2.0.1","react-redux":"*","query-string":"^4.3.4","object-path-immutable":"^0.5.1","hoist-non-react-statics":"^2.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tape":"^4.7.0","redux":"^3.6.0","rimraf":"^2.6.1","tap-dot":"^1.0.5","webpack":"^2.6.1","babel-cli":"^6.24.1","react-dom":"^15.5.4","node-fetch":"^1.7.2","prop-types":"^15.5.10","babel-loader":"^7.0.0","react-router":"^4.1.2","babel-preset-react":"^6.24.1","webpack-dev-server":"^2.4.5","babel-preset-es2015":"^6.24.1","react-router-config":"^1.0.0-beta.3","babel-plugin-module-alias":"^1.6.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-plugin-transform-object-rest-spread":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/redux-bees_0.1.9_1524058376838_0.9132097288046612","host":"s3://npm-registry-packages"}},"0.1.10":{"name":"redux-bees","version":"0.1.10","author":{"name":"Stefano Verna","email":"s.verna@cantierecreativo.net"},"license":"ISC","_id":"redux-bees@0.1.10","maintainers":[{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"}],"dist":{"shasum":"b582409a858af02a5bb8fe57bb9550f989a0b268","tarball":"https://registry.npmjs.org/redux-bees/-/redux-bees-0.1.10.tgz","fileCount":14,"integrity":"sha512-RiZi7DknAl45vUpBHL6pYrgoh0VdEs5JxGbkHb+HWcKkjtbyk/LzdvJNn6jZcCDnI3jwbiHKvm0RnAsLDBWs0g==","signatures":[{"sig":"MEUCIQD8rNy5FAjES+VhF062Vf7m5ilxKHVUWKmUghOQ0o6slwIgNrZGbFLCohpGbvrLOQS1uT1oSRu2ZA/bawlMxG23sfI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47680,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbP2LrCRA9TVsSAnZWagAArlEQAIDsrEp5GOyNvZRDTBFw\nBzB6Gbk5Ro3U3vOWXhMA7YmCe/2nsDK8HF3ARDWGiMudMy2CHKBU77htOIBZ\nGzIc+t4SEjRJYFQ7BSVwUKIcPwrf/jHnsvqb5RzPGFgShjSsF5HQ6poD9FuT\nwh6J/cLHF0OJQ31Vnqx8D3KVcER5ze5HPV+IQoumfEtg+DZP9ceSiNRENdgm\nJQ2LeQyTnXH3nxP9BD/OnAngLxoNeKbOZrmI68HLW9VKgYr1CffTRStZz7xV\nCr7oEBDH52KnlHQV6vdAYAQAjWsQ+TziJooCdXHQZ1PSMcghBRXEfeOQUtie\nyIPVAF2iIs7M4qIsl1S++P4SDKLj8mkJ8Ljtr62CQHoBA5/Kz4A8KZmAZcg+\nIMEwN1MwS8L4dDTUXddodxQUh+FbxlHY1dcEf+WjXPze08pRRZ7BYujmaNik\nXi8meAWRgNqO2VLir7LInRSPeofR+ZEqjOOM6sCs9C7UkfOqgU0Jhqt7WVhD\nYHPm2enKQGON2h3ZASOJi4iL22L7OzTZez7f+jUpn9XDmpwtCJqT93cc4zTD\nv8bK8ivEdPeavD9hqBmKWB1FJ/wZvPDRBYnul8WXHBnU6qPySEEcCznS2LIq\nTh1YPJoPqAJ6HVNaHpLtWVQdik1xo3bVLNsH4DSPOboHQdC5qLFPbPyWz4oM\nxCig\r\n=IPUs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","files":["lib"],"gitHead":"cdcee8e614e9ec159e77e0ab73294acf4c95c975","scripts":{"lib":"babel src --out-dir lib","test":"babel-node test/index.js | tap-dot","start":"webpack-dev-server --open","prepublish":"rimraf lib && mkdir lib && npm run lib","start-server":"babel-node example/server-side.js"},"_npmUser":{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"},"_npmVersion":"5.6.0","description":"A nice, declarative way of managing JSON API calls with Redux","directories":{},"_nodeVersion":"9.11.2","dependencies":{"react":"*","object.omit":"^2.0.1","react-redux":"*","query-string":"^4.3.4","object-path-immutable":"^0.5.1","hoist-non-react-statics":"^2.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tape":"^4.7.0","redux":"^3.6.0","rimraf":"^2.6.1","tap-dot":"^1.0.5","webpack":"^2.6.1","babel-cli":"^6.24.1","react-dom":"^15.5.4","node-fetch":"^1.7.2","prop-types":"^15.5.10","babel-loader":"^7.0.0","react-router":"^4.1.2","babel-preset-react":"^6.24.1","webpack-dev-server":"^2.4.5","babel-preset-es2015":"^6.24.1","react-router-config":"^1.0.0-beta.3","babel-plugin-module-alias":"^1.6.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-plugin-transform-object-rest-spread":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/redux-bees_0.1.10_1530880747435_0.10201419094024433","host":"s3://npm-registry-packages"}},"0.1.11":{"name":"redux-bees","version":"0.1.11","author":{"name":"Stefano Verna","email":"s.verna@cantierecreativo.net"},"license":"ISC","_id":"redux-bees@0.1.11","maintainers":[{"name":"datocms","email":"support@datocms.com"},{"name":"stefanoverna","email":"s.verna@cantierecreativo.net"}],"dist":{"shasum":"4507851c1b06e0047685601d95f5c7f54000b348","tarball":"https://registry.npmjs.org/redux-bees/-/redux-bees-0.1.11.tgz","fileCount":14,"integrity":"sha512-aGwVPLEZcbNMyzgxOAlGj6EVl6J8UIrwG/ek6KAMmPHpskPxeg9v2QMQFBcYSQTf/pzzJQtHpiOF3/xqNi9CEg==","signatures":[{"sig":"MEUCIQDok+Z7l0Z8BqGXinrqlQ6HRksCHk4nkzRQcYIx0mbvDwIgI0NHuGU40xROFEdsD1nUTZEc3k9L4HUTHiN/Fs+k4ns=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47500,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdFe8ACRA9TVsSAnZWagAAUycP/30gIFqFdzcjcXG2EOkB\n0yB43XbljwyBdr2YWTGn64xtENexzWFtEXSGTWRC8wK8jgGsyfWGzIyVXAFj\n+i0FztSpWRTGwnyiUf05NcyrDcDkye6tsbrk2Pyx1sMXZolhS7IxpPR+xAD6\n+dQ4YN9sc1RO8Ich4VQWVULN1QOsQJnmqMlotYsxs/SFMpZKia9D5Ngo6dZ0\nTq4qGasgR17kfzWE39skoJdE7qAdu9p4WtZc/ZWSdMcCX/rlZT3ACPTJFm8H\nac5uobK8wN1mnZKfhdYylAJjg2jMEhmNEifuepstBvECY0RzH62gy6bXd7dj\nVLVa9JLORYVE2lD65XqMWeH2wgzp4u9nib/7mAf0s9VcC2BT2EYmmvMcu8Q1\nSBT8UO6BZX0hw29iELsPYFQXVFYBTnZle+J9ALrk9ss3RFl06YOC+bsuvZcj\niEjoDxWzL43dtQK3t85yPxNRIWSc0Qh/wM5dxZ3I6YdjuKbXkYnQB+DbY3Ju\n5C1L7KEkb3e06V1c3LrJ79NZj6S7zDWDYgxFMRGweadSGUT19A90nUsugwWu\naTUSkio998gYLMmU9thegNlffHeeP4v8vuqR44wAwFLc4TvSDIq4zxyNT2RY\nKCoHRRhCo9S1VYbFde/StlkMwM/L4xAoxT0tYCsYx6qLeKnusJvpVd9wuada\nzxFS\r\n=gP+i\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","gitHead":"22ce70be05fdf230078c12e6ba97a86465aed86b","scripts":{"lib":"babel src --out-dir lib","test":"babel-node test/index.js | tap-dot","start":"webpack-dev-server --open","prepublish":"rimraf lib && mkdir lib && npm run lib","start-server":"babel-node example/server-side.js"},"_npmUser":{"name":"datocms","email":"support@datocms.com"},"_npmVersion":"6.9.0","description":"A nice, declarative way of managing JSON API calls with Redux","directories":{},"_nodeVersion":"9.11.2","dependencies":{"react":"*","object.omit":"^2.0.1","react-redux":"*","query-string":"^4.3.4","object-path-immutable":"^0.5.1","hoist-non-react-statics":"^2.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tape":"^4.7.0","redux":"^3.6.0","rimraf":"^2.6.1","tap-dot":"^1.0.5","webpack":"^2.6.1","babel-cli":"^6.24.1","react-dom":"^15.5.4","node-fetch":"^1.7.2","prop-types":"^15.5.10","babel-loader":"^7.0.0","react-router":"^4.1.2","babel-preset-react":"^6.24.1","webpack-dev-server":"^2.4.5","babel-preset-es2015":"^6.24.1","react-router-config":"^1.0.0-beta.3","babel-plugin-module-alias":"^1.6.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-plugin-transform-object-rest-spread":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/redux-bees_0.1.11_1561718527318_0.9775043704622217","host":"s3://npm-registry-packages"}}},"time":{"created":"2017-06-03T09:19:40.826Z","modified":"2026-01-05T18:14:26.004Z","0.0.1":"2017-06-03T09:19:40.826Z","0.0.2":"2017-06-03T09:39:13.718Z","0.0.3":"2017-06-03T09:59:51.088Z","0.0.4":"2017-06-05T10:36:16.179Z","0.0.5":"2017-06-05T10:45:05.171Z","0.0.6":"2017-06-05T15:53:39.704Z","0.0.7":"2017-06-06T11:47:02.182Z","0.0.8":"2017-06-08T08:15:43.644Z","0.0.9":"2017-06-08T08:18:55.814Z","0.0.10":"2017-06-08T08:32:29.313Z","0.0.11":"2017-06-08T08:45:17.253Z","0.0.12":"2017-06-08T09:06:46.191Z","0.0.13":"2017-06-08T13:56:27.408Z","0.1.0":"2017-07-12T14:27:52.522Z","0.1.1":"2017-07-31T10:16:16.098Z","0.1.2":"2017-07-31T10:44:13.112Z","0.1.3":"2017-08-16T13:00:37.933Z","0.1.4":"2017-08-16T14:26:45.913Z","0.1.5":"2017-08-17T10:41:50.428Z","0.1.6":"2017-08-17T12:32:50.216Z","0.1.7":"2017-10-06T09:03:08.850Z","0.1.8":"2018-04-11T07:36:57.928Z","0.1.9":"2018-04-18T13:32:56.907Z","0.1.10":"2018-07-06T12:39:07.493Z","0.1.11":"2019-06-28T10:42:07.429Z"},"author":{"name":"Stefano Verna","email":"s.verna@cantierecreativo.net"},"license":"ISC","description":"A nice, declarative way of managing JSON API calls with Redux","maintainers":[{"email":"marcelofinamorvieira@gmail.com","name":"marcelofinamorvieira"},{"email":"s.verna@datocms.com","name":"stefanoverna"},{"email":"monti.fabrizio@gmail.com","name":"delphaber"},{"email":"m.giaccone@datocms.com","name":"mat_jack1"},{"email":"i.oppo@datocms.com","name":"souljuse"},{"email":"silvano@datocms.com","name":"sistrall_"},{"email":"r.tuan@datocms.com","name":"datoroger"}],"readme":"![redux-bees](https://raw.githubusercontent.com/cantierecreativo/redux-bees/master/logo.png)\n\nA nice, declarative way of managing [JSON API](http://jsonapi.org/) calls with Redux.\n\n![downloads](https://img.shields.io/npm/dm/redux-bees.svg)\n\n## Installation\n\n```sh\nnpm install redux-bees --save\n```\n\nOr if you use Yarn:\n\n```sh\nyarn add redux-bees\n```\n\nThis library makes use of the [Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) to make AJAX requests, \nso make sure to add a polyfill if your execution environment is not equipped with it.\n\n# Usage\n\n* [Defining your API endpoints](#defining-your-api-endpoints)\n  * [Customize headers](#customize-headers)\n  * [Dynamic change of baseUrl](#dynamic-change-of-baseurl)\n  * [Resolve/reject middlewares](#resolvereject-middlewares)\n* [Redux integration](#redux-integration)\n* [State selectors](#state-selectors)\n* [React integration](#react-integration)\n* [Conditional fetch](#conditional-fetch)\n* [Dependent data loading](#dependent-data-loading)\n* [Retrieving compound documents](#retrieving-compound-documents)\n* [Forced refetch](#forced-refetch)\n* [Cache invalidation](#cache-invalidation)\n* [Server-side data loading](#server-side-data-loading)\n\n## Defining your API endpoints\n\nStart by defining the endpoints of your API:\n\n```js\nimport { buildApi, get, post, patch, destroy } from 'redux-bees';\n\nconst apiEndpoints = {\n  getPosts:      { method: get,     path: '/posts' },\n  getPost:       { method: get,     path: '/posts/:id' },\n  createPost:    { method: post,    path: '/posts' },\n  updatePost:    { method: patch,   path: '/posts/:id' },\n  destroyPost:   { method: destroy, path: '/posts/:id' },\n  getCategory:   { method: get,     path: '/categories/:id' },\n  getComments:   { method: get,     path: '/posts/:postId/relationships/comments' },\n  createComment: { method: post,    path: '/posts/:postId/relationships/comments' },\n};\n\nconst config = {\n  baseUrl: 'https://api.yourservice.com'\n};\n\nconst api = buildApi(apiEndpoints, config);\n```\n\nYou can then perform API requests like this:\n\n```js\napi.getPosts()\n.then((result) => {\n  // {\n  //   status: 200,\n  //   headers: {\n  //     'content-type': 'application/vnd.api+json'\n  //   },\n  //   body: {\n  //     data: [\n  //       {\n  //         id: 413,\n  //         type: 'posts',\n  //         attributes: {\n  //           title: 'My awesome post',\n  //           ...\n  //         }\n  //       }\n  //     ]\n  //   }\n  // }\n})\n.catch((error) => {\n  // {\n  //   status: 404,\n  //   headers: {\n  //     'content-type': 'application/vnd.api+json'\n  //   },\n  //   body: {\n  //     errors: [\n  //       {\n  //         status: '404',\n  //         title:  'Resource not found',\n  //         ...\n  //       }\n  //     ]\n  //   }\n  // }\n});\n```\n\nThe arguments you need to pass depend on the HTTP method of the request and\nthe presence of placeholders in the path declared for the endpoint:\n\n```js\napi.getPost({ id: 12 })\n// GET https://api.yourservice.com/posts/12\n\napi.getPost({ id: 12, include: 'comments' })\n// GET https://api.yourservice.com/posts/12?include=comments\n\napi.createPost({ data: { type: 'post', attributes: { ... }}})\n// POST https://api.yourservice.com/posts\n\napi.updatePost({ id: 12 }, { data: { id: 12, type: 'post', attributes: { ... }}})\n// PATCH https://api.yourservice.com/posts/12\n\napi.destroyPost({ id: 12 })\n// DELETE https://api.yourservice.com/posts/12\n\napi.getComments({ postId: 12 })\n// GET https://api.yourservice.com/posts/12/relationships/comments\n\napi.createComment({ postId: 12 }, { data: { type: 'comment', attributes: { ... }}})\n// POST https://api.yourservice.com/posts/12/relationships/comments\n```\n\nIf you perform multiple concurrent requests to the same endpoint with the same\nparameters, a single API call will be performed, and every request will be\nattached to the same promise:\n\n```js\napi.getPost({ id: 12 })\n.then(data => console.log(data));\n\n// This won't produce a new API call\n\napi.getPost({ id: 12 })\n.then(data => console.log(data));\n```\n\n### Customize headers\n\nBy default, API calls will have the following headers setup for you:\n\n```\nContent-Type: application/vnd.api+json\nAccept: application/vnd.api+json\n```\n\nIf you need to pass additional headers, you can use the `configureHeaders` option:\n\n```js\nimport store from './store';\n\nconst config = {\n  baseUrl: 'https://api.yourservice.com'\n  configureHeaders(headers) {\n    return {\n      ...headers,\n      'Authorization': `Bearer ${store.getState().session.bearerToken}`,\n    };\n  },\n};\n```\n\n### Dynamic change of baseUrl\n\nIn some applications the URL Endpoint may change during runtime. To help with this scenario the baseUrl config option can either be a `String` or `Function`:\n\n```js\nimport store from './store';\n\nconst config = {\n  baseUrl() {\n    return store.getState().app.endpoint;\n  }\n};\n```\n\n### Resolve/reject middlewares\n\nIf you need to execute specific code after every request, or to tweak the response you get from the server, you can use the `afterResolve` and `afterReject` options:\n\n```js\nimport camelcaseKeys from 'camelcase-keys'\n\nconst config = {\n  baseUrl: 'https://api.yourservice.com',\n  afterResolve({ status, headers, body }) {\n    return Promise.resolve({ status, headers, body: camelcaseKeys(body) });\n  },\n  afterReject({ status, headers, body }) {\n    if (status === 401) {\n      // ie. redirect to login page\n      document.location = '/login';\n    } else {\n      return Promise.reject({ status, headers, body: camelcaseKeys(body) });\n    }\n  },\n};\n```\n\n## Redux integration\n\nTo integrate `redux-bees` with your Redux store, you need to add a reducer and\na middleware:\n\n```js\nimport {\n  createStore,\n  applyMiddleware,\n  compose,\n  combineReducers,\n} from 'redux';\n\nimport {\n  reducer as beesReducer,\n  middleware as beesMiddleware,\n} from 'redux-bees';\n\nconst reducer = combineReducers({\n  // ...your other reducers\n  bees: beesReducer,\n});\n\nconst store = createStore(\n  reducer,\n  applyMiddleware(beesMiddleware())\n);\n```\n\n## State selectors\n\nThis will enable you to dispatch API calls, and get back the result from your\nRedux state using one of these selectors:\n\n* `getRequestResult(state, apiCall, args)`\n* `getRequestHeaders(state, apiCall, args)`\n* `getRequestMeta(state, apiCall, args)`\n* `isRequestLoading(state, apiCall, args)`\n* `hasRequestStarted(state, apiCall, args)`\n* `getRequestError(state, apiCall, args)`\n\nIf you want to retrieve all of the above info at once, you can use the following shortcut selector:\n\n* `getRequestInfo(state, apiCall, args)`\n\nExample:\n\n```js\nimport {\n  getRequestResult,\n  getRequestHeaders,\n  getRequestMeta,\n  isRequestLoading,\n  hasRequestStarted,\n  getRequestError,\n  getRequestInfo,\n} from 'redux-bees';\n\nstore.dispatch(api.getPost({ id: 12 }));\n\ngetRequestInfo(store.getState(), api.getPost, [{ id: 12 }]);\n// {\n//   hasStarted: false,\n//   isLoading: false,\n//   hasFailed: false,\n//   result: null,\n//   headers: null,\n//   meta: null,\n//   error: null\n// }\n\nsetTimeout(() => {\n  getRequestInfo(store.getState(), api.getPost, [{ id: 12 }]);\n  // {\n  //   hasStarted: true,\n  //   isLoading: false,\n  //   hasFailed: false,\n  //   headers: {\n  //     'content-type': 'application/vnd.api+json'\n  //   },\n  //   meta: {\n  //     'responseTimeInMs': 69\n  //   },\n  //   result: { id: 12, type: 'post', attributes: { ... } },\n  //   error: null\n  // }\n}, 2000);\n```\n\nThe current state of your API calls will be saved in store in the following,\nnormalized form. The `bees` section of the store should be considered a private\narea and should be accessed via our [state selectors](#state-selectors).\n\n```js\nstore.getState();\n\n// {\n//   bees: {\n//     requests: {\n//       getPosts: {\n//         '[]': {\n//           isLoading: false,\n//           error: null,\n//           response: [ { id: '12', type: 'post' } ],\n//           status: 200,\n//           headers: {\n//             'content-type': 'application/vnd.api+json'\n//           },\n//           meta: null,\n//         }\n//       }\n//       getPost: {\n//         '[ { \"id\": 12 } ]': {\n//           isLoading: false,\n//           error: null,\n//           response: { id: '12', type: 'post' },\n//           status: 200,\n//           headers: {\n//             'content-type': 'application/vnd.api+json'\n//           },\n//           meta: null,\n//         }\n//       }\n//     },\n//     entities: {\n//       post: {\n//         '12': {\n//           id: '12',\n//           type: 'site',\n//           attributes: {\n//             name: 'My awesome post',\n//             ...\n//           }\n//         }\n//       }\n//     }\n//   }\n// }\n```\n\n## React integration\n\nTo make it easier to integrate data fetching in your component, you can use\na specific higher-order component called `query`. Basic example of usage:\n\n```js\nimport React from 'react';\nimport api from './api';\nimport { query } from 'redux-bees';\n\n@query('posts', api.getPosts)\n\nexport default class App extends React.Component {\n\n  static propTypes = {\n    posts: PropTypes.array,\n    status: PropTypes.shape({\n      posts: PropTypes.shape({\n        hasStarted: PropTypes.bool.isRequired,\n        isLoading: PropTypes.bool.isRequired,\n        hasFailed: PropTypes.bool.isRequired,\n        refetch: PropTypes.func.isRequired,\n        headers: PropTypes.object,\n        meta: PropTypes.object,\n        error: PropTypes.object,\n      }),\n    }),\n  };\n\n  render() {\n    const { posts, status } = this.props;\n\n    return (\n      <div>\n        {\n          !status.posts.hasStarted &&\n            'Request not started...'\n        }\n        {\n          status.posts.isLoading &&\n            'Loading...'\n        }\n        {\n          status.posts.hasFailed &&\n            JSON.stringify(status.posts.error)\n        }\n        {\n          posts &&\n            JSON.stringify(posts)\n        }\n      </div>\n    );\n  }\n}\n```\n\nThe HOC takes the following ordinal arguments:\n\n* The name of the prop that will be passed down to the component (ie. `'post'`);\n* The API call to dispatch (ie. `api.getPost`);\n\nThe HOC will always pass down a `status` prop, containing all the info about the API request.\n\nIf the API call needs parameters (for example, to get a single post), you pass a third argument:\n\n```js\n@query('post', api.getPost, (perform, props) => (\n  perform({ id: props.match.params.id })\n))\n```\n\nThe function `(perform, props) => perform(...)` will be used to actually dispatch the API call with the correct arguments.\n\nYou can decorate your component with multiple `@query` HOCs:\n\n```js\n@query('post', api.getPost, (perform, props) => (\n  perform({ id: props.match.params.id })\n))\n\n@query('comments', api.getComments, (perform, props) => (\n  perform({ postId: props.match.params.id })\n))\n\nexport default class App extends React.Component {\n  render() {\n    //...\n  }\n}\n```\n\nIn this case, `this.props.status.post` indicates the status of the `api.getPost` API call, and `this.props.status.comments` indicates the status of the `api.getComments` call.\n\n## Conditional fetch\n\nYour component might require to fetch data conditionally (ie. only if some parameter is present in the URL). In this case, you can use [recompose's `@branch` HOC](https://github.com/acdlite/recompose/blob/master/docs/API.md#branch) to apply the `@query` HOC only when needed:\n\n```js\nimport React from 'react';\nimport { query } from 'redux-bees';\nimport { branch } from 'recompose';\nimport api from './api';\n\n@branch(\n  (props) => props.showPopularPosts,\n  query('popularPosts', api.getPosts, (perform) => (\n    perform({ 'page[size]': 10, sort: 'pageViews', direction: 'desc' })\n  ))\n)\n\nexport default class App extends React.Component {\n  // ...\n```\n\n## Dependent data loading\n\nConsider this case:\n\n```js\n@query('post', api.getPost, (perform, props) => (\n  perform({ id: props.match.params.id })\n))\n\n@query('category', api.getCategory, (perform, props) => (\n  perform({ id: props.post && props.post.relationships.category.data.id })\n))\n\nexport default class App extends React.Component {\n  render() {\n    //...\n  }\n}\n```\n\nThe `api.getCategory` call cannot be made until we receive the `post`. `redux-bees` handles this automatically: the call is only made when `props.post && props.post.relationships.category.data.id` returns a value. This is because in this API call the `id` parameter is considered required, as it is indicated with a placeholder:\n\n```\n  ...\n  getCategory:   { method: get, path: '/categories/:id' },\n  ...\n```\n\nIf your API call requires specific parameters in the query string, they can be declared as follows:\n\n```\n  ...\n  getPosts:   { method: get, path: '/posts', required: [ 'page' ] },\n  ...\n```\n\n## Retrieving compound documents\n\nTo reduce the number of HTTP requests, JSON API servers [may allow responses\nthat include related resources along with the requested primary resources](http://jsonapi.org/format/#document-compound-documents) using the `include` query string.\n\nYou can access included entities with the `getRelationship` selector:\n\n```js\nimport { query, getRelationship } from 'redux-bees';\nimport { connect } from 'react-redux';\n\nimport api from './api';\n\n@query('post', api.getPost, (perform, props) => (\n  perform({ id: props.match.params.id, include: 'categories' })\n))\n\n@connect((state, props) => ({\n  categories: getRelationship(state, props.post, 'categories')\n}))\n\nexport default class App extends React.Component {\n  render() {\n    //...\n  }\n}\n```\n\n## Forced refetch\n\nThe `status` prop contains an `refetch()` function you can use when you need\nto force a refetch of data:\n\n```js\nimport React from 'react';\nimport api from './api';\nimport { query } from 'redux-bees';\n\n@query('posts', api.getPosts)\n\nexport default class App extends React.Component {\n  componentDidMount() {\n    const { status } = this.props;\n\n    setTimeout(() => {\n      status.posts.refetch();\n    }, 2000);\n  }\n\n  render() {\n    const { posts } = this.props;\n\n    return (\n      <div>\n        { posts && JSON.stringify(posts) }\n      </div>\n    );\n  }\n}\n```\n\n## Cache invalidation\n\nAfter some destructive call (ie. creation of a new post), you often need to\ninvalidate one or more API calls that may have been previously made (ie. the\nindex of posts).\n\nIn this case, you can dispatch the `invalidateRequests` action:\n\n```js\nimport React from 'react';\nimport api from './api';\nimport { query, invalidateRequests } from 'redux-bees';\n\n@query('posts', api.getPosts)\n\nexport default class App extends React.Component {\n\n  handleSubmit(attributes) {\n    const { dispatch } = this.props;\n\n    dispatch(api.createPost({\n      data: {\n        type: 'post',\n        attributes,\n      }\n    }))\n    .then(() => {\n      dispatch(invalidateRequests(api.getPosts));\n    });\n  }\n}\n```\n\nCalling `invalidateRequests(api.getPosts)` will invalidate **every previous API\ncall** made to the `api.getPosts` endpoint. \n\nTo invalidate only a subset of the previously API calls made, you can pass a function \nas second argument that will act as a filter:\n\n```js\ndispatch(invalidateRequests(api.getPost, (params) => params.id === 2));\n```\n\n\n## Server-side data loading\n\nWe seek to be composable with any approach, and not prescribe or lean toward any specific routing solution. \n\nComponents wrapped in a `@query` HOC expose a static function called `loadData` which accepts a redux `dispatch` function as first argument. It returns a Promise that resolves once data is loaded and saved to your Redux store.\n\nThe server (with the help of [react-router](https://reacttraining.com/react-router/web/guides/server-rendering) or something similar) then checks which components match the route path and calls all of the `loadData` static functions if they're available.\n\nWhen all of these promises have been resolved, the server side can render the components and finish the request.\n\nHere's a simple example using [`react-router`](https://github.com/ReactTraining/react-router) and [`react-router-config`](https://github.com/ReactTraining/react-router/tree/master/packages/react-router-config):\n\n```js\nimport React from 'react';\nimport { query } from 'redux-bees';\nimport api from './api';\n\n@query('posts', api.getPosts)\nexport default class App extends React.Component {\n  // ...\n}\n```\n\n```js\nimport { createServer } from 'http';\nimport React from 'react';\nimport ReactDOMServer from 'react-dom/server';\nimport { matchRoutes } from 'react-router-config';\nimport { Provider } from 'react-redux';\n\nimport createStore from './createStore';\nimport App from './components/App';\n\nconst routes = [\n  {\n    component: App,\n    path: '/'\n  },\n  // etc.\n];\n\ncreateServer((req, res) => {\n  const store = createStore();\n  const branch = matchRoutes(routes, req.url);\n\n  const promises = branch.map(({ route, match }) => {\n    return route.component.loadData ?\n      route.component.loadData(store.dispatch, { match }) :\n      Promise.resolve(null);\n  });\n\n  Promise.all(promises)\n  .then(() => {\n    const html = ReactDOMServer.renderToString(\n      <Provider store={store}>\n        <App />\n      </Provider>\n    );\n\n    res.write(`<!doctype html><div id=\"app\">${html}</div>`);\n    res.end();\n  });\n}).listen(3000);\n```\n\n# Who uses redux-bees\n\nIf your company or project uses `redux-bees`, feel free to add it to [the official list of users](https://github.com/cantierecreativo/redux-bees/wiki/Sites-using-redux-bees) by [editing](https://github.com/cantierecreativo/redux-bees/wiki/Sites-using-redux-bees/_edit) the wiki page.\n\n# Feedback wanted\n\nProject is still in the early stages. Please file an issue or submit a PR if you have suggestions! Or ping me (Stefano Verna) on [Twitter](https://twitter.com/steffoz).\n\n# Why is it called `redux-bees`?\n\nWe're italians. Italian translation of \"bees\" is \"api\". See what we did there? :hamster:\n\n# License\n\nISC\n","readmeFilename":"README.md","users":{"eswat2":true}}