{"_id":"@bandwidth/redux-facet","_rev":"43-05bb735f2a228b812df8c8a6f4c8ab20","name":"@bandwidth/redux-facet","description":"## Purpose","dist-tags":{"latest":"1.0.0","beta":"1.0.0-beta3"},"versions":{"0.1.0":{"name":"@bandwidth/redux-facet","version":"0.1.0","description":"## Purpose","main":"./dist/index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","example":"node ./example/webpack.devserver.js","build":"babel src --out-dir dist","prepublish":"npm run build"},"author":"","license":"ISC","dependencies":{"immutable":"^3.8.2","lodash":"^4.17.4","react-redux":"^5.0.6","redux":"^3.7.2","redux-immutable":"^4.0.0","redux-saga":"^0.15.6"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-preset-es2017":"^6.24.1","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","css-loader":"^0.28.7","file-loader":"^1.1.5","html-webpack-plugin":"^2.30.1","prop-types":"^15.6.0","react":"^16.0.0","react-dom":"^16.0.0","redux-actions":"^2.2.1","reselect":"^3.0.1","style-loader":"^0.19.0","webpack":"^3.7.1","webpack-dev-server":"^2.9.1"},"gitHead":"6f7a938d4d22898e9f194ecd6a299a6825d869d1","_id":"@bandwidth/redux-facet@0.1.0","_shasum":"7cb2357c6f7960b6c0590485b7c4d631c6970e62","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.2","_npmUser":{"name":"a-type","email":"gaforres@gmail.com"},"dist":{"shasum":"7cb2357c6f7960b6c0590485b7c4d631c6970e62","tarball":"https://registry.npmjs.org/@bandwidth/redux-facet/-/redux-facet-0.1.0.tgz","integrity":"sha512-4Ww6dl6H7Wbz/5hXREVt2kE6V80nI25E+1mCbQjeCxFRB0RVZcMLRyWzQO2ymKvTHZysn3i43Z9elCDM9D3SKw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCJNW0Qzxxx0hcdP5zS6w/cAtVmLIqdP2QZrOizQuKP1gIhAOVrd0LSfKXmCVSXo83XKUqGtt4xFCx/jGjXsHA37dcv"}]},"maintainers":[{"name":"a-type","email":"gaforres@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-facet-0.1.0.tgz_1508424656627_0.5533751170150936"},"directories":{}},"0.1.1":{"name":"@bandwidth/redux-facet","version":"0.1.1","description":"## Purpose","main":"./dist/index.js","files":["README.md","dist","immutable.js"],"npmName":"@bandwidth/redux-facet","npmFileMap":[{"basePath":"/dist/","files":["*.js"]}],"scripts":{"test":"echo \"Error: no test specified\" && exit 1","example":"node ./example/webpack.devserver.js","build":"babel src --out-dir dist","prepublish":"npm run build"},"author":"","license":"ISC","dependencies":{"immutable":"^3.8.2","lodash":"^4.17.4","react-redux":"^5.0.6","redux":"^3.7.2","redux-immutable":"^4.0.0","redux-saga":"^0.15.6"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-preset-es2017":"^6.24.1","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","css-loader":"^0.28.7","file-loader":"^1.1.5","html-webpack-plugin":"^2.30.1","prop-types":"^15.6.0","react":"^16.0.0","react-dom":"^16.0.0","redux-actions":"^2.2.1","reselect":"^3.0.1","style-loader":"^0.19.0","webpack":"^3.7.1","webpack-dev-server":"^2.9.1"},"gitHead":"fbf2a10cb72b3a02ad77629581337b92f7628484","_id":"@bandwidth/redux-facet@0.1.1","_shasum":"4ad3673d6f40a86a943dd340e5ddfc31798ae7b5","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.2","_npmUser":{"name":"a-type","email":"gaforres@gmail.com"},"dist":{"shasum":"4ad3673d6f40a86a943dd340e5ddfc31798ae7b5","tarball":"https://registry.npmjs.org/@bandwidth/redux-facet/-/redux-facet-0.1.1.tgz","integrity":"sha512-I4hY/jUXfmX+0TNh9bFmNy1CyV1vy8VWfSWCeQEi5cKmv0Xv59UzlQoy4dVdn1YdKvsd17AMmU4TOfkXyEeLsg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDWHt+6+OELLzC0oE8R7ooxdnWMcbQ/xdDH79IYqZ6tqgIgcbmwqiZctxvbtZCaHpM7zbDF8BbGBgPsj+/Q5WsO6FE="}]},"maintainers":[{"email":"belchikovs@gmail.com","name":"avb"},{"email":"dtolb.me@gmail.com","name":"dtolb"},{"email":"gaforres@gmail.com","name":"a-type"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-facet-0.1.1.tgz_1508437318989_0.04791648196987808"},"directories":{}},"0.1.2":{"name":"@bandwidth/redux-facet","version":"0.1.2","description":"## Purpose","main":"./dist/index.js","files":["README.md","dist","immutable.js"],"npmName":"@bandwidth/redux-facet","npmFileMap":[{"basePath":"/dist/","files":["*.js"]}],"scripts":{"test":"echo \"Error: no test specified\" && exit 1","example":"node ./example/webpack.devserver.js","build":"babel src --out-dir dist","prepublish":"npm run build"},"author":"","license":"ISC","dependencies":{"immutable":"^3.8.2","lodash":"^4.17.4","react-redux":"^5.0.6","redux":"^3.7.2","redux-immutable":"^4.0.0","redux-saga":"^0.15.6"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-preset-es2017":"^6.24.1","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","css-loader":"^0.28.7","file-loader":"^1.1.5","html-webpack-plugin":"^2.30.1","prop-types":"^15.6.0","react":"^16.0.0","react-dom":"^16.0.0","redux-actions":"^2.2.1","reselect":"^3.0.1","style-loader":"^0.19.0","webpack":"^3.7.1","webpack-dev-server":"^2.9.1"},"gitHead":"c86b464f148ce6987047e6dbed5761994148d5db","_id":"@bandwidth/redux-facet@0.1.2","_shasum":"dfcf5749da5eb94498c4f46235cda4b05b7e4a12","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.2","_npmUser":{"name":"a-type","email":"gaforres@gmail.com"},"dist":{"shasum":"dfcf5749da5eb94498c4f46235cda4b05b7e4a12","tarball":"https://registry.npmjs.org/@bandwidth/redux-facet/-/redux-facet-0.1.2.tgz","integrity":"sha512-A40ge5LdMhlUIIlKUo9N32k83NU4rzW5UKBBREO0xpJ1ABh28S8YdruHoMYLIV+Bsv+IkX/sJcmq3pEnKjQzbg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCcx6EMArzjCDYXKOeqLyk3IUlFx7CZw9J+pFQtltE5DQIhAMhI1D+mpDXiYaZFe3PHxkUQLDt42dmXcY8PJ0/FS4I4"}]},"maintainers":[{"email":"belchikovs@gmail.com","name":"avb"},{"email":"dtolb.me@gmail.com","name":"dtolb"},{"email":"gaforres@gmail.com","name":"a-type"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-facet-0.1.2.tgz_1508438696378_0.3334363454487175"},"directories":{}},"0.1.3":{"name":"@bandwidth/redux-facet","version":"0.1.3","description":"## Purpose","main":"./dist/index.js","files":["README.md","dist","immutable.js"],"npmName":"@bandwidth/redux-facet","npmFileMap":[{"basePath":"/dist/","files":["*.js"]}],"scripts":{"test":"echo \"Error: no test specified\" && exit 1","example":"node ./example/webpack.devserver.js","build":"babel src --out-dir dist","prepublish":"npm run build","precommit":"lint-staged"},"lint-staged":{"*.js":["prettier --single-quote --trailing-comma all --write \"{src,example,__tests__}/**/*.js\"","git add"]},"author":"","license":"ISC","dependencies":{"immutable":"^3.8.2","lodash":"^4.17.4","react-redux":"^5.0.6","redux":"^3.7.2","redux-immutable":"^4.0.0","redux-saga":"^0.15.6"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-preset-es2017":"^6.24.1","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","css-loader":"^0.28.7","file-loader":"^1.1.5","html-webpack-plugin":"^2.30.1","husky":"^0.14.3","lint-staged":"^4.3.0","prettier":"^1.7.4","prop-types":"^15.6.0","react":"^16.0.0","react-dom":"^16.0.0","redux-actions":"^2.2.1","reselect":"^3.0.1","style-loader":"^0.19.0","webpack":"^3.7.1","webpack-dev-server":"^2.9.1"},"gitHead":"3fe0cbc6e6cc258e0ac032a318fd472b9778e147","_id":"@bandwidth/redux-facet@0.1.3","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"a-type","email":"gaforres@gmail.com"},"dist":{"integrity":"sha512-GB1EtC3hGBJzpZdwGJI5eo69/3gHuRCGOmO08VygJ3jS6Cx4gZJCWvFXUYIyoHzT3y1LFWLaYUypudBQcaq+AA==","shasum":"98eee7eb0f58be74795e75738094c6368621d1cf","tarball":"https://registry.npmjs.org/@bandwidth/redux-facet/-/redux-facet-0.1.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAqhvuEjNkUXg/bin8yqWoCjN9vzDiPaK/CG4kVPwX7BAiEAsP3k44xmd9RotakFJV6imYB/hXjO/m+4+BxjWsfpT5I="}]},"maintainers":[{"email":"belchikovs@gmail.com","name":"avb"},{"email":"dtolb.me@gmail.com","name":"dtolb"},{"email":"gaforres@gmail.com","name":"a-type"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-facet-0.1.3.tgz_1509135109916_0.6794112685602158"},"directories":{}},"0.1.4":{"name":"@bandwidth/redux-facet","version":"0.1.4","description":"## Purpose","main":"./dist/index.js","files":["README.md","dist","immutable.js"],"npmName":"@bandwidth/redux-facet","npmFileMap":[{"basePath":"/dist/","files":["*.js"]}],"scripts":{"test":"echo \"Error: no test specified\" && exit 1","example":"node ./example/webpack.devserver.js","build":"babel src --out-dir dist","prepublish":"npm run build","precommit":"lint-staged"},"lint-staged":{"*.js":["prettier --single-quote --trailing-comma all --write \"{src,example,__tests__}/**/*.js\"","git add"]},"author":"","license":"ISC","dependencies":{"immutable":"^3.8.2","lodash":"^4.17.4","react-redux":"^5.0.6","redux":"^3.7.2","redux-immutable":"^4.0.0","redux-saga":"^0.15.6"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-preset-es2017":"^6.24.1","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","css-loader":"^0.28.7","file-loader":"^1.1.5","html-webpack-plugin":"^2.30.1","husky":"^0.14.3","lint-staged":"^4.3.0","prettier":"^1.7.4","prop-types":"^15.6.0","react":"^16.0.0","react-dom":"^16.0.0","redux-actions":"^2.2.1","reselect":"^3.0.1","style-loader":"^0.19.0","webpack":"^3.7.1","webpack-dev-server":"^2.9.1"},"gitHead":"961877607dfaf33f2da2b13035d46da52ce02f7b","_id":"@bandwidth/redux-facet@0.1.4","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"a-type","email":"gaforres@gmail.com"},"dist":{"integrity":"sha512-NJS3Z4b9t7pz/+Ne3xdrgHqRjtm4IntU9Jh7LUC18nXhv30zOo3Hi0S6CgNhkKn6Q3vyS6u6JieolshfnT3n5g==","shasum":"c0759befdfb1ca159cf44ea1d06711996007bee6","tarball":"https://registry.npmjs.org/@bandwidth/redux-facet/-/redux-facet-0.1.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCxQyA/2LA6oQJMjRnHCeSKVKPivF+SyOEQPjiSDzZS9wIgXPNVe61FbK9WBzYyoEhdOpv8HH50J/Qhgg3AGMwfw6w="}]},"maintainers":[{"email":"belchikovs@gmail.com","name":"avb"},{"email":"dtolb.me@gmail.com","name":"dtolb"},{"email":"gaforres@gmail.com","name":"a-type"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-facet-0.1.4.tgz_1509135379939_0.7022742878179997"},"directories":{}},"0.2.0":{"name":"@bandwidth/redux-facet","version":"0.2.0","description":"## Purpose","main":"./dist/index.js","files":["README.md","dist","immutable.js"],"npmName":"@bandwidth/redux-facet","npmFileMap":[{"basePath":"/dist/","files":["*.js"]}],"scripts":{"test":"echo \"Error: no test specified\" && exit 1","example":"node ./example/webpack.devserver.js","build":"babel src --out-dir dist","prepublish":"npm run build","precommit":"lint-staged"},"lint-staged":{"*.js":["prettier --single-quote --trailing-comma all --write \"{src,example,__tests__}/**/*.js\"","git add"]},"author":"","license":"ISC","dependencies":{"immutable":"^3.8.2","lodash":"^4.17.4","react-redux":"^5.0.6","redux":"^3.7.2","redux-immutable":"^4.0.0","redux-saga":"^0.15.6"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-preset-es2017":"^6.24.1","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","css-loader":"^0.28.7","file-loader":"^1.1.5","html-webpack-plugin":"^2.30.1","husky":"^0.14.3","lint-staged":"^4.3.0","prettier":"^1.7.4","prop-types":"^15.6.0","react":"^16.0.0","react-dom":"^16.0.0","redux-actions":"^2.2.1","reselect":"^3.0.1","style-loader":"^0.19.0","tinycolor2":"^1.4.1","webpack":"^3.7.1","webpack-dev-server":"^2.9.1"},"gitHead":"3904df68ba43a89f096f3413c48e467794996f35","_id":"@bandwidth/redux-facet@0.2.0","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"a-type","email":"gaforres@gmail.com"},"dist":{"integrity":"sha512-TOWMr3Gz86YH+cpJTxAcBH1BUl8Ue7vauVJcNxzYFXRwuO/EU3HZdVn2f3deymIN9sbyaHpV/Nl+glPuBnEqjQ==","shasum":"c478165b047fe2d9ae113adfb57418f3f7da581f","tarball":"https://registry.npmjs.org/@bandwidth/redux-facet/-/redux-facet-0.2.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDw6b+Lj+PmilZ0z+Uf167ivAMKz/gPN30BGgKPfAanqgIgCEeqp9fJM3gHd5EHaPmrXIcMgXUsNcqJG8vjOuo673k="}]},"maintainers":[{"email":"belchikovs@gmail.com","name":"avb"},{"email":"dtolb.me@gmail.com","name":"dtolb"},{"email":"gaforres@gmail.com","name":"a-type"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-facet-0.2.0.tgz_1509371938541_0.6695958231575787"},"directories":{}},"0.2.1":{"name":"@bandwidth/redux-facet","version":"0.2.1","description":"## Purpose","main":"./dist/index.js","files":["README.md","dist","immutable.js"],"npmName":"@bandwidth/redux-facet","npmFileMap":[{"basePath":"/dist/","files":["*.js"]}],"scripts":{"test":"echo \"Error: no test specified\" && exit 1","example":"node ./example/webpack.devserver.js","build":"babel src --out-dir dist","prepublish":"npm run build","precommit":"lint-staged"},"lint-staged":{"*.js":["prettier --single-quote --trailing-comma all --write \"{src,example,__tests__}/**/*.js\"","git add"]},"author":"","license":"ISC","dependencies":{"immutable":"^3.8.2","lodash":"^4.17.4","react-redux":"^5.0.6","redux":"^3.7.2","redux-immutable":"^4.0.0","redux-saga":"^0.15.6"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","css-loader":"^0.28.7","file-loader":"^1.1.5","html-webpack-plugin":"^2.30.1","husky":"^0.14.3","lint-staged":"^4.3.0","prettier":"^1.7.4","prop-types":"^15.6.0","react":"^16.0.0","react-dom":"^16.0.0","redux-actions":"^2.2.1","reselect":"^3.0.1","style-loader":"^0.19.0","tinycolor2":"^1.4.1","webpack":"^3.7.1","webpack-dev-server":"^2.9.1"},"gitHead":"4e64ca59f0c73911b0c4210f008cb62053015994","_id":"@bandwidth/redux-facet@0.2.1","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"a-type","email":"gaforres@gmail.com"},"dist":{"integrity":"sha512-2ZembfODDwfV2jxYlzwPls6I85oM5ymHy+OKmEbbDV3iUdkGHI2RATUVdUcRtXALDC4Op8EDZRLPI75Pq/aq8A==","shasum":"3a6c8c2957c312cc43826320d4eea1f3ef9d0dae","tarball":"https://registry.npmjs.org/@bandwidth/redux-facet/-/redux-facet-0.2.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBBdYgbwCZc8pDvP6O41rLevshv1b+mr6LGkkvLrlzFqAiB0SEXTldDXOc+vf0jqF6kx2TmGvormO0fTwNjHYKwyfg=="}]},"maintainers":[{"email":"belchikovs@gmail.com","name":"avb"},{"email":"dtolb.me@gmail.com","name":"dtolb"},{"email":"gaforres@gmail.com","name":"a-type"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-facet-0.2.1.tgz_1509718532910_0.0481648629065603"},"directories":{}},"0.2.2":{"name":"@bandwidth/redux-facet","version":"0.2.2","description":"## Purpose","main":"./dist/index.js","files":["README.md","dist","immutable.js"],"npmName":"@bandwidth/redux-facet","npmFileMap":[{"basePath":"/dist/","files":["*.js"]}],"scripts":{"test":"echo \"Error: no test specified\" && exit 1","example":"node ./example/webpack.devserver.js","build":"babel src --out-dir dist","prepublish":"npm run build","precommit":"lint-staged"},"lint-staged":{"*.js":["prettier --single-quote --trailing-comma all --write \"{src,example,__tests__}/**/*.js\"","git add"]},"author":"","license":"ISC","dependencies":{"immutable":"^3.8.2","lodash":"^4.17.4","react-redux":"^5.0.6","redux":"^3.7.2","redux-immutable":"^4.0.0","redux-saga":"^0.15.6"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","css-loader":"^0.28.7","file-loader":"^1.1.5","html-webpack-plugin":"^2.30.1","husky":"^0.14.3","lint-staged":"^4.3.0","prettier":"^1.7.4","prop-types":"^15.6.0","react":"^16.0.0","react-dom":"^16.0.0","redux-actions":"^2.2.1","reselect":"^3.0.1","style-loader":"^0.19.0","tinycolor2":"^1.4.1","webpack":"^3.7.1","webpack-dev-server":"^2.9.1"},"gitHead":"826dbbae413addc47d804f5c6faae86918d618b3","_id":"@bandwidth/redux-facet@0.2.2","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"a-type","email":"gaforres@gmail.com"},"dist":{"integrity":"sha512-TzJv1ZAbTv8yXGfI1tz122BcyNA78i9KHBGBZm07Pe65HOzzH/RHEUG+Y0Px/yxhnW2MbuHMP9BLAem0ORZsJg==","shasum":"f539d06777304e6df62ceee901b28c251dc09af6","tarball":"https://registry.npmjs.org/@bandwidth/redux-facet/-/redux-facet-0.2.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD65D5xIQEq/wdImmakGrKdosBnvUQ8nuZVvTt0KWW7EQIhAJtkzYcYDT3EHj6Ls2FhFgy9wJPdJbhfE6M7Nir5A9S+"}]},"maintainers":[{"email":"belchikovs@gmail.com","name":"avb"},{"email":"dtolb.me@gmail.com","name":"dtolb"},{"email":"gaforres@gmail.com","name":"a-type"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-facet-0.2.2.tgz_1510245821447_0.91973248985596"},"directories":{}},"0.2.3":{"name":"@bandwidth/redux-facet","version":"0.2.3","description":"## Purpose","main":"./dist/index.js","files":["README.md","dist","immutable.js"],"npmName":"@bandwidth/redux-facet","npmFileMap":[{"basePath":"/dist/","files":["*.js"]}],"scripts":{"test":"echo \"Error: no test specified\" && exit 1","example":"node ./example/webpack.devserver.js","build":"babel src --out-dir dist","prepublish":"npm run build","precommit":"lint-staged"},"lint-staged":{"*.js":["prettier --single-quote --trailing-comma all --write \"{src,example,__tests__}/**/*.js\"","git add"]},"author":"","license":"ISC","dependencies":{"immutable":"^3.8.2","lodash":"^4.17.4","react-redux":"^5.0.6","redux":"^3.7.2","redux-immutable":"^4.0.0","redux-saga":"^0.15.6"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","css-loader":"^0.28.7","file-loader":"^1.1.5","html-webpack-plugin":"^2.30.1","husky":"^0.14.3","lint-staged":"^4.3.0","prettier":"^1.7.4","prop-types":"^15.6.0","react":"^16.0.0","react-dom":"^16.0.0","redux-actions":"^2.2.1","reselect":"^3.0.1","style-loader":"^0.19.0","tinycolor2":"^1.4.1","webpack":"^3.7.1","webpack-dev-server":"^2.9.1"},"gitHead":"58bec4787f5d92bf0bc5dc735a293e55dc24bdc5","_id":"@bandwidth/redux-facet@0.2.3","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"a-type","email":"gaforres@gmail.com"},"dist":{"integrity":"sha512-Jr1DO0C1f4twIIeAyU4l6qvbFUD2yO8N6efefwwVdahmTVliqjUki0+Wf+UddMxXxN1Fv6+B/It1arrorQiUXg==","shasum":"cabf01a0267d9764fde913d090acaf6375b2e7a3","tarball":"https://registry.npmjs.org/@bandwidth/redux-facet/-/redux-facet-0.2.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDGZ9pMNpzjG+jVl0Kx1LyyqYDg/2AY1p4Kxct4Qbgf2QIhAPlWdGxyHHqrB7KQFhm+IdxYS7gsZ+eIqzSqPn6ljA+i"}]},"maintainers":[{"email":"belchikovs@gmail.com","name":"avb"},{"email":"dtolb.me@gmail.com","name":"dtolb"},{"email":"gaforres@gmail.com","name":"a-type"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-facet-0.2.3.tgz_1510246782117_0.9739174540154636"},"directories":{}},"0.2.4":{"name":"@bandwidth/redux-facet","version":"0.2.4","description":"## Purpose","main":"./dist/index.js","files":["README.md","dist","immutable.js"],"npmName":"@bandwidth/redux-facet","npmFileMap":[{"basePath":"/dist/","files":["*.js"]}],"scripts":{"test":"echo \"Error: no test specified\" && exit 1","example":"node ./example/webpack.devserver.js","build":"babel src --out-dir dist","prepublish":"npm run build","precommit":"lint-staged"},"lint-staged":{"*.js":["prettier --single-quote --trailing-comma all --write \"{src,example,__tests__}/**/*.js\"","git add"]},"author":"","license":"ISC","dependencies":{"immutable":"^3.8.2","lodash":"^4.17.4","react-redux":"^5.0.6","redux":"^3.7.2","redux-immutable":"^4.0.0","redux-saga":"^0.15.6"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","css-loader":"^0.28.7","file-loader":"^1.1.5","html-webpack-plugin":"^2.30.1","husky":"^0.14.3","lint-staged":"^4.3.0","prettier":"^1.7.4","prop-types":"^15.6.0","react":"^16.0.0","react-dom":"^16.0.0","redux-actions":"^2.2.1","reselect":"^3.0.1","style-loader":"^0.19.0","tinycolor2":"^1.4.1","webpack":"^3.7.1","webpack-dev-server":"^2.9.1"},"gitHead":"7a1ad536bbcb7154f22797a7ae97df2b3c20361b","_id":"@bandwidth/redux-facet@0.2.4","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"a-type","email":"gaforres@gmail.com"},"dist":{"integrity":"sha512-JOPLSOIKLr6jyiG1FVqF/GuXM4+KTtG696vPAIDH2aL5yOu10MlDGuYnpMi2rrYRvWMwtW/YAVrZ+WmF5Ksztw==","shasum":"a5473acb75b7bcfad8c6a73330d9819d7c3b6b24","tarball":"https://registry.npmjs.org/@bandwidth/redux-facet/-/redux-facet-0.2.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFlFa5Yl+01oIEC6Q+DcKVv2Mi4uK48U1xT9f/b1CCNRAiEAroFnly11JWqs6S41m8yNqbnR6jzTMHaarXSCi+BvJeU="}]},"maintainers":[{"email":"belchikovs@gmail.com","name":"avb"},{"email":"dtolb.me@gmail.com","name":"dtolb"},{"email":"gaforres@gmail.com","name":"a-type"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-facet-0.2.4.tgz_1511289579623_0.35943232174031436"},"directories":{}},"0.3.0":{"name":"@bandwidth/redux-facet","version":"0.3.0","description":"## Purpose","main":"./dist/index.js","files":["README.md","dist","immutable.js"],"npmName":"@bandwidth/redux-facet","npmFileMap":[{"basePath":"/dist/","files":["*.js"]}],"scripts":{"test":"jest --coverage","example":"node ./example/webpack.devserver.js","build":"babel src --out-dir dist","prepublish":"npm run build","precommit":"lint-staged"},"lint-staged":{"*.js":["prettier --single-quote --trailing-comma all --write \"{src,example,__tests__}/**/*.js\"","git add"]},"author":"","license":"ISC","dependencies":{"immutable":"^3.8.2","lodash":"^4.17.4","react-redux":"^5.0.6","redux":"^3.7.2","redux-immutable":"^4.0.0","redux-saga":"^0.15.6"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-jest":"^21.2.0","babel-loader":"^7.1.2","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","css-loader":"^0.28.7","file-loader":"^1.1.5","html-webpack-plugin":"^2.30.1","husky":"^0.14.3","jest":"^21.2.1","jest-cli":"^21.2.1","jest-diff":"^21.2.1","lint-staged":"^4.3.0","prettier":"^1.7.4","prop-types":"^15.6.0","react":"^16.0.0","react-dom":"^16.0.0","redux-actions":"^2.2.1","reselect":"^3.0.1","style-loader":"^0.19.0","tinycolor2":"^1.4.1","webpack":"^3.7.1","webpack-dev-server":"^2.9.1"},"gitHead":"0c238cd75816978053d3a33d3a1eecbd1723f31b","_id":"@bandwidth/redux-facet@0.3.0","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"a-type","email":"gaforres@gmail.com"},"dist":{"integrity":"sha512-rZBQvGHaySSuTzpYiM69Jo+g/zewtd+4waLhcMoOYEIw5PkboA9ixqbj7S2hXLVA3G6VqmDsgCHgaHJ0mcuaDQ==","shasum":"4f981e367694004e661c9f04b6c522719834609e","tarball":"https://registry.npmjs.org/@bandwidth/redux-facet/-/redux-facet-0.3.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID/rJa8l1Ss2COk1nKx50Wkr0SOBDNiAkxFh0TcAUYs6AiEAsY2SxHhSuhVqSuUk/kx/VeQbwfjfNBAGjwlVifKR7ZA="}]},"maintainers":[{"email":"belchikovs@gmail.com","name":"avb"},{"email":"dtolb.me@gmail.com","name":"dtolb"},{"email":"gaforres@gmail.com","name":"a-type"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-facet-0.3.0.tgz_1511296798557_0.9830429465509951"},"directories":{}},"0.3.1":{"name":"@bandwidth/redux-facet","version":"0.3.1","description":"## Purpose","main":"./dist/index.js","files":["README.md","dist","immutable.js"],"npmName":"@bandwidth/redux-facet","npmFileMap":[{"basePath":"/dist/","files":["*.js"]}],"scripts":{"test":"jest --coverage","example":"node ./example/webpack.devserver.js","build":"babel src --out-dir dist","prepublish":"npm run build","precommit":"lint-staged"},"lint-staged":{"*.js":["prettier --single-quote --trailing-comma all --write \"{src,example,__tests__}/**/*.js\"","git add"]},"author":"","license":"ISC","dependencies":{"immutable":"^3.8.2","lodash":"^4.17.4","react-redux":"^5.0.6","redux":"^3.7.2","redux-immutable":"^4.0.0","redux-saga":"^0.15.6"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-jest":"^21.2.0","babel-loader":"^7.1.2","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","css-loader":"^0.28.7","file-loader":"^1.1.5","html-webpack-plugin":"^2.30.1","husky":"^0.14.3","jest":"^21.2.1","jest-cli":"^21.2.1","jest-diff":"^21.2.1","lint-staged":"^4.3.0","prettier":"^1.7.4","prop-types":"^15.6.0","react":"^16.0.0","react-dom":"^16.0.0","redux-actions":"^2.2.1","reselect":"^3.0.1","style-loader":"^0.19.0","tinycolor2":"^1.4.1","webpack":"^3.7.1","webpack-dev-server":"^2.9.1"},"gitHead":"45b8ca1228d5b9eb765e8b87bfd5627922d6cc7c","_id":"@bandwidth/redux-facet@0.3.1","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"a-type","email":"gaforres@gmail.com"},"dist":{"integrity":"sha512-E1ZchWrWa0DI57NKEqCowC+d472e7/uq+QwhZRdYZxJJlaFGDW7DXd4BIWDp7CAGAjEB9uxkGxtbDP1uuAIvEA==","shasum":"0cd324553c78c7822fdf19ddc48c4d67717a8e0a","tarball":"https://registry.npmjs.org/@bandwidth/redux-facet/-/redux-facet-0.3.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBsI6ow3huw776NdhLA708IfUZoFVWjQc3Safl732XaBAiEAi9KnM+6uUoFf/m3usuY+scUeAXE/LhsKZrrCrWzvvbs="}]},"maintainers":[{"email":"belchikovs@gmail.com","name":"avb"},{"email":"dtolb.me@gmail.com","name":"dtolb"},{"email":"gaforres@gmail.com","name":"a-type"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-facet-0.3.1.tgz_1511299370634_0.10729314805939794"},"directories":{}},"0.3.2":{"name":"@bandwidth/redux-facet","version":"0.3.2","description":"## Purpose","main":"./dist/index.js","files":["README.md","dist","immutable.js"],"npmName":"@bandwidth/redux-facet","npmFileMap":[{"basePath":"/dist/","files":["*.js"]}],"scripts":{"test":"jest --coverage","example":"node ./example/webpack.devserver.js","build":"babel src --out-dir dist","prepublish":"npm run build","precommit":"lint-staged"},"lint-staged":{"*.js":["prettier --single-quote --trailing-comma all --write \"{src,example,__tests__}/**/*.js\"","git add"]},"author":"","license":"ISC","dependencies":{"immutable":"^3.8.2","lodash":"^4.17.4","react-redux":"^5.0.6","redux":"^3.7.2","redux-immutable":"^4.0.0","redux-saga":"^0.15.6"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-jest":"^21.2.0","babel-loader":"^7.1.2","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","css-loader":"^0.28.7","file-loader":"^1.1.5","html-webpack-plugin":"^2.30.1","husky":"^0.14.3","jest":"^21.2.1","jest-cli":"^21.2.1","jest-diff":"^21.2.1","lint-staged":"^4.3.0","prettier":"^1.7.4","prop-types":"^15.6.0","react":"^16.0.0","react-dom":"^16.0.0","redux-actions":"^2.2.1","reselect":"^3.0.1","style-loader":"^0.19.0","tinycolor2":"^1.4.1","webpack":"^3.7.1","webpack-dev-server":"^2.9.1"},"gitHead":"1b2876ce7ebd25ce73ec5b0ce56d5518c4a4a595","_id":"@bandwidth/redux-facet@0.3.2","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"a-type","email":"gaforres@gmail.com"},"dist":{"integrity":"sha512-hzE+9yF7YUO70L22YV3JfRF0f23IRoxBbjhvlaCsTU8AwhCgIboZY+/Mj6afx4ZmcQP6RuQnyx5T2tIuQmAkqQ==","shasum":"67b29d1780b65528032fcdd747dbb38d3629192e","tarball":"https://registry.npmjs.org/@bandwidth/redux-facet/-/redux-facet-0.3.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC1FdnVMKM5HkFAEwPmwr6n82vO6NSrr6Nrit4TX/fs4AiAel3DBQFb/2zu6aJ1THqGAg9H7Z2mg8w207uLqy8NDFg=="}]},"maintainers":[{"email":"belchikovs@gmail.com","name":"avb"},{"email":"dtolb.me@gmail.com","name":"dtolb"},{"email":"gaforres@gmail.com","name":"a-type"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-facet-0.3.2.tgz_1511808000459_0.6894603834953159"},"directories":{}},"0.3.3":{"name":"@bandwidth/redux-facet","version":"0.3.3","description":"## Purpose","main":"./dist/index.js","files":["README.md","dist","immutable.js"],"npmName":"@bandwidth/redux-facet","npmFileMap":[{"basePath":"/dist/","files":["*.js"]}],"scripts":{"test":"jest --coverage","example":"node ./example/webpack.devserver.js","build":"babel src --out-dir dist","prepublish":"npm run build","precommit":"lint-staged"},"lint-staged":{"*.js":["prettier --single-quote --trailing-comma all --write \"{src,example,__tests__}/**/*.js\"","git add"]},"author":"","license":"ISC","dependencies":{"immutable":"^3.8.2","lodash":"^4.17.4","react-redux":"^5.0.6","redux":"^3.7.2","redux-immutable":"^4.0.0","redux-saga":"^0.15.6"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-jest":"^21.2.0","babel-loader":"^7.1.2","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","css-loader":"^0.28.7","file-loader":"^1.1.5","html-webpack-plugin":"^2.30.1","husky":"^0.14.3","jest":"^21.2.1","jest-cli":"^21.2.1","jest-diff":"^21.2.1","lint-staged":"^4.3.0","prettier":"^1.7.4","prop-types":"^15.6.0","react":"^16.0.0","react-dom":"^16.0.0","redux-actions":"^2.2.1","reselect":"^3.0.1","style-loader":"^0.19.0","tinycolor2":"^1.4.1","webpack":"^3.7.1","webpack-dev-server":"^2.9.1"},"gitHead":"46c606af87e2d0c33eb43378915fb1e375c96ac3","_id":"@bandwidth/redux-facet@0.3.3","_shasum":"6bb3ee6953e7cc2c727d1dc832c1d0defee39309","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.2","_npmUser":{"name":"a-type","email":"gaforres@gmail.com"},"dist":{"shasum":"6bb3ee6953e7cc2c727d1dc832c1d0defee39309","tarball":"https://registry.npmjs.org/@bandwidth/redux-facet/-/redux-facet-0.3.3.tgz","integrity":"sha512-VxoTJfdofD1tNDOZ1xfLQ3WtQA0Az9c/8VvACG5o4Aye3c4a2S7Yn9fIM2n08o/K3YyeUcwGI2dPQHs6WsYQLw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFlACKxFYgT8MlOqEYM1YZ0T7Lnp00v/7F5/XENME/OYAiArew3D+z5Z9hiCf4akUh+Yk/4sv6hMnbYRNiwpIAnBRw=="}]},"maintainers":[{"email":"belchikovs@gmail.com","name":"avb"},{"email":"dtolb.me@gmail.com","name":"dtolb"},{"email":"gaforres@gmail.com","name":"a-type"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-facet-0.3.3.tgz_1512153573890_0.5820258907042444"},"directories":{}},"1.0.0-beta1":{"name":"@bandwidth/redux-facet","version":"1.0.0-beta1","description":"## Purpose","main":"./dist/index.js","files":["README.md","dist","immutable.js"],"npmName":"@bandwidth/redux-facet","npmFileMap":[{"basePath":"/dist/","files":["*.js"]}],"scripts":{"test":"jest --coverage","example":"node ./example/webpack.devserver.js","build":"babel src --out-dir dist","prepublish":"npm run build","precommit":"lint-staged"},"lint-staged":{"*.js":["prettier --single-quote --trailing-comma all --write \"{src,example,__tests__}/**/*.js\"","git add"]},"author":"","license":"ISC","dependencies":{"immutable":"^3.8.2","lodash":"^4.17.4","react-redux":"^5.0.6","recompose":"^0.26.0","redux":"^3.7.2","redux-immutable":"^4.0.0","redux-saga":"^0.15.6"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-jest":"^21.2.0","babel-loader":"^7.1.2","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","css-loader":"^0.28.7","file-loader":"^1.1.5","html-webpack-plugin":"^2.30.1","husky":"^0.14.3","jest":"^21.2.1","jest-cli":"^21.2.1","jest-diff":"^21.2.1","lint-staged":"^4.3.0","prettier":"^1.7.4","prop-types":"^15.6.0","react":"^16.0.0","react-dom":"^16.0.0","redux-actions":"^2.2.1","reselect":"^3.0.1","style-loader":"^0.19.0","tinycolor2":"^1.4.1","webpack":"^3.7.1","webpack-dev-server":"^2.9.1"},"gitHead":"6ddd474f18f48608f9cd32b59cbdce5d13957633","_id":"@bandwidth/redux-facet@1.0.0-beta1","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"a-type","email":"gaforres@gmail.com"},"dist":{"integrity":"sha512-4umDbI61ZVLAk7aYNuRZOhyMLI4QAgoHR/ZbICQUkJne4Sod9Nh7fAh6vGjnHBzRC8otTXB2ar5i3JF8f5XneA==","shasum":"7cbc820a3242881137cc826bcd440bc288a39c21","tarball":"https://registry.npmjs.org/@bandwidth/redux-facet/-/redux-facet-1.0.0-beta1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGBe/PXnZhIsqL1+cagPqYxJiUx9iVh3olj+WQH2ZdNlAiBP4hITbO+QR1FPEXxTxj4sD1YsOzCciAfdPHV4tyV9sw=="}]},"maintainers":[{"email":"belchikovs@gmail.com","name":"avb"},{"email":"dtolb.me@gmail.com","name":"dtolb"},{"email":"gaforres@gmail.com","name":"a-type"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-facet-1.0.0-beta1.tgz_1512678161802_0.7647007459308952"},"directories":{}},"1.0.0-beta2":{"name":"@bandwidth/redux-facet","version":"1.0.0-beta2","description":"## Purpose","main":"./dist/index.js","files":["README.md","dist","immutable.js"],"npmName":"@bandwidth/redux-facet","npmFileMap":[{"basePath":"/dist/","files":["*.js"]}],"scripts":{"test":"jest --coverage","example":"node ./example/webpack.devserver.js","build":"babel src --out-dir dist","prepublish":"npm run build","precommit":"lint-staged"},"lint-staged":{"*.js":["prettier --single-quote --trailing-comma all --write \"{src,example,__tests__}/**/*.js\"","git add"]},"author":"","license":"ISC","dependencies":{"immutable":"^3.8.2","lodash":"^4.17.4","react-redux":"^5.0.6","recompose":"^0.26.0","redux":"^3.7.2","redux-immutable":"^4.0.0","redux-saga":"^0.15.6"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-jest":"^21.2.0","babel-loader":"^7.1.2","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","css-loader":"^0.28.7","file-loader":"^1.1.5","html-webpack-plugin":"^2.30.1","husky":"^0.14.3","jest":"^21.2.1","jest-cli":"^21.2.1","jest-diff":"^21.2.1","lint-staged":"^4.3.0","prettier":"^1.7.4","prop-types":"^15.6.0","react":"^16.0.0","react-dom":"^16.0.0","redux-actions":"^2.2.1","reselect":"^3.0.1","style-loader":"^0.19.0","tinycolor2":"^1.4.1","webpack":"^3.7.1","webpack-dev-server":"^2.9.1"},"gitHead":"b7482504b0699ba958418dbf7c0e8d2046384921","_id":"@bandwidth/redux-facet@1.0.0-beta2","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"a-type","email":"gaforres@gmail.com"},"dist":{"integrity":"sha512-RFDrXbdXupVSkI9CvD713WVLQKCisBPGG6apSuc2Ij76q6BV9X9ihFfbaR0amgKSzLp8iAWfI29a9ZMVG31iUw==","shasum":"dc42a0389431f3ab94d261d077b3679bf0bb9753","tarball":"https://registry.npmjs.org/@bandwidth/redux-facet/-/redux-facet-1.0.0-beta2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDtNVT7xo5cQzSaUxfuznTC5NcNkqgTA8QFQ/VDZtizFAIhALPVmFXBGAtpoa6hXcecPAZ9vv86ChYyH/zxAzI+T6a+"}]},"maintainers":[{"email":"belchikovs@gmail.com","name":"avb"},{"email":"dtolb.me@gmail.com","name":"dtolb"},{"email":"gaforres@gmail.com","name":"a-type"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-facet-1.0.0-beta2.tgz_1512681602744_0.8735486818477511"},"directories":{}},"1.0.0-beta3":{"name":"@bandwidth/redux-facet","version":"1.0.0-beta3","description":"## Purpose","main":"./dist/index.js","files":["README.md","dist","immutable.js"],"npmName":"@bandwidth/redux-facet","npmFileMap":[{"basePath":"/dist/","files":["*.js"]}],"scripts":{"test":"jest --coverage","example":"node ./example/webpack.devserver.js","build":"babel src --out-dir dist","prepublish":"npm run build","precommit":"lint-staged"},"lint-staged":{"*.js":["prettier --single-quote --trailing-comma all --write \"{src,example,__tests__}/**/*.js\"","git add"]},"author":"","license":"ISC","dependencies":{"immutable":"^3.8.2","lodash":"^4.17.4","react-redux":"^5.0.6","recompose":"^0.26.0","redux":"^3.7.2","redux-immutable":"^4.0.0","redux-saga":"^0.15.6"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-jest":"^21.2.0","babel-loader":"^7.1.2","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","css-loader":"^0.28.7","file-loader":"^1.1.5","html-webpack-plugin":"^2.30.1","husky":"^0.14.3","jest":"^21.2.1","jest-cli":"^21.2.1","jest-diff":"^21.2.1","lint-staged":"^4.3.0","prettier":"^1.7.4","prop-types":"^15.6.0","react":"^16.0.0","react-dom":"^16.0.0","redux-actions":"^2.2.1","reselect":"^3.0.1","style-loader":"^0.19.0","tinycolor2":"^1.4.1","webpack":"^3.7.1","webpack-dev-server":"^2.9.1"},"gitHead":"d1d2e32e131d51fbde43cba5f0391c1c1879f873","_id":"@bandwidth/redux-facet@1.0.0-beta3","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"a-type","email":"gaforres@gmail.com"},"dist":{"integrity":"sha512-CbXuGrf6W7KegZhNZm3LqAw5AsWR4F+ocCV1cmeNMR8zkihZg0e//Npq12LiUO1tyeh5tMzDzC/GzsmeRj32rA==","shasum":"3108f09ff99f520f406224b03e35be4753788b44","tarball":"https://registry.npmjs.org/@bandwidth/redux-facet/-/redux-facet-1.0.0-beta3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDwrKvG21MqsxKdBc4Foa515KltPPtY1FmJ6zpC9h981wIhAJ9cLyYby54/7tHuPkWy+22kQ6ManqXeClJmYNkSehkx"}]},"maintainers":[{"email":"belchikovs@gmail.com","name":"avb"},{"email":"dtolb.me@gmail.com","name":"dtolb"},{"email":"gaforres@gmail.com","name":"a-type"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-facet-1.0.0-beta3.tgz_1512683871411_0.24712801189161837"},"directories":{}},"1.0.0":{"name":"@bandwidth/redux-facet","version":"1.0.0","description":"## Purpose","main":"./dist/index.js","files":["README.md","dist","immutable.js"],"npmName":"@bandwidth/redux-facet","npmFileMap":[{"basePath":"/dist/","files":["*.js"]}],"scripts":{"test":"jest --coverage","example":"node ./example/webpack.devserver.js","build":"babel src --out-dir dist","prepublish":"npm run build","precommit":"lint-staged"},"lint-staged":{"*.js":["prettier --single-quote --trailing-comma all --write \"{src,example,__tests__}/**/*.js\"","git add"]},"author":"","license":"ISC","dependencies":{"immutable":"^3.8.2","lodash":"^4.17.4","react-redux":"^5.0.6","recompose":"^0.26.0","redux":"^3.7.2","redux-immutable":"^4.0.0","redux-saga":"^0.15.6"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-jest":"^21.2.0","babel-loader":"^7.1.2","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","css-loader":"^0.28.7","file-loader":"^1.1.5","html-webpack-plugin":"^2.30.1","husky":"^0.14.3","jest":"^21.2.1","jest-cli":"^21.2.1","jest-diff":"^21.2.1","lint-staged":"^4.3.0","prettier":"^1.7.4","prop-types":"^15.6.0","react":"^16.0.0","react-dom":"^16.0.0","redux-actions":"^2.2.1","reselect":"^3.0.1","style-loader":"^0.19.0","tinycolor2":"^1.4.1","webpack":"^3.7.1","webpack-dev-server":"^2.9.1"},"gitHead":"3ea6bd0d57c2fb3ac1dc2014ff360f69e5021269","_id":"@bandwidth/redux-facet@1.0.0","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"a-type","email":"gaforres@gmail.com"},"dist":{"integrity":"sha512-Uc2Ao5Q3jo3tqWhBK9ni//aUFOWobfn/FoDQryzJ74IM1rZNLMRf8u9Rp32fI8ia6j/l2EayQH2fAiWdS6zOpw==","shasum":"b042154c6211a0774843c217cf21c6a4c88a8795","tarball":"https://registry.npmjs.org/@bandwidth/redux-facet/-/redux-facet-1.0.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHnYLSFpNQiCTEYLe7hsK2xmxFqnSeOEuqZjfKTtDWY6AiEA4WA3Jklpx14kbKgkqRcPJI+qx9YoVZKeFJpYzUVrOcY="}]},"maintainers":[{"email":"belchikovs@gmail.com","name":"avb"},{"email":"dtolb.me@gmail.com","name":"dtolb"},{"email":"gaforres@gmail.com","name":"a-type"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redux-facet-1.0.0.tgz_1512686667063_0.04391744686290622"},"directories":{}}},"readme":"# redux-facet\n\n## Purpose\n\nIn Redux, all actions share the same channel. Creating reusable action creators and reducer behaviors is hard, because you need a method with which to associate different results of those actions with different parts of the application. Without a plan to address this, actions and reducers are often duplicated: `createGlobalAlert`, `createUsersAlert`, `createPostsAlert`, etc...\n\n`redux-facet` aims to build a pattern which makes it easy to write one set of actions and one reducer, then reuse that behavior in various 'facets' of your application.\n\n```javascript\nimport facet, {\n  combineFacetReducers,\n  createStructuredFacetSelector,\n} from '@bandwidth/redux-facet';\nimport { createStore, combineReducers } from 'redux';\nimport { Provider } from 'react-redux';\nimport React from 'react';\nimport ReactDom from 'react-dom';\n\nimport userListReducer from 'reducers/userList';\nimport alertsReducer from 'reducers/common/alerts';\nimport alertsActions from 'actions/common/alerts';\n\n/**\n * Creating the root reducer\n */\nconst reducer = combineReducers({\n  [combineFacetReducers.key]: combineFacetReducers({\n    users: combineReducers({\n      alerts: alertsReducer,\n      list: userListReducer,\n    }),\n    posts: combineReducers({\n      alerts: alertsReducer,\n    }),\n    /* ... other facet reducers */\n  });\n  /* ... other reducers */\n});\n\n/**\n * Creating the store, as usual\n */\nconst store = createStore(reducer, {});\n\n/**\n * Creating views for the data\n */\nconst AlertsView = ({ alerts }) => (\n  <div>\n    {alerts.map(alert => <div>{alert}</div>)}\n  </div>\n);\nconst UsersView = ({ users, alerts, createAlert }) => (\n  <div>\n    <AlertsView alerts={alerts} />\n    <ul>\n      {\n        users.map(\n          user => (\n            <li onClick={() => createAlert(`Clicked ${user.name}`)}>{user.name}</li>\n          )\n        )\n      }\n    </ul>\n  </div>\n);\nconst PostsView = ({ alerts, createAlert }) => (\n  <div>\n    <AlertsView alerts={alerts} />\n    <div>No alerts from users will show up here</div>\n  </div>\n);\n\n/**\n * Selectors designed for use with facets\n */\nconst selectList = facetName => state => state[facetName].list;\nconst selectAlerts = facetName => state => state[facetName].alerts;\n\n/**\n * Using named facet containers instead of default react-redux containers\n */\nconst UsersContainer = facet(\n  'users',\n  createStructuredFacetSelector({ users: selectList, alerts: selectAlerts }),\n  (dispatch) => ({ createAlert: (message) => dispatch(alertsActions.create(message)) }),\n)(UsersView);\n\nconst PostsContainer = facet(\n  'posts',\n  createStructuredFacetSelector({ alerts: selectAlerts }),\n  (dispatch) => ({ createAlert: (message) => dispatch(alertsActions.create(message)) }),\n)(PostsView);\n\n/**\n * Rendering everything\n */\nReactDom.render(\n  <Provider store={store}>\n    <div>\n      <UsersContainer />\n      <PostsContainer />\n    </div>\n  </Provider>\n);\n```\n\nIn the example above, both the `users` and `posts` facets of the application can reuse the same action creators, reducers, and components to manage their alert systems, but the alerts they create will never cross the boundaries between them. `redux-facet` ensures the actions reach the correct reducer, and the state is separated out in the selectors by facet name before reaching the view.\n\n## Immutable.js Support\n\nTo use `redux-facet` with `immutable`, import all modules from `@bandwidth/redux-facet/immutable`. Module names and usages stay the same.\n\n## Documentation\n\n### `facet(facetName: String?, mapFacetDispatchToProps: Function)`\n\nThink of `facet()` kind of like `connect()`, but only for actions. It's a wrapper around `connectAdvanced` which ensures that all actions dispatched by the wrapped component will be tracked with your facet name.\n\nFor an action creator,\n\n```javascript\nconst getUser = (id) => ({\n  type: 'GET_USER',\n  payload: { id },\n});\n```\n\nusing `facet` as follows\n\n```javascript\nfacet(\n  'usersList',\n  (dispatch) => { getUser: (id) => dispatch(getUser(id)) },\n)(Component);\n```\n\nwhen the component calls `getUser(id)`, the resulting action will look like this:\n\n```javascript\n{\n  type: 'GET_USER',\n  payload: { id },\n  meta: { facetName: 'usersList' },\n}\n```\n\nThat's all that `facet()` does!\n\n#### Parameters\n\n`facet` takes two parameters. The first is `facetName`, which is optional. This lets you specify the name of the facet this container is attached to at the container level. If it's omitted, you *must* provide the `facetName` prop to the container.\n\nThe second parameter is `mapFacetDispatchToProps`, a function which, as previously mentioned, is very similar to `mapDispatchToProps` in `connect`. If you omit `facetName`, you can pass this as the first and only parameter.\n\nThough simple, `facet()` allows action creators to be written once and reused anywhere without creating ambiguity of which portion of the app generated the action. When coupled with `facetReducer`, this allows actions to be tracked and associated with specific sections of the Redux state.\n\n### withFacetData(facetName: String?, mapFacetStateToProps: Function)\n\nThe other half of a `connect` container, this higher-order-component lets you retrieve data from a facet's sub-state in your redux store.\n\n`mapFacetStateToProps` will be called with the parameters `(facetState, ownProps, state)`, where `facetState` is the sub-state located at `facets[facetName]`, and `state` is the unfiltered original state.\n\nSimilar to `facet`, you can omit `facetName` and provide it as a prop instead, which would make the only parameter `mapFacetStateToProps`.\n\nThe advantage of using `withFacetData` over `connect` for selecting facet data is that you can write generic selectors which are portable between different named facets.\n\n### facetReducer(facetName: String, reducer: Function)\n\n> Note: for basic usage, be sure to also see `combineFacetReducers` below.\n\nWrap a reducer in `facetReducer` to restrict it to use only actions which were dispatched from the corresponding facet.\n\nNow that only outgoing actions that are tagged with `facet()` will be processed by this reducer, you are free to extract and reuse the business logic of the reducer funciton itself.\n\n```javascript\n// a general reducer that can add and clear alert ids. In this scenario,\n// let's suppose that these ids are referencing a normalized collection\n// of alerts mounted in our global state.\nconst alertReducer = (state, action) => {\n  switch (action.type) {\n    case 'ADD_ALERT':\n      return [\n        ...state,\n        action.payload.alert.id,\n      ];\n    case 'DISMISS_ALERTS':\n      return [];\n  }\n};\n\n// now the alert reducer can be reused for various different parts of the app\nconst rootReducer = combineReducers({\n  facets: combineReducers({\n    users: facetReducer('users', combineReducers({\n      alerts: alertReducer,\n    })),\n    posts: facetReducer('posts', combineReducers({\n      posts: alertReducer,\n    })),\n  }),\n});\n```\n\nUnlike if `alertReducer` had been simply mounted as-is, the `posts` will only process `\"ADD_ALERT\"` events which are related to the `posts` facet. Same with `users`.\n\n#### One Rule: Mount a facet reducer at `facets.<facetName>`\n\nPresently, `redux-facet` expects a reducer which controls the state of a facet to be mounted at the facet's name within a part of the state called `facets`. For instance, in the `rootReducer` above, `users` and `posts` are mounted correctly. `combineFacetReducers` was designed to make this more idiomatic.\n\n### combineFacetReducers(reducerMap: Object)\n\n`combineFacetReducers` is the analogue of `combineReducers`. It has the same usage as the default Redux tool. Simply supply it with a map of reducers, where the key for each reducer is the name of the reducer's facet. `combineFacetReducers` will automatically apply `facetReducer` to your reducers utilizing the key and combine them into one function.\n\nMount the result of `combineFacetReducers` at the key provided as a property of the function as shown below. This ensures that even if `redux-facet` changes the place it expects this reducer to be mounted, your code won't need updating. Presently, the value of the key is simply `'facets'`.\n\n```javascript\nconst rootReducer = combineReducers({\n  [combineFacetReducers.key]: combineFacetReducers({\n    users: userReducer,\n    posts: postReducer,\n  });\n});\n```\n\n### facetSaga(facetName: String, pattern: String|Function, saga: Function)\n\nFor those who use `redux-saga`, this library also provides a wrapper for sagas which will ensure all actions which are dispatched by the saga will mirror the facet of the action which triggers it.\n\nThis helps fulfill the goal of `redux-facet`: to transparently track actions as they move through your application.\n\nIn combination with generic facet behaviors, this becomes a powerful tool for writing reusable code.\n\nFor example, we can write a generic list request handler saga which can also dispatch error messages to the facet which originally requested the list:\n\n```javascript\nconst handleListSaga = function*(action) {\n  try {\n    const response = yield call(api.fetch, action.payload.details);\n    yield put(listActions.listComplete(response));\n  } catch (err) {\n    // this outgoing action will be tagged with the initiating facet,\n    // so we can correlate the alert message with the correct part of the UI\n    // when we render... all without writing any specific logic.\n    yield put(alertActions.create(err.message));\n  }\n};\n\nconst watchList = function*() {\n  yield takeEvery('LIST_REQUESTED', facetSaga(handleListSaga));\n};\n```\n\nTaking this example, let's suppose that two different pages in our application dispatch a `LIST_REQUESTED` action. If the request fails on `pageA`, an error alert action will be dispatched which is tagged with `pageA` as the facet metadata. We can then choose to only render that alert on `pageA`. This pattern helps keep our alert messaging tied closely to the actual point of user interaction and avoids littering our page with global alerts or multiple alerts.\n\nFor more information on alerts specifically, be sure to check out [redux-facet-alerts](https://github.com/Bandwidth/redux-facet-alerts). Of course, this pattern can be applied to any generalized behavior you want to repeat in your application.\n\n### `selectors`\n\n`redux-facet` exports a selector creator to select facet state from the store by name. You can access it by calling `selectors.createFacetStateSelector(facetName)`. Calling the returned function with your store will return the state of that facet in plain JS, even if immutables are used.\n\n### `createStructuredFacetSelector(facetSelectorCreators: Object, normalSelectors?: Object)`\n\nSimilar to `createStructuredSelector` of `reselect`, but instead of selectors, it expects to be passed a map of \"facet selector creators\". A facet selector creator is a function which takes `facetName` as a parameter and returns a selector, like so:\n\n```javascript\nconst fooSelectorCreator = facetName => createSelector(\n  createFacetStateSelector(facetName),\n  state => state.get('foo'),\n);\n```\n\nSuch a function creates a selector which returns state based on the facet name supplied.\n\nIf you need to supply more parameters to your selector creator, you can take it one level deeper by creating a selector creator creator:\n\n```javascript\nconst filteredFooSelectorCreator = filterFunction => facetName => createSelector(\n  createFacetStateSelector(facetName),\n  state => state.get('foo').filter(filterFunction),\n);\n```\n\nOnce you have facet selector creators, supply them to `createStructuredFacetSelector`:\n\n```javascript\nconst mapStateToProps = createStructuredFacetSelector({\n  fooSelectorCreator,\n  filteredFooSelectorCreator(foo => foo.isEnabled),\n});\n```\n\n`createStructuredFacetSelector` will automatically call all selector creator functions you supply with the facet name.\n\nYou can use the second parameter of `createStructuredFacetSelector` to provide a map of typical selectors, just like you would to `createStructuredSelector`.\n\n```javascript\nconst mapStateToProps = createStructuredFacetSelector({\n  fooSelectorCreator,\n  filteredFooSelectorCreator(foo => foo.isEnabled),\n}, {\n  normalState: normalSelectorCreator(someArgument),\n});\n```\n\n### `getFacet(action: Object)`\n\nReturns the facet name which this action has been tagged with.\n\n### `hasFacet(facetName: String) => (action) => true|false`\n\nA 'thunk' which creates a function which takes an action and returns whether or not the action has the specified facet name. Usage: `hasFacet('users')(someAction)`\n\n### `withFacet(facetName: String) => (action) => taggedAction`\n\nA 'thunk' which creates a function which will tag an action with the specified facet name. General usage will probably be to wrap an action creator. For example: `withFacet('users')(createSomeAction(foo, bar))`\n","maintainers":[{"email":"mhamer@bandwidth.com","name":"mhamer-bw"},{"email":"jmulford@bandwidth.com","name":"jmulford-bandwidth"},{"email":"tbowen@bandwidth.com","name":"tbowen"},{"email":"zacklitzsinger@gmail.com","name":"zelitzsi"},{"email":"mike.zarandona@gmail.com","name":"themikez"},{"email":"nguyer@gmail.com","name":"nguyer"},{"email":"dx@bandwidth.com","name":"developerhelp-bandwidth"},{"email":"cejohnson@bandwidth.com","name":"cejohnson-bw"}],"time":{"modified":"2022-06-12T15:02:19.179Z","created":"2017-10-19T14:50:57.755Z","0.1.0":"2017-10-19T14:50:57.755Z","0.1.1":"2017-10-19T18:22:00.297Z","0.1.2":"2017-10-19T18:44:57.415Z","0.1.3":"2017-10-27T20:11:50.853Z","0.1.4":"2017-10-27T20:16:21.001Z","0.2.0":"2017-10-30T13:58:59.629Z","0.2.1":"2017-11-03T14:15:34.073Z","0.2.2":"2017-11-09T16:43:41.547Z","0.2.3":"2017-11-09T16:59:43.162Z","0.2.4":"2017-11-21T18:39:40.612Z","0.3.0":"2017-11-21T20:39:59.624Z","0.3.1":"2017-11-21T21:22:51.651Z","0.3.2":"2017-11-27T18:40:01.493Z","0.3.3":"2017-12-01T18:39:34.794Z","1.0.0-beta1":"2017-12-07T20:22:42.776Z","1.0.0-beta2":"2017-12-07T21:20:02.901Z","1.0.0-beta3":"2017-12-07T21:57:52.310Z","1.0.0":"2017-12-07T22:44:28.129Z"},"license":"ISC","readmeFilename":"README.md"}