{"_id":"redux-arc","_rev":"30-c205e853afd99e1d2083538e67b9a658","name":"redux-arc","dist-tags":{"supabsurls":"0.6.1-supabsurls","supabsurls-1":"0.6.1-supabsurls-1","latest":"0.7.5"},"versions":{"0.1.0":{"name":"redux-arc","version":"0.1.0","keywords":["redux","redux-arc","react","async"],"author":{"name":"Vinicius Dacal","email":"viniciusldacal@gmail.com"},"license":"MIT","_id":"redux-arc@0.1.0","maintainers":[{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"}],"dist":{"shasum":"69f648a1af1349ea441d871141ecaaa2f764978b","tarball":"https://registry.npmjs.org/redux-arc/-/redux-arc-0.1.0.tgz","integrity":"sha512-3gkFtdh9G+eKgUO4LmjRq6lewzAFAykPrqC2qQjIIf67xEWwEw6gq0hIWbvflDcS4vppTYisd7xDxzolmQRhzw==","signatures":[{"sig":"MEYCIQDTQh4mZNkZfMUudgEKMIjFuFkUNlbxrFWUPeLa2j9V3AIhALW1YTH7rMeSuYA1bigiRPavsAXkjgFr883qzl+x70Uo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"},"_npmVersion":"5.0.3","description":"Declarative way to handle api calls in redux","directories":{},"_nodeVersion":"8.1.2","_npmOperationalInternal":{"tmp":"tmp/redux-arc-0.1.0.tgz_1499031588583_0.37550230394117534","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.1.1":{"name":"redux-arc","version":"0.1.1","keywords":["redux","redux-arc","react","async"],"license":"MIT","_id":"redux-arc@0.1.1","maintainers":[{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"}],"dist":{"shasum":"a69f77273318653e1a1da88d19084fae0f0bc96e","tarball":"https://registry.npmjs.org/redux-arc/-/redux-arc-0.1.1.tgz","integrity":"sha512-hmI/vnzYdBaL0YLYu/znqkVeRL8IT7rlSW9m3VaC6eEXpBP3icB26qqrAzo4jLeNY3tzRoZp6G8DwfDSwXU/nQ==","signatures":[{"sig":"MEYCIQCoCbMcieY8ikQHoWuNWTJZGGYQ4o1EX80N/VZD9mtWvQIhAISBBUw6juI0IFayTmI2+k4WqqKG+bSh7swXWz6cH90+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"testRegex":"(/test/.*\\.spec.js)$"},"main":"lib/index.js","files":["dist","lib","src"],"module":"es/index.js","authors":["Vinicius Dacal <viniciusldacal@gmail.com> (https://github.com/viniciusdacal)"],"gitHead":"f7c77438c3699e5f327884c60d45cdb52f8b67d4","scripts":{"lint":"eslint src test build","test":"cross-env BABEL_ENV=commonjs jest","build":"yarn run build:commonjs && yarn run build:es && yarn run build:umd && yarn run build:umd:min","clean":"rimraf lib dist es coverage","prepare":"yarn run clean && yarn run lint && yarn test && yarn run build","build:es":"cross-env BABEL_ENV=es babel src --out-dir es","test:cov":"yarn test -- --coverage","build:umd":"cross-env BABEL_ENV=es NODE_ENV=development rollup -c -i src/index.js -o dist/redux.js","docs:build":"yarn run docs:prepare && gitbook build -g reactjs/redux && cp logo/apple-touch-icon.png _book/gitbook/images/apple-touch-icon-precomposed-152.png && cp logo/favicon.ico _book/gitbook/images","docs:clean":"rimraf _book","docs:watch":"yarn run docs:prepare && gitbook serve","test:watch":"yarn test -- --watch","docs:prepare":"gitbook install","docs:publish":"yarn run docs:clean && yarn run docs:build && cp CNAME _book && cd _book && git init && git commit --allow-empty -m 'update book' && git checkout -b gh-pages && touch .nojekyll && git add . && git commit -am 'update book' && git push git@github.com:reactjs/redux gh-pages --force","build:umd:min":"cross-env BABEL_ENV=es NODE_ENV=production rollup -c -i src/index.js -o dist/redux.min.js","examples:lint":"eslint examples","examples:test":"cross-env CI=true babel-node examples/testAll.js","build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib"},"_npmUser":{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"},"_npmVersion":"5.0.3","description":"Declarative way to make api calls in redux","directories":{},"_nodeVersion":"8.1.2","dependencies":{},"devDependencies":{"glob":"^7.1.1","jest":"^20.0.4","redux":"^3.7.1","eslint":"^3.19.0","rimraf":"^2.3.4","rollup":"^0.43.0","babel-cli":"^6.3.15","cross-env":"^5.0.1","babel-core":"^6.3.15","babel-jest":"^20.0.3","gitbook-cli":"^2.3.0","babel-eslint":"^7.0.0","babel-register":"^6.3.13","eslint-plugin-react":"^7.1.0","rollup-plugin-babel":"^2.7.1","eslint-plugin-import":"^2.2.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-replace":"^1.1.1","eslint-plugin-flowtype":"^2.29.2","eslint-plugin-jsx-a11y":"^5.0.3","eslint-config-react-app":"^1.0.4","rollup-plugin-node-resolve":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-check-es2015-constants":"^6.3.13","babel-plugin-transform-es2015-for-of":"^6.3.13","babel-plugin-transform-es2015-spread":"^6.3.13","babel-plugin-transform-es2015-classes":"^6.3.13","babel-plugin-transform-es2015-literals":"^6.3.13","babel-plugin-transform-es2015-parameters":"^6.3.13","babel-plugin-transform-object-rest-spread":"^6.3.13","babel-plugin-transform-es2015-object-super":"^6.3.13","babel-plugin-transform-es2015-sticky-regex":"^6.3.13","babel-plugin-transform-es2015-block-scoping":"^6.3.13","babel-plugin-transform-es2015-destructuring":"^6.3.13","babel-plugin-transform-es2015-function-name":"^6.3.13","babel-plugin-transform-es2015-unicode-regex":"^6.3.13","babel-plugin-transform-es3-property-literals":"^6.5.0","babel-plugin-transform-es2015-arrow-functions":"^6.3.13","babel-plugin-transform-es2015-modules-commonjs":"^6.3.13","babel-plugin-transform-es2015-template-literals":"^6.3.13","babel-plugin-transform-es2015-computed-properties":"^6.3.13","babel-plugin-transform-es2015-shorthand-properties":"^6.3.13","babel-plugin-transform-es2015-block-scoped-functions":"^6.3.13","babel-plugin-transform-es3-member-expression-literals":"^6.5.0"},"peerDependencies":{"redux":"^3.7.1"},"_npmOperationalInternal":{"tmp":"tmp/redux-arc-0.1.1.tgz_1499343657581_0.36789677455089986","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.1.2":{"name":"redux-arc","version":"0.1.2","keywords":["redux","redux-arc","react","async"],"license":"MIT","_id":"redux-arc@0.1.2","maintainers":[{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"}],"dist":{"shasum":"6fb8429b74b5338a673a73d074ae494a74ce77d9","tarball":"https://registry.npmjs.org/redux-arc/-/redux-arc-0.1.2.tgz","integrity":"sha512-+zTUmjNKB3tpA8J2FHbPzDpCt6HtQvjoP4EfM0Oa6ZctWWXzgClOQ8LR2eAATrFX2K3ST3jGKkRYI1t/clxPlw==","signatures":[{"sig":"MEQCIHsJHs1ABgR44p6FNneJihx4aKry5tv819wgoVhXMryEAiBvPTU7Me5qR0h6qCJI53hlSuoiO0c4wkDPZJTLm/z/8A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"testRegex":"(/test/.*\\.spec.js)$"},"main":"lib/index.js","files":["dist","lib","src"],"module":"es/index.js","authors":["Vinicius Dacal <viniciusldacal@gmail.com> (https://github.com/viniciusdacal)"],"gitHead":"b790e8b291807afad03e9b7807b14b7176886476","scripts":{"lint":"eslint src test build","test":"cross-env BABEL_ENV=commonjs jest","build":"yarn run build:commonjs && yarn run build:es && yarn run build:umd && yarn run build:umd:min","clean":"rimraf lib dist es coverage","prepare":"yarn run clean && yarn run lint && yarn test && yarn run build","build:es":"cross-env BABEL_ENV=es babel src --out-dir es","test:cov":"yarn test -- --coverage","build:umd":"cross-env BABEL_ENV=es NODE_ENV=development rollup -c -i src/index.js -o dist/redux.js","docs:build":"yarn run docs:prepare && gitbook build -g reactjs/redux && cp logo/apple-touch-icon.png _book/gitbook/images/apple-touch-icon-precomposed-152.png && cp logo/favicon.ico _book/gitbook/images","docs:clean":"rimraf _book","docs:watch":"yarn run docs:prepare && gitbook serve","test:watch":"yarn test -- --watch","docs:prepare":"gitbook install","docs:publish":"yarn run docs:clean && yarn run docs:build && cp CNAME _book && cd _book && git init && git commit --allow-empty -m 'update book' && git checkout -b gh-pages && touch .nojekyll && git add . && git commit -am 'update book' && git push git@github.com:reactjs/redux gh-pages --force","build:umd:min":"cross-env BABEL_ENV=es NODE_ENV=production rollup -c -i src/index.js -o dist/redux.min.js","examples:lint":"eslint examples","examples:test":"cross-env CI=true babel-node examples/testAll.js","build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib"},"_npmUser":{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"},"_npmVersion":"5.0.3","description":"Declarative way to make api calls in redux","directories":{},"_nodeVersion":"8.1.2","dependencies":{},"devDependencies":{"glob":"^7.1.1","jest":"^20.0.4","redux":"^3.7.1","eslint":"^3.19.0","rimraf":"^2.3.4","rollup":"^0.43.0","babel-cli":"^6.3.15","cross-env":"^5.0.1","babel-core":"^6.3.15","babel-jest":"^20.0.3","gitbook-cli":"^2.3.0","babel-eslint":"^7.0.0","babel-register":"^6.3.13","eslint-plugin-react":"^7.1.0","rollup-plugin-babel":"^2.7.1","eslint-plugin-import":"^2.2.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-replace":"^1.1.1","eslint-plugin-flowtype":"^2.29.2","eslint-plugin-jsx-a11y":"^5.0.3","eslint-config-react-app":"^1.0.4","rollup-plugin-node-resolve":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-check-es2015-constants":"^6.3.13","babel-plugin-transform-es2015-for-of":"^6.3.13","babel-plugin-transform-es2015-spread":"^6.3.13","babel-plugin-transform-es2015-classes":"^6.3.13","babel-plugin-transform-es2015-literals":"^6.3.13","babel-plugin-transform-es2015-parameters":"^6.3.13","babel-plugin-transform-object-rest-spread":"^6.3.13","babel-plugin-transform-es2015-object-super":"^6.3.13","babel-plugin-transform-es2015-sticky-regex":"^6.3.13","babel-plugin-transform-es2015-block-scoping":"^6.3.13","babel-plugin-transform-es2015-destructuring":"^6.3.13","babel-plugin-transform-es2015-function-name":"^6.3.13","babel-plugin-transform-es2015-unicode-regex":"^6.3.13","babel-plugin-transform-es3-property-literals":"^6.5.0","babel-plugin-transform-es2015-arrow-functions":"^6.3.13","babel-plugin-transform-es2015-modules-commonjs":"^6.3.13","babel-plugin-transform-es2015-template-literals":"^6.3.13","babel-plugin-transform-es2015-computed-properties":"^6.3.13","babel-plugin-transform-es2015-shorthand-properties":"^6.3.13","babel-plugin-transform-es2015-block-scoped-functions":"^6.3.13","babel-plugin-transform-es3-member-expression-literals":"^6.5.0"},"peerDependencies":{"redux":"^3.7.1"},"_npmOperationalInternal":{"tmp":"tmp/redux-arc-0.1.2.tgz_1499346553335_0.173989353235811","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.1.3":{"name":"redux-arc","version":"0.1.3","keywords":["redux","redux-arc","react","async"],"license":"MIT","_id":"redux-arc@0.1.3","maintainers":[{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"}],"dist":{"shasum":"7c27baeb172f241362dd83bbb4f604f6dfde93dd","tarball":"https://registry.npmjs.org/redux-arc/-/redux-arc-0.1.3.tgz","integrity":"sha512-XbpGdtOLJObNsKr3Lj17cvi2fRP3J7Az5RqbSQIm1f4u+BPwhkCJ6YSJayTTXFqYG8CyDn4XWqj42rMYyUg5+w==","signatures":[{"sig":"MEUCIQC07rI29UOJDWeUFAdTvR2ej1/otDa2kPQc8Hk9SHXzFQIgHkUsdU0MfeFehwwOS8Y1oMnXj2+Ix5woIb3WDPsjtqg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"testRegex":"(/test/.*\\.spec.js)$"},"main":"lib/index.js","files":["dist","lib","src"],"module":"es/index.js","authors":["Vinicius Dacal <viniciusldacal@gmail.com> (https://github.com/viniciusdacal)"],"gitHead":"b790e8b291807afad03e9b7807b14b7176886476","scripts":{"lint":"eslint src test build","test":"cross-env BABEL_ENV=commonjs jest","build":"yarn run build:commonjs && yarn run build:es && yarn run build:umd && yarn run build:umd:min","clean":"rimraf lib dist es coverage","prepare":"yarn run clean && yarn run lint && yarn test && yarn run build","build:es":"cross-env BABEL_ENV=es babel src --out-dir es","test:cov":"yarn test -- --coverage","build:umd":"cross-env BABEL_ENV=es NODE_ENV=development rollup -c -i src/index.js -o dist/redux.js","docs:build":"yarn run docs:prepare && gitbook build -g reactjs/redux && cp logo/apple-touch-icon.png _book/gitbook/images/apple-touch-icon-precomposed-152.png && cp logo/favicon.ico _book/gitbook/images","docs:clean":"rimraf _book","docs:watch":"yarn run docs:prepare && gitbook serve","test:watch":"yarn test -- --watch","docs:prepare":"gitbook install","docs:publish":"yarn run docs:clean && yarn run docs:build && cp CNAME _book && cd _book && git init && git commit --allow-empty -m 'update book' && git checkout -b gh-pages && touch .nojekyll && git add . && git commit -am 'update book' && git push git@github.com:reactjs/redux gh-pages --force","build:umd:min":"cross-env BABEL_ENV=es NODE_ENV=production rollup -c -i src/index.js -o dist/redux.min.js","examples:lint":"eslint examples","examples:test":"cross-env CI=true babel-node examples/testAll.js","build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib"},"_npmUser":{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"},"_npmVersion":"5.0.3","description":"Declarative way to make api calls in redux","directories":{},"_nodeVersion":"8.1.2","dependencies":{},"devDependencies":{"glob":"^7.1.1","jest":"^20.0.4","redux":"^3.7.1","eslint":"^3.19.0","rimraf":"^2.3.4","rollup":"^0.43.0","babel-cli":"^6.3.15","cross-env":"^5.0.1","babel-core":"^6.3.15","babel-jest":"^20.0.3","gitbook-cli":"^2.3.0","babel-eslint":"^7.0.0","babel-register":"^6.3.13","eslint-plugin-react":"^7.1.0","rollup-plugin-babel":"^2.7.1","eslint-plugin-import":"^2.2.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-replace":"^1.1.1","eslint-plugin-flowtype":"^2.29.2","eslint-plugin-jsx-a11y":"^5.0.3","eslint-config-react-app":"^1.0.4","rollup-plugin-node-resolve":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-check-es2015-constants":"^6.3.13","babel-plugin-transform-es2015-for-of":"^6.3.13","babel-plugin-transform-es2015-spread":"^6.3.13","babel-plugin-transform-es2015-classes":"^6.3.13","babel-plugin-transform-es2015-literals":"^6.3.13","babel-plugin-transform-es2015-parameters":"^6.3.13","babel-plugin-transform-object-rest-spread":"^6.3.13","babel-plugin-transform-es2015-object-super":"^6.3.13","babel-plugin-transform-es2015-sticky-regex":"^6.3.13","babel-plugin-transform-es2015-block-scoping":"^6.3.13","babel-plugin-transform-es2015-destructuring":"^6.3.13","babel-plugin-transform-es2015-function-name":"^6.3.13","babel-plugin-transform-es2015-unicode-regex":"^6.3.13","babel-plugin-transform-es3-property-literals":"^6.5.0","babel-plugin-transform-es2015-arrow-functions":"^6.3.13","babel-plugin-transform-es2015-modules-commonjs":"^6.3.13","babel-plugin-transform-es2015-template-literals":"^6.3.13","babel-plugin-transform-es2015-computed-properties":"^6.3.13","babel-plugin-transform-es2015-shorthand-properties":"^6.3.13","babel-plugin-transform-es2015-block-scoped-functions":"^6.3.13","babel-plugin-transform-es3-member-expression-literals":"^6.5.0"},"peerDependencies":{"redux":"^3.7.1"},"_npmOperationalInternal":{"tmp":"tmp/redux-arc-0.1.3.tgz_1499346691938_0.008760200114920735","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.1.4":{"name":"redux-arc","version":"0.1.4","keywords":["redux","redux-arc","react","async"],"license":"MIT","_id":"redux-arc@0.1.4","maintainers":[{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"}],"dist":{"shasum":"732a10817dcbf28a60d4a52f608a756e06991df9","tarball":"https://registry.npmjs.org/redux-arc/-/redux-arc-0.1.4.tgz","integrity":"sha512-EJZca935gDS7duzSVIQDaxI+j+DZckNbkqr9y11dRDQQ4xsWyNMqQvxgufQWIDiaGiVnSSB7bllAGY+V2kn+RA==","signatures":[{"sig":"MEUCIQCm7Pt/MBhvOUzEqgCa8wMHpa6k8kgE7uABI3p/hZd7iAIgLX72aGGeNsTnDW5qedwvA1lKdzQQKy91K4E3roHSxpw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"testRegex":"(/test/.*\\.spec.js)$"},"main":"lib/index.js","files":["dist","lib","src"],"module":"es/index.js","authors":["Vinicius Dacal <viniciusldacal@gmail.com> (https://github.com/viniciusdacal)"],"gitHead":"7408be1337225a9c5ddd77a7d1fa0e8cabe16f0c","scripts":{"lint":"eslint src test build","test":"cross-env BABEL_ENV=commonjs jest","build":"yarn run build:commonjs && yarn run build:es && yarn run build:umd && yarn run build:umd:min","clean":"rimraf lib dist es coverage","prepare":"yarn run clean && yarn run lint && yarn test && yarn run build","build:es":"cross-env BABEL_ENV=es babel src --out-dir es","test:cov":"yarn test -- --coverage","build:umd":"cross-env BABEL_ENV=es NODE_ENV=development rollup -c -i src/index.js -o dist/redux.js","docs:build":"yarn run docs:prepare && gitbook build -g reactjs/redux && cp logo/apple-touch-icon.png _book/gitbook/images/apple-touch-icon-precomposed-152.png && cp logo/favicon.ico _book/gitbook/images","docs:clean":"rimraf _book","docs:watch":"yarn run docs:prepare && gitbook serve","test:watch":"yarn test -- --watch","docs:prepare":"gitbook install","docs:publish":"yarn run docs:clean && yarn run docs:build && cp CNAME _book && cd _book && git init && git commit --allow-empty -m 'update book' && git checkout -b gh-pages && touch .nojekyll && git add . && git commit -am 'update book' && git push git@github.com:reactjs/redux gh-pages --force","build:umd:min":"cross-env BABEL_ENV=es NODE_ENV=production rollup -c -i src/index.js -o dist/redux.min.js","examples:lint":"eslint examples","examples:test":"cross-env CI=true babel-node examples/testAll.js","build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib"},"_npmUser":{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"},"_npmVersion":"5.0.3","description":"Declarative way to make api calls in redux","directories":{},"_nodeVersion":"8.1.2","dependencies":{},"devDependencies":{"glob":"^7.1.1","jest":"^20.0.4","redux":"^3.7.1","eslint":"^3.19.0","rimraf":"^2.3.4","rollup":"^0.43.0","babel-cli":"^6.3.15","cross-env":"^5.0.1","babel-core":"^6.3.15","babel-jest":"^20.0.3","gitbook-cli":"^2.3.0","babel-eslint":"^7.0.0","babel-register":"^6.3.13","eslint-plugin-react":"^7.1.0","rollup-plugin-babel":"^2.7.1","eslint-plugin-import":"^2.2.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-replace":"^1.1.1","eslint-plugin-flowtype":"^2.29.2","eslint-plugin-jsx-a11y":"^5.0.3","eslint-config-react-app":"^1.0.4","rollup-plugin-node-resolve":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-check-es2015-constants":"^6.3.13","babel-plugin-transform-es2015-for-of":"^6.3.13","babel-plugin-transform-es2015-spread":"^6.3.13","babel-plugin-transform-es2015-classes":"^6.3.13","babel-plugin-transform-es2015-literals":"^6.3.13","babel-plugin-transform-es2015-parameters":"^6.3.13","babel-plugin-transform-object-rest-spread":"^6.3.13","babel-plugin-transform-es2015-object-super":"^6.3.13","babel-plugin-transform-es2015-sticky-regex":"^6.3.13","babel-plugin-transform-es2015-block-scoping":"^6.3.13","babel-plugin-transform-es2015-destructuring":"^6.3.13","babel-plugin-transform-es2015-function-name":"^6.3.13","babel-plugin-transform-es2015-unicode-regex":"^6.3.13","babel-plugin-transform-es3-property-literals":"^6.5.0","babel-plugin-transform-es2015-arrow-functions":"^6.3.13","babel-plugin-transform-es2015-modules-commonjs":"^6.3.13","babel-plugin-transform-es2015-template-literals":"^6.3.13","babel-plugin-transform-es2015-computed-properties":"^6.3.13","babel-plugin-transform-es2015-shorthand-properties":"^6.3.13","babel-plugin-transform-es2015-block-scoped-functions":"^6.3.13","babel-plugin-transform-es3-member-expression-literals":"^6.5.0"},"peerDependencies":{"redux":"^3.7.1"},"_npmOperationalInternal":{"tmp":"tmp/redux-arc-0.1.4.tgz_1499353539356_0.867523281602189","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.1.6":{"name":"redux-arc","version":"0.1.6","keywords":["redux","redux-arc","react","async"],"license":"MIT","_id":"redux-arc@0.1.6","maintainers":[{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"}],"dist":{"shasum":"05eaed7055b0df8bbf059cdabe70c85bc6ee8d7d","tarball":"https://registry.npmjs.org/redux-arc/-/redux-arc-0.1.6.tgz","integrity":"sha512-2kNRjCsw6oNT0VbL0FupemA3rOs4Lp2fNgjQ/SiRgd8chVVCL+1+Kv3wP3BLGoiYDUT1zhchcBn5bKWoqTQt2w==","signatures":[{"sig":"MEQCIGWMKRQdY47vgw7KNpbO52DZgLVB5DCYHY8HkWokf/hJAiB8gXg1UfNQJ6gr7aEsMpmsi2W6V41r9V48VIL1zskccw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"testRegex":"(/test/.*\\.spec.js)$"},"main":"lib/index.js","files":["dist","lib","src"],"module":"es/index.js","authors":["Vinicius Dacal <viniciusldacal@gmail.com> (https://github.com/viniciusdacal)"],"gitHead":"b0e15f91cad9e99e109abe575f842889cb01145c","scripts":{"lint":"eslint src test build","test":"cross-env BABEL_ENV=commonjs jest","build":"yarn run build:commonjs && yarn run build:es && yarn run build:umd && yarn run build:umd:min","clean":"rimraf lib dist es coverage","prepare":"yarn run clean && yarn run lint && yarn test && yarn run build","build:es":"cross-env BABEL_ENV=es babel src --out-dir es","test:cov":"yarn test -- --coverage","build:umd":"cross-env BABEL_ENV=es NODE_ENV=development rollup -c -i src/index.js -o dist/redux.js","docs:build":"yarn run docs:prepare && gitbook build -g reactjs/redux && cp logo/apple-touch-icon.png _book/gitbook/images/apple-touch-icon-precomposed-152.png && cp logo/favicon.ico _book/gitbook/images","docs:clean":"rimraf _book","docs:watch":"yarn run docs:prepare && gitbook serve","test:watch":"yarn test -- --watch","docs:prepare":"gitbook install","docs:publish":"yarn run docs:clean && yarn run docs:build && cp CNAME _book && cd _book && git init && git commit --allow-empty -m 'update book' && git checkout -b gh-pages && touch .nojekyll && git add . && git commit -am 'update book' && git push git@github.com:reactjs/redux gh-pages --force","build:umd:min":"cross-env BABEL_ENV=es NODE_ENV=production rollup -c -i src/index.js -o dist/redux.min.js","examples:lint":"eslint examples","examples:test":"cross-env CI=true babel-node examples/testAll.js","build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib"},"_npmUser":{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"},"_npmVersion":"5.0.3","description":"Declarative way to make api calls in redux","directories":{},"_nodeVersion":"8.1.2","dependencies":{},"devDependencies":{"glob":"^7.1.1","jest":"^20.0.4","redux":"^3.7.1","eslint":"^3.19.0","rimraf":"^2.3.4","rollup":"^0.43.0","babel-cli":"^6.3.15","cross-env":"^5.0.1","babel-core":"^6.3.15","babel-jest":"^20.0.3","gitbook-cli":"^2.3.0","babel-eslint":"^7.0.0","babel-register":"^6.3.13","eslint-plugin-react":"^7.1.0","rollup-plugin-babel":"^2.7.1","eslint-plugin-import":"^2.2.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-replace":"^1.1.1","eslint-plugin-flowtype":"^2.29.2","eslint-plugin-jsx-a11y":"^5.0.3","eslint-config-react-app":"^1.0.4","rollup-plugin-node-resolve":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-check-es2015-constants":"^6.3.13","babel-plugin-transform-es2015-for-of":"^6.3.13","babel-plugin-transform-es2015-spread":"^6.3.13","babel-plugin-transform-es2015-classes":"^6.3.13","babel-plugin-transform-es2015-literals":"^6.3.13","babel-plugin-transform-es2015-parameters":"^6.3.13","babel-plugin-transform-object-rest-spread":"^6.3.13","babel-plugin-transform-es2015-object-super":"^6.3.13","babel-plugin-transform-es2015-sticky-regex":"^6.3.13","babel-plugin-transform-es2015-block-scoping":"^6.3.13","babel-plugin-transform-es2015-destructuring":"^6.3.13","babel-plugin-transform-es2015-function-name":"^6.3.13","babel-plugin-transform-es2015-unicode-regex":"^6.3.13","babel-plugin-transform-es3-property-literals":"^6.5.0","babel-plugin-transform-es2015-arrow-functions":"^6.3.13","babel-plugin-transform-es2015-modules-commonjs":"^6.3.13","babel-plugin-transform-es2015-template-literals":"^6.3.13","babel-plugin-transform-es2015-computed-properties":"^6.3.13","babel-plugin-transform-es2015-shorthand-properties":"^6.3.13","babel-plugin-transform-es2015-block-scoped-functions":"^6.3.13","babel-plugin-transform-es3-member-expression-literals":"^6.5.0"},"peerDependencies":{"redux":"^3.7.1"},"_npmOperationalInternal":{"tmp":"tmp/redux-arc-0.1.6.tgz_1499359305274_0.21126755722798407","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.2.0":{"name":"redux-arc","version":"0.2.0","keywords":["redux","redux-arc","react","async"],"license":"MIT","_id":"redux-arc@0.2.0","maintainers":[{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"}],"dist":{"shasum":"e5b1a1bdb65851847145b4ffb6c9a1c6d03c1017","tarball":"https://registry.npmjs.org/redux-arc/-/redux-arc-0.2.0.tgz","integrity":"sha512-Ebb3nVoTAsbbt/Bw+FBf2G81dTPB6uOTolcNydWCsYgp+BSOSJ8jZ2OBzHD/pI6BfeoHjjTEVQi1KfThjx8DZw==","signatures":[{"sig":"MEQCIAjfEN859L6zJd7wJp28AXsW78o3HIWSRSrIhAUOWoIOAiBT/mrqZphmBhworKkE1kb0OXnZBSVitjKgRwzMpKX1+g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"testRegex":"(/test/.*\\.spec.js)$"},"main":"lib/index.js","files":["dist","lib","src"],"module":"es/index.js","authors":["Vinicius Dacal <viniciusldacal@gmail.com> (https://github.com/viniciusdacal)"],"gitHead":"f78a0c98fdcf1dbe606ba4135d0fd1173625206e","scripts":{"lint":"eslint src test build","test":"cross-env BABEL_ENV=commonjs jest","build":"yarn run build:commonjs && yarn run build:es && yarn run build:umd && yarn run build:umd:min","clean":"rimraf lib dist es coverage","prepare":"yarn run clean && yarn run lint && yarn test && yarn run build","build:es":"cross-env BABEL_ENV=es babel src --out-dir es","test:cov":"yarn test -- --coverage","build:umd":"cross-env BABEL_ENV=es NODE_ENV=development rollup -c -i src/index.js -o dist/redux.js","docs:build":"yarn run docs:prepare && gitbook build -g reactjs/redux && cp logo/apple-touch-icon.png _book/gitbook/images/apple-touch-icon-precomposed-152.png && cp logo/favicon.ico _book/gitbook/images","docs:clean":"rimraf _book","docs:watch":"yarn run docs:prepare && gitbook serve","test:watch":"yarn test -- --watch","docs:prepare":"gitbook install","docs:publish":"yarn run docs:clean && yarn run docs:build && cp CNAME _book && cd _book && git init && git commit --allow-empty -m 'update book' && git checkout -b gh-pages && touch .nojekyll && git add . && git commit -am 'update book' && git push git@github.com:reactjs/redux gh-pages --force","build:umd:min":"cross-env BABEL_ENV=es NODE_ENV=production rollup -c -i src/index.js -o dist/redux.min.js","examples:lint":"eslint examples","examples:test":"cross-env CI=true babel-node examples/testAll.js","build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib"},"_npmUser":{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"},"_npmVersion":"5.3.0","description":"Declarative way to make api calls in redux","directories":{},"_nodeVersion":"8.1.2","dependencies":{},"devDependencies":{"glob":"^7.1.1","jest":"^20.0.4","redux":"^3.7.1","eslint":"^3.19.0","rimraf":"^2.3.4","rollup":"^0.43.0","babel-cli":"^6.3.15","cross-env":"^5.0.1","babel-core":"^6.3.15","babel-jest":"^20.0.3","gitbook-cli":"^2.3.0","babel-eslint":"^7.0.0","babel-register":"^6.3.13","eslint-plugin-react":"^7.1.0","rollup-plugin-babel":"^2.7.1","eslint-plugin-import":"^2.2.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-replace":"^1.1.1","eslint-plugin-flowtype":"^2.29.2","eslint-plugin-jsx-a11y":"^5.0.3","eslint-config-react-app":"^1.0.4","rollup-plugin-node-resolve":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-check-es2015-constants":"^6.3.13","babel-plugin-transform-es2015-for-of":"^6.3.13","babel-plugin-transform-es2015-spread":"^6.3.13","babel-plugin-transform-es2015-classes":"^6.3.13","babel-plugin-transform-es2015-literals":"^6.3.13","babel-plugin-transform-es2015-parameters":"^6.3.13","babel-plugin-transform-object-rest-spread":"^6.3.13","babel-plugin-transform-es2015-object-super":"^6.3.13","babel-plugin-transform-es2015-sticky-regex":"^6.3.13","babel-plugin-transform-es2015-block-scoping":"^6.3.13","babel-plugin-transform-es2015-destructuring":"^6.3.13","babel-plugin-transform-es2015-function-name":"^6.3.13","babel-plugin-transform-es2015-unicode-regex":"^6.3.13","babel-plugin-transform-es3-property-literals":"^6.5.0","babel-plugin-transform-es2015-arrow-functions":"^6.3.13","babel-plugin-transform-es2015-modules-commonjs":"^6.3.13","babel-plugin-transform-es2015-template-literals":"^6.3.13","babel-plugin-transform-es2015-computed-properties":"^6.3.13","babel-plugin-transform-es2015-shorthand-properties":"^6.3.13","babel-plugin-transform-es2015-block-scoped-functions":"^6.3.13","babel-plugin-transform-es3-member-expression-literals":"^6.5.0"},"peerDependencies":{"redux":">= 3.7.1"},"_npmOperationalInternal":{"tmp":"tmp/redux-arc-0.2.0.tgz_1501854049954_0.9751685056835413","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.2.1":{"name":"redux-arc","version":"0.2.1","keywords":["redux","redux-arc","react","async"],"license":"MIT","_id":"redux-arc@0.2.1","maintainers":[{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"}],"dist":{"shasum":"b8fc306891fd6ba0d570f25b41e4f4e0d87dd542","tarball":"https://registry.npmjs.org/redux-arc/-/redux-arc-0.2.1.tgz","integrity":"sha512-FMkoprYcZIvQmAM2V1ncUW/uYIa45HIvOtZccNFfOQIGYv/hpUsj7E+Bl9JqkOlv8A29fqURxa7hqprt2rh5Ag==","signatures":[{"sig":"MEUCIQCYXjUAQdx16EQU7Hw313prQqrPI3vs+mbU7C9tR/i4HgIgcqpiAllA6aarfcW799K846ceLpaHdpyW+kxk8mYXDBQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"testRegex":"(/test/.*\\.spec.js)$"},"main":"lib/index.js","files":["dist","lib","src"],"module":"es/index.js","authors":["Vinicius Dacal <viniciusldacal@gmail.com> (https://github.com/viniciusdacal)"],"gitHead":"9ba3e9fb1874d9e69f3c63cf8afdf3612def42a9","scripts":{"lint":"eslint src test build","test":"cross-env BABEL_ENV=commonjs jest","build":"yarn run build:commonjs && yarn run build:es && yarn run build:umd && yarn run build:umd:min","clean":"rimraf lib dist es coverage","prepare":"yarn run clean && yarn run lint && yarn test && yarn run build","build:es":"cross-env BABEL_ENV=es babel src --out-dir es","test:cov":"yarn test -- --coverage","build:umd":"cross-env BABEL_ENV=es NODE_ENV=development rollup -c -i src/index.js -o dist/redux.js","docs:build":"yarn run docs:prepare && gitbook build -g reactjs/redux && cp logo/apple-touch-icon.png _book/gitbook/images/apple-touch-icon-precomposed-152.png && cp logo/favicon.ico _book/gitbook/images","docs:clean":"rimraf _book","docs:watch":"yarn run docs:prepare && gitbook serve","test:watch":"yarn test -- --watch","docs:prepare":"gitbook install","docs:publish":"yarn run docs:clean && yarn run docs:build && cp CNAME _book && cd _book && git init && git commit --allow-empty -m 'update book' && git checkout -b gh-pages && touch .nojekyll && git add . && git commit -am 'update book' && git push git@github.com:reactjs/redux gh-pages --force","build:umd:min":"cross-env BABEL_ENV=es NODE_ENV=production rollup -c -i src/index.js -o dist/redux.min.js","examples:lint":"eslint examples","examples:test":"cross-env CI=true babel-node examples/testAll.js","build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib"},"_npmUser":{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"},"_npmVersion":"5.3.0","description":"Declarative way to make api calls in redux","directories":{},"_nodeVersion":"8.1.2","dependencies":{},"devDependencies":{"glob":"^7.1.1","jest":"^20.0.4","redux":"^3.7.1","eslint":"^3.19.0","rimraf":"^2.3.4","rollup":"^0.43.0","babel-cli":"^6.3.15","cross-env":"^5.0.1","babel-core":"^6.3.15","babel-jest":"^20.0.3","gitbook-cli":"^2.3.0","babel-eslint":"^7.0.0","babel-register":"^6.3.13","eslint-plugin-react":"^7.1.0","rollup-plugin-babel":"^2.7.1","eslint-plugin-import":"^2.2.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-replace":"^1.1.1","eslint-plugin-flowtype":"^2.29.2","eslint-plugin-jsx-a11y":"^5.0.3","eslint-config-react-app":"^1.0.4","rollup-plugin-node-resolve":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-check-es2015-constants":"^6.3.13","babel-plugin-transform-es2015-for-of":"^6.3.13","babel-plugin-transform-es2015-spread":"^6.3.13","babel-plugin-transform-es2015-classes":"^6.3.13","babel-plugin-transform-es2015-literals":"^6.3.13","babel-plugin-transform-es2015-parameters":"^6.3.13","babel-plugin-transform-object-rest-spread":"^6.3.13","babel-plugin-transform-es2015-object-super":"^6.3.13","babel-plugin-transform-es2015-sticky-regex":"^6.3.13","babel-plugin-transform-es2015-block-scoping":"^6.3.13","babel-plugin-transform-es2015-destructuring":"^6.3.13","babel-plugin-transform-es2015-function-name":"^6.3.13","babel-plugin-transform-es2015-unicode-regex":"^6.3.13","babel-plugin-transform-es3-property-literals":"^6.5.0","babel-plugin-transform-es2015-arrow-functions":"^6.3.13","babel-plugin-transform-es2015-modules-commonjs":"^6.3.13","babel-plugin-transform-es2015-template-literals":"^6.3.13","babel-plugin-transform-es2015-computed-properties":"^6.3.13","babel-plugin-transform-es2015-shorthand-properties":"^6.3.13","babel-plugin-transform-es2015-block-scoped-functions":"^6.3.13","babel-plugin-transform-es3-member-expression-literals":"^6.5.0"},"peerDependencies":{"redux":">= 3.7.1"},"_npmOperationalInternal":{"tmp":"tmp/redux-arc-0.2.1.tgz_1501854267361_0.6486434252001345","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.2.2":{"name":"redux-arc","version":"0.2.2","keywords":["redux","redux-arc","react","async"],"license":"MIT","_id":"redux-arc@0.2.2","maintainers":[{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"}],"dist":{"shasum":"395af32e5defe3994cc62e5eb76d4563f8fc4ec6","tarball":"https://registry.npmjs.org/redux-arc/-/redux-arc-0.2.2.tgz","integrity":"sha512-XPAiOu3qoc626zuAl4wEcOxAswRknQh1qi/NLshM0DkCakzX3ou7hiwq3CCIK4TTTKK6yiAK8UDObBtBoZkDPQ==","signatures":[{"sig":"MEUCIQCk94I66Ez2lds7JvPXhrA6I0ZcHnqYzes6/KCP5JabiAIgXqoqMDXUvJGqQrVO2yl3xTki8RWOrXUYoVpTEuw93bU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"testRegex":"(/test/.*\\.spec.js)$","coverageDirectory":"./coverage"},"main":"lib/index.js","files":["dist","lib","src"],"module":"es/index.js","authors":["Vinicius Dacal <viniciusldacal@gmail.com> (https://github.com/viniciusdacal)"],"gitHead":"3aaafc07635652dc93fa287882e1bd8023c28fa9","scripts":{"lint":"eslint src test build","test":"cross-env BABEL_ENV=commonjs jest","build":"yarn run build:commonjs && yarn run build:es && yarn run build:umd && yarn run build:umd:min","clean":"rimraf lib dist es coverage","prepare":"yarn run clean && yarn run lint && yarn test && yarn run build","build:es":"cross-env BABEL_ENV=es babel src --out-dir es","test:cov":"yarn test -- --coverage","build:umd":"cross-env BABEL_ENV=es NODE_ENV=development rollup -c -i src/index.js -o dist/redux.js","coveralls":"cat ./coverage/lcov.info | ./node_modules/.bin/coveralls","docs:build":"yarn run docs:prepare && gitbook build -g reactjs/redux && cp logo/apple-touch-icon.png _book/gitbook/images/apple-touch-icon-precomposed-152.png && cp logo/favicon.ico _book/gitbook/images","docs:clean":"rimraf _book","docs:watch":"yarn run docs:prepare && gitbook serve","test:watch":"yarn test -- --watch","docs:prepare":"gitbook install","docs:publish":"yarn run docs:clean && yarn run docs:build && cp CNAME _book && cd _book && git init && git commit --allow-empty -m 'update book' && git checkout -b gh-pages && touch .nojekyll && git add . && git commit -am 'update book' && git push git@github.com:reactjs/redux gh-pages --force","build:umd:min":"cross-env BABEL_ENV=es NODE_ENV=production rollup -c -i src/index.js -o dist/redux.min.js","examples:lint":"eslint examples","examples:test":"cross-env CI=true babel-node examples/testAll.js","build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib"},"_npmUser":{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"},"_npmVersion":"5.3.0","description":"Declarative way to make api calls in redux","directories":{},"_nodeVersion":"8.1.2","dependencies":{},"devDependencies":{"glob":"^7.1.1","jest":"^20.0.4","redux":"^3.7.1","eslint":"^3.19.0","rimraf":"^2.3.4","rollup":"^0.43.0","babel-cli":"^6.3.15","coveralls":"^2.13.1","cross-env":"^5.0.1","babel-core":"^6.3.15","babel-jest":"^20.0.3","gitbook-cli":"^2.3.0","babel-eslint":"^7.0.0","babel-register":"^6.3.13","eslint-plugin-react":"^7.1.0","rollup-plugin-babel":"^2.7.1","eslint-plugin-import":"^2.2.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-replace":"^1.1.1","eslint-plugin-flowtype":"^2.29.2","eslint-plugin-jsx-a11y":"^5.0.3","eslint-config-react-app":"^1.0.4","rollup-plugin-node-resolve":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-check-es2015-constants":"^6.3.13","babel-plugin-transform-es2015-for-of":"^6.3.13","babel-plugin-transform-es2015-spread":"^6.3.13","babel-plugin-transform-es2015-classes":"^6.3.13","babel-plugin-transform-es2015-literals":"^6.3.13","babel-plugin-transform-es2015-parameters":"^6.3.13","babel-plugin-transform-object-rest-spread":"^6.3.13","babel-plugin-transform-es2015-object-super":"^6.3.13","babel-plugin-transform-es2015-sticky-regex":"^6.3.13","babel-plugin-transform-es2015-block-scoping":"^6.3.13","babel-plugin-transform-es2015-destructuring":"^6.3.13","babel-plugin-transform-es2015-function-name":"^6.3.13","babel-plugin-transform-es2015-unicode-regex":"^6.3.13","babel-plugin-transform-es3-property-literals":"^6.5.0","babel-plugin-transform-es2015-arrow-functions":"^6.3.13","babel-plugin-transform-es2015-modules-commonjs":"^6.3.13","babel-plugin-transform-es2015-template-literals":"^6.3.13","babel-plugin-transform-es2015-computed-properties":"^6.3.13","babel-plugin-transform-es2015-shorthand-properties":"^6.3.13","babel-plugin-transform-es2015-block-scoped-functions":"^6.3.13","babel-plugin-transform-es3-member-expression-literals":"^6.5.0"},"peerDependencies":{"redux":">= 3.7.1"},"_npmOperationalInternal":{"tmp":"tmp/redux-arc-0.2.2.tgz_1501858681917_0.38804528163746","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.3.0":{"name":"redux-arc","version":"0.3.0","keywords":["redux","redux-arc","react","async"],"license":"MIT","_id":"redux-arc@0.3.0","maintainers":[{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"}],"dist":{"shasum":"de802e0ed697f429ce88a609e2073763e7182cc1","tarball":"https://registry.npmjs.org/redux-arc/-/redux-arc-0.3.0.tgz","integrity":"sha512-U0bXBiCbQR38vFciOcB5+7N9Em5v7FrM7JEcZBaYyR+za9EFNURM1JhQIwDAKtWvI8oaAFgLqYNCs56T7EcUVg==","signatures":[{"sig":"MEYCIQCDvdFOn1PpzXh/zrLZUxVOAUzSV1ZT4spkFMBPNOo1IQIhAN0PZa+OP8wWsNlw95yhWa0LKTsGeaVREwwrAb6KMlOR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"testRegex":"(/test/.*\\.spec.js)$","coverageDirectory":"./coverage"},"main":"lib/index.js","files":["dist","lib","src"],"module":"es/index.js","authors":["Vinicius Dacal <viniciusldacal@gmail.com> (https://github.com/viniciusdacal)"],"gitHead":"d669e8b483c686339a86656f6ac3f62267ec046b","scripts":{"lint":"eslint src test build","test":"cross-env BABEL_ENV=commonjs jest","build":"yarn run build:commonjs && yarn run build:es && yarn run build:umd && yarn run build:umd:min","clean":"rimraf lib dist es coverage","prepare":"yarn run clean && yarn run lint && yarn test && yarn run build","build:es":"cross-env BABEL_ENV=es babel src --out-dir es","test:cov":"yarn test -- --coverage","build:umd":"cross-env BABEL_ENV=es NODE_ENV=development rollup -c -i src/index.js -o dist/redux.js","coveralls":"cat ./coverage/lcov.info | ./node_modules/.bin/coveralls","docs:build":"yarn run docs:prepare && gitbook build -g viniciusdacal/redux-arc && cp logo/apple-touch-icon.png _book/gitbook/images/apple-touch-icon-precomposed-152.png && cp logo/favicon.ico _book/gitbook/images","docs:clean":"rimraf _book","docs:watch":"yarn run docs:prepare && gitbook serve","test:watch":"yarn test -- --watch","docs:prepare":"gitbook install","docs:publish":"yarn run docs:clean && yarn run docs:build && cp CNAME _book && cd _book && git init && git commit --allow-empty -m 'update book' && git checkout -b gh-pages && touch .nojekyll && git add . && git commit -am 'update book' && git push git@github.com:viniciusdacal/redux-arc gh-pages --force","build:umd:min":"cross-env BABEL_ENV=es NODE_ENV=production rollup -c -i src/index.js -o dist/redux.min.js","examples:lint":"eslint examples","examples:test":"cross-env CI=true babel-node examples/testAll.js","build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib"},"_npmUser":{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"},"_npmVersion":"5.4.2","description":"Abstraction layer to simplify rest api calls in redux","directories":{},"_nodeVersion":"8.1.2","dependencies":{},"devDependencies":{"glob":"^7.1.1","jest":"^20.0.4","redux":"^3.7.1","eslint":"^3.19.0","rimraf":"^2.3.4","rollup":"^0.43.0","babel-cli":"^6.3.15","coveralls":"^2.13.1","cross-env":"^5.0.1","babel-core":"^6.3.15","babel-jest":"^20.0.3","gitbook-cli":"^2.3.0","babel-eslint":"^7.0.0","babel-register":"^6.3.13","eslint-plugin-react":"^7.1.0","rollup-plugin-babel":"^2.7.1","eslint-plugin-import":"^2.2.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-replace":"^1.1.1","eslint-plugin-flowtype":"^2.29.2","eslint-plugin-jsx-a11y":"^5.0.3","eslint-config-react-app":"^1.0.4","rollup-plugin-node-resolve":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-check-es2015-constants":"^6.3.13","babel-plugin-transform-es2015-for-of":"^6.3.13","babel-plugin-transform-es2015-spread":"^6.3.13","babel-plugin-transform-es2015-classes":"^6.3.13","babel-plugin-transform-es2015-literals":"^6.3.13","babel-plugin-transform-es2015-parameters":"^6.3.13","babel-plugin-transform-object-rest-spread":"^6.3.13","babel-plugin-transform-es2015-object-super":"^6.3.13","babel-plugin-transform-es2015-sticky-regex":"^6.3.13","babel-plugin-transform-es2015-block-scoping":"^6.3.13","babel-plugin-transform-es2015-destructuring":"^6.3.13","babel-plugin-transform-es2015-function-name":"^6.3.13","babel-plugin-transform-es2015-unicode-regex":"^6.3.13","babel-plugin-transform-es3-property-literals":"^6.5.0","babel-plugin-transform-es2015-arrow-functions":"^6.3.13","babel-plugin-transform-es2015-modules-commonjs":"^6.3.13","babel-plugin-transform-es2015-template-literals":"^6.3.13","babel-plugin-transform-es2015-computed-properties":"^6.3.13","babel-plugin-transform-es2015-shorthand-properties":"^6.3.13","babel-plugin-transform-es2015-block-scoped-functions":"^6.3.13","babel-plugin-transform-es3-member-expression-literals":"^6.5.0"},"peerDependencies":{"redux":">= 3.7.1"},"_npmOperationalInternal":{"tmp":"tmp/redux-arc-0.3.0.tgz_1507507671041_0.9927793345414102","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.4.0":{"name":"redux-arc","version":"0.4.0","keywords":["redux","redux-arc","react","async"],"license":"MIT","_id":"redux-arc@0.4.0","maintainers":[{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"}],"dist":{"shasum":"f62229001b154b2aea717bacfa9523a8d0b43be2","tarball":"https://registry.npmjs.org/redux-arc/-/redux-arc-0.4.0.tgz","integrity":"sha512-IAehmjlEQISjGUzCv3IhTXTL7ofGTaG7i/2gySrNTEGjiAsKT9hwo2l91UxBToM+Z4LEIBsni8PDMPRRmEU/FA==","signatures":[{"sig":"MEQCIGhzDZMSszWq6ebweYRegHbMSMOi2mRLH0zOszOJxbimAiAdETHVayPpb6hGCh1i35sg11yfZD5q2OUu6WVV/6xOKA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"testRegex":"(/test/.*\\.spec.js)$","coverageDirectory":"./coverage"},"main":"lib/index.js","files":["dist","lib","src"],"module":"es/index.js","authors":["Vinicius Dacal <viniciusldacal@gmail.com> (https://github.com/viniciusdacal)"],"gitHead":"983fe04fabb695c731ee7acae931ceb91f5fb1d0","scripts":{"lint":"eslint src test build","test":"cross-env BABEL_ENV=commonjs jest","build":"yarn run build:commonjs && yarn run build:es && yarn run build:umd && yarn run build:umd:min","clean":"rimraf lib dist es coverage","prepare":"yarn run clean && yarn run lint && yarn test && yarn run build","build:es":"cross-env BABEL_ENV=es babel src --out-dir es","test:cov":"yarn test -- --coverage","build:umd":"cross-env BABEL_ENV=es NODE_ENV=development rollup -c -i src/index.js -o dist/redux.js","coveralls":"cat ./coverage/lcov.info | ./node_modules/.bin/coveralls","docs:build":"yarn run docs:prepare && gitbook build -g viniciusdacal/redux-arc && cp logo/apple-touch-icon.png _book/gitbook/images/apple-touch-icon-precomposed-152.png && cp logo/favicon.ico _book/gitbook/images","docs:clean":"rimraf _book","docs:watch":"yarn run docs:prepare && gitbook serve","test:watch":"yarn test -- --watch","docs:prepare":"gitbook install","docs:publish":"yarn run docs:clean && yarn run docs:build && cp CNAME _book && cd _book && git init && git commit --allow-empty -m 'update book' && git checkout -b gh-pages && touch .nojekyll && git add . && git commit -am 'update book' && git push git@github.com:viniciusdacal/redux-arc gh-pages --force","build:umd:min":"cross-env BABEL_ENV=es NODE_ENV=production rollup -c -i src/index.js -o dist/redux.min.js","examples:lint":"eslint examples","examples:test":"cross-env CI=true babel-node examples/testAll.js","build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib"},"_npmUser":{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"},"_npmVersion":"5.4.2","description":"Abstraction layer to simplify rest api calls in redux","directories":{},"_nodeVersion":"8.1.2","dependencies":{},"devDependencies":{"glob":"^7.1.1","jest":"^20.0.4","redux":"^3.7.1","eslint":"^3.19.0","rimraf":"^2.3.4","rollup":"^0.43.0","babel-cli":"^6.3.15","coveralls":"^2.13.1","cross-env":"^5.0.1","babel-core":"^6.3.15","babel-jest":"^20.0.3","gitbook-cli":"^2.3.0","babel-eslint":"^7.0.0","babel-register":"^6.3.13","eslint-plugin-react":"^7.1.0","rollup-plugin-babel":"^2.7.1","eslint-plugin-import":"^2.2.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-replace":"^1.1.1","eslint-plugin-flowtype":"^2.29.2","eslint-plugin-jsx-a11y":"^5.0.3","eslint-config-react-app":"^1.0.4","rollup-plugin-node-resolve":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-check-es2015-constants":"^6.3.13","babel-plugin-transform-es2015-for-of":"^6.3.13","babel-plugin-transform-es2015-spread":"^6.3.13","babel-plugin-transform-es2015-classes":"^6.3.13","babel-plugin-transform-es2015-literals":"^6.3.13","babel-plugin-transform-es2015-parameters":"^6.3.13","babel-plugin-transform-object-rest-spread":"^6.3.13","babel-plugin-transform-es2015-object-super":"^6.3.13","babel-plugin-transform-es2015-sticky-regex":"^6.3.13","babel-plugin-transform-es2015-block-scoping":"^6.3.13","babel-plugin-transform-es2015-destructuring":"^6.3.13","babel-plugin-transform-es2015-function-name":"^6.3.13","babel-plugin-transform-es2015-unicode-regex":"^6.3.13","babel-plugin-transform-es3-property-literals":"^6.5.0","babel-plugin-transform-es2015-arrow-functions":"^6.3.13","babel-plugin-transform-es2015-modules-commonjs":"^6.3.13","babel-plugin-transform-es2015-template-literals":"^6.3.13","babel-plugin-transform-es2015-computed-properties":"^6.3.13","babel-plugin-transform-es2015-shorthand-properties":"^6.3.13","babel-plugin-transform-es2015-block-scoped-functions":"^6.3.13","babel-plugin-transform-es3-member-expression-literals":"^6.5.0"},"peerDependencies":{"redux":">= 3.7.1"},"_npmOperationalInternal":{"tmp":"tmp/redux-arc-0.4.0.tgz_1509031615525_0.802422585664317","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.4.1":{"name":"redux-arc","version":"0.4.1","keywords":["redux","redux-arc","react","async"],"license":"MIT","_id":"redux-arc@0.4.1","maintainers":[{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"}],"dist":{"shasum":"1946ab0edf1ade0e7cba9bb0b927ed2dfe4e3984","tarball":"https://registry.npmjs.org/redux-arc/-/redux-arc-0.4.1.tgz","integrity":"sha512-O5MGB030hjlmnOpd6hZjJl6H6WlSE4QxJJjYXZAV+aQ/+FR+Ba4TBTZ7RbnKK/pCVBzLvU+MbnhKCcj+L+co2Q==","signatures":[{"sig":"MEYCIQDlyPAvURAoDRrekRmJ8GEd4HhgNUxfySxQlXzhumwg+gIhAP2ok1Se+lh0fj90z5/pB+YbRjDlS8gbCycRvO30v2WA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"testRegex":"(/test/.*\\.spec.js)$","coverageDirectory":"./coverage"},"main":"lib/index.js","files":["dist","lib","src"],"module":"es/index.js","authors":["Vinicius Dacal <viniciusldacal@gmail.com> (https://github.com/viniciusdacal)"],"gitHead":"e84620d07a2d04c7eae67b51e399990a91c1d6c5","scripts":{"lint":"eslint src test build","test":"cross-env BABEL_ENV=commonjs jest","build":"yarn run build:commonjs && yarn run build:es && yarn run build:umd && yarn run build:umd:min","clean":"rimraf lib dist es coverage","prepare":"yarn run clean && yarn run lint && yarn test && yarn run build","build:es":"cross-env BABEL_ENV=es babel src --out-dir es","test:cov":"yarn test -- --coverage","build:umd":"cross-env BABEL_ENV=es NODE_ENV=development rollup -c -i src/index.js -o dist/redux.js","coveralls":"cat ./coverage/lcov.info | ./node_modules/.bin/coveralls","docs:build":"yarn run docs:prepare && gitbook build -g viniciusdacal/redux-arc && cp logo/apple-touch-icon.png _book/gitbook/images/apple-touch-icon-precomposed-152.png && cp logo/favicon.ico _book/gitbook/images","docs:clean":"rimraf _book","docs:watch":"yarn run docs:prepare && gitbook serve","test:watch":"yarn test -- --watch","docs:prepare":"gitbook install","docs:publish":"yarn run docs:clean && yarn run docs:build && cp CNAME _book && cd _book && git init && git commit --allow-empty -m 'update book' && git checkout -b gh-pages && touch .nojekyll && git add . && git commit -am 'update book' && git push git@github.com:viniciusdacal/redux-arc gh-pages --force","build:umd:min":"cross-env BABEL_ENV=es NODE_ENV=production rollup -c -i src/index.js -o dist/redux.min.js","examples:lint":"eslint examples","examples:test":"cross-env CI=true babel-node examples/testAll.js","build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib"},"_npmUser":{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"},"_npmVersion":"5.5.1","description":"Abstraction layer to simplify rest api calls in redux","directories":{},"_nodeVersion":"8.9.1","dependencies":{},"devDependencies":{"glob":"^7.1.1","jest":"^20.0.4","redux":"^3.7.1","eslint":"^3.19.0","rimraf":"^2.3.4","rollup":"^0.43.0","babel-cli":"^6.3.15","coveralls":"^2.13.1","cross-env":"^5.0.1","babel-core":"^6.3.15","babel-jest":"^20.0.3","gitbook-cli":"^2.3.0","babel-eslint":"^7.0.0","babel-register":"^6.3.13","eslint-plugin-react":"^7.1.0","rollup-plugin-babel":"^2.7.1","eslint-plugin-import":"^2.2.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-replace":"^1.1.1","eslint-plugin-flowtype":"^2.29.2","eslint-plugin-jsx-a11y":"^5.0.3","eslint-config-react-app":"^1.0.4","rollup-plugin-node-resolve":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-check-es2015-constants":"^6.3.13","babel-plugin-transform-es2015-for-of":"^6.3.13","babel-plugin-transform-es2015-spread":"^6.3.13","babel-plugin-transform-es2015-classes":"^6.3.13","babel-plugin-transform-es2015-literals":"^6.3.13","babel-plugin-transform-es2015-parameters":"^6.3.13","babel-plugin-transform-object-rest-spread":"^6.3.13","babel-plugin-transform-es2015-object-super":"^6.3.13","babel-plugin-transform-es2015-sticky-regex":"^6.3.13","babel-plugin-transform-es2015-block-scoping":"^6.3.13","babel-plugin-transform-es2015-destructuring":"^6.3.13","babel-plugin-transform-es2015-function-name":"^6.3.13","babel-plugin-transform-es2015-unicode-regex":"^6.3.13","babel-plugin-transform-es3-property-literals":"^6.5.0","babel-plugin-transform-es2015-arrow-functions":"^6.3.13","babel-plugin-transform-es2015-modules-commonjs":"^6.3.13","babel-plugin-transform-es2015-template-literals":"^6.3.13","babel-plugin-transform-es2015-computed-properties":"^6.3.13","babel-plugin-transform-es2015-shorthand-properties":"^6.3.13","babel-plugin-transform-es2015-block-scoped-functions":"^6.3.13","babel-plugin-transform-es3-member-expression-literals":"^6.5.0"},"peerDependencies":{"redux":">= 3.7.1"},"_npmOperationalInternal":{"tmp":"tmp/redux-arc-0.4.1.tgz_1511203955609_0.1293459301814437","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.4.2":{"name":"redux-arc","version":"0.4.2","keywords":["redux","redux-arc","react","async"],"license":"MIT","_id":"redux-arc@0.4.2","maintainers":[{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"}],"dist":{"shasum":"fdb561ecc5838c725fbbe747b39931d5d9cbc4a0","tarball":"https://registry.npmjs.org/redux-arc/-/redux-arc-0.4.2.tgz","integrity":"sha512-jNO7X5IIGuULaBqye1OHei9QLrs0N88apTSqlpIW4AOzJNxSAgwudJoqYJYLKpkpS73BPS+eb18F3B44AzPG5A==","signatures":[{"sig":"MEQCIEjKmLSKS08DtSpqTOXDaoKOE8XDXey5rCPKFVnR3NyCAiADhXhrxlJmoyZ59QmAkKHYjdwSCJ9ct9zWsYq8kLIXfg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"testRegex":"(/test/.*\\.spec.js)$","coverageDirectory":"./coverage"},"main":"lib/index.js","files":["dist","lib","src"],"module":"es/index.js","authors":["Vinicius Dacal <viniciusldacal@gmail.com> (https://github.com/viniciusdacal)"],"gitHead":"d89d2dbdbd984029c427fb015acb1af0de86653a","scripts":{"lint":"eslint src test build","test":"cross-env BABEL_ENV=commonjs jest","build":"yarn run build:commonjs && yarn run build:es && yarn run build:umd && yarn run build:umd:min","clean":"rimraf lib dist es coverage","prepare":"yarn run clean && yarn run lint && yarn test && yarn run build","build:es":"cross-env BABEL_ENV=es babel src --out-dir es","test:cov":"yarn test -- --coverage","build:umd":"cross-env BABEL_ENV=es NODE_ENV=development rollup -c -i src/index.js -o dist/redux.js","coveralls":"cat ./coverage/lcov.info | ./node_modules/.bin/coveralls","docs:build":"yarn run docs:prepare && gitbook build -g viniciusdacal/redux-arc && cp logo/apple-touch-icon.png _book/gitbook/images/apple-touch-icon-precomposed-152.png && cp logo/favicon.ico _book/gitbook/images","docs:clean":"rimraf _book","docs:watch":"yarn run docs:prepare && gitbook serve","test:watch":"yarn test -- --watch","docs:prepare":"gitbook install","docs:publish":"yarn run docs:clean && yarn run docs:build && cp CNAME _book && cd _book && git init && git commit --allow-empty -m 'update book' && git checkout -b gh-pages && touch .nojekyll && git add . && git commit -am 'update book' && git push git@github.com:viniciusdacal/redux-arc gh-pages --force","build:umd:min":"cross-env BABEL_ENV=es NODE_ENV=production rollup -c -i src/index.js -o dist/redux.min.js","examples:lint":"eslint examples","examples:test":"cross-env CI=true babel-node examples/testAll.js","build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib"},"_npmUser":{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"},"_npmVersion":"5.5.1","description":"Abstraction layer to simplify rest api calls in redux","directories":{},"_nodeVersion":"8.9.1","dependencies":{},"devDependencies":{"glob":"^7.1.1","jest":"^20.0.4","redux":"^3.7.1","eslint":"^3.19.0","rimraf":"^2.3.4","rollup":"^0.43.0","babel-cli":"^6.3.15","coveralls":"^2.13.1","cross-env":"^5.0.1","babel-core":"^6.3.15","babel-jest":"^20.0.3","gitbook-cli":"^2.3.0","babel-eslint":"^7.0.0","babel-register":"^6.3.13","eslint-plugin-react":"^7.1.0","rollup-plugin-babel":"^2.7.1","eslint-plugin-import":"^2.2.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-replace":"^1.1.1","eslint-plugin-flowtype":"^2.29.2","eslint-plugin-jsx-a11y":"^5.0.3","eslint-config-react-app":"^1.0.4","rollup-plugin-node-resolve":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-check-es2015-constants":"^6.3.13","babel-plugin-transform-es2015-for-of":"^6.3.13","babel-plugin-transform-es2015-spread":"^6.3.13","babel-plugin-transform-es2015-classes":"^6.3.13","babel-plugin-transform-es2015-literals":"^6.3.13","babel-plugin-transform-es2015-parameters":"^6.3.13","babel-plugin-transform-object-rest-spread":"^6.3.13","babel-plugin-transform-es2015-object-super":"^6.3.13","babel-plugin-transform-es2015-sticky-regex":"^6.3.13","babel-plugin-transform-es2015-block-scoping":"^6.3.13","babel-plugin-transform-es2015-destructuring":"^6.3.13","babel-plugin-transform-es2015-function-name":"^6.3.13","babel-plugin-transform-es2015-unicode-regex":"^6.3.13","babel-plugin-transform-es3-property-literals":"^6.5.0","babel-plugin-transform-es2015-arrow-functions":"^6.3.13","babel-plugin-transform-es2015-modules-commonjs":"^6.3.13","babel-plugin-transform-es2015-template-literals":"^6.3.13","babel-plugin-transform-es2015-computed-properties":"^6.3.13","babel-plugin-transform-es2015-shorthand-properties":"^6.3.13","babel-plugin-transform-es2015-block-scoped-functions":"^6.3.13","babel-plugin-transform-es3-member-expression-literals":"^6.5.0"},"peerDependencies":{"redux":">= 3.7.1"},"_npmOperationalInternal":{"tmp":"tmp/redux-arc-0.4.2.tgz_1512390933130_0.6795967314392328","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.5.0":{"name":"redux-arc","version":"0.5.0","keywords":["redux","redux-arc","react","async"],"license":"MIT","_id":"redux-arc@0.5.0","maintainers":[{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"}],"dist":{"shasum":"69bd8623cde6aca12f038b6766dd50f1af7749a6","tarball":"https://registry.npmjs.org/redux-arc/-/redux-arc-0.5.0.tgz","integrity":"sha512-uGned6gIMTDOoBxzLmLqrbaXDd7RnEIRvbAyH+SCej6h6mIyR2uMtzFg8w+MUtqUvJhT5qTw6Q1KDCu/So0a7g==","signatures":[{"sig":"MEYCIQDvm4pLsrRJXucu+/ZNDMspwrnNlVs/NNsihtksCZJFFwIhAKJmNqA6Gwzu6W2UHkBkH1mTS5ptyAiD/qNY5QC1FPUD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"globals":{"BABEL_ENV":"commonjs"},"testRegex":"(/test/.*\\.spec.js)$","coverageDirectory":"./coverage","modulePathIgnorePatterns":["<rootDir>/_book/"]},"main":"lib/index.js","files":["dist","lib","src"],"module":"es/index.js","authors":["Vinicius Dacal <viniciusldacal@gmail.com> (https://github.com/viniciusdacal)"],"gitHead":"f9fd44e5af21afb8272095c8b038b7d246befdd6","scripts":{"lint":"eslint src test build","test":"cross-env BABEL_ENV=commonjs jest","build":"yarn run build:commonjs && yarn run build:es && yarn run build:umd && yarn run build:umd:min","clean":"rimraf lib dist es coverage","prepare":"yarn run clean && yarn run lint && yarn test && yarn run build","build:es":"cross-env BABEL_ENV=es babel src --out-dir es","test:cov":"yarn test -- --coverage","build:umd":"cross-env BABEL_ENV=es NODE_ENV=development rollup -c -i src/index.js -o dist/redux.js","coveralls":"cat ./coverage/lcov.info | ./node_modules/.bin/coveralls","docs:build":"yarn run docs:prepare && gitbook build -g viniciusdacal/redux-arc && cp logo/apple-touch-icon.png _book/gitbook/images/apple-touch-icon-precomposed-152.png && cp logo/favicon.ico _book/gitbook/images","docs:clean":"rimraf _book","docs:watch":"yarn run docs:prepare && gitbook serve","test:watch":"yarn test -- --watch","docs:prepare":"gitbook install","docs:publish":"yarn run docs:clean && yarn run docs:build && cp CNAME _book && cd _book && git init && git commit --allow-empty -m 'update book' && git checkout -b gh-pages && touch .nojekyll && git add . && git commit -am 'update book' && git push git@github.com:viniciusdacal/redux-arc gh-pages --force","build:umd:min":"cross-env BABEL_ENV=es NODE_ENV=production rollup -c -i src/index.js -o dist/redux.min.js","examples:lint":"eslint examples","examples:test":"cross-env CI=true babel-node examples/testAll.js","build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib"},"_npmUser":{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"},"_npmVersion":"5.5.1","description":"Abstraction layer to simplify rest api calls in redux","directories":{},"_nodeVersion":"9.3.0","dependencies":{},"devDependencies":{"glob":"^7.1.1","jest":"^21.2.1","redux":"^3.7.1","eslint":"^4.9.0","rimraf":"^2.6.2","rollup":"^0.51.8","prettier":"1.8.2","babel-cli":"^6.26.0","cross-env":"^5.1.0","babel-core":"^6.26.0","babel-jest":"^21.2.0","gitbook-cli":"^2.3.2","babel-eslint":"^8.0.1","babel-register":"^6.26.0","babel-preset-env":"^1.6.1","eslint-plugin-react":"^7.4.0","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.2.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-replace":"^2.0.0","eslint-plugin-flowtype":"^2.39.1","eslint-plugin-jsx-a11y":"^5.1.1","eslint-config-react-app":"^2.0.1","rollup-plugin-node-resolve":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-object-rest-spread":"^6.26.0"},"peerDependencies":{"redux":">= 3.7.1"},"_npmOperationalInternal":{"tmp":"tmp/redux-arc-0.5.0.tgz_1517497089976_0.3050511428155005","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.6.0":{"name":"redux-arc","version":"0.6.0","keywords":["redux","redux-arc","react","async"],"license":"MIT","_id":"redux-arc@0.6.0","maintainers":[{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"}],"dist":{"shasum":"400a373a7ca096352531de2a48b612c611e81a82","tarball":"https://registry.npmjs.org/redux-arc/-/redux-arc-0.6.0.tgz","integrity":"sha512-oAP3W0NJOQjsKb+V0UdIfr6j+cdrixyJOR38TlHUoBMAGi7MGii9vRvm+JiKz+UdDFj8pNLz0F3Im5LfX9ML3g==","signatures":[{"sig":"MEQCIHzkRV8Y3RNcGVc30+X0Ef9bpBa6hYKYUx8BPdBPkGGpAiAEp+iRERFTrcphJxa//L4n5L1TDRCb6A7Ie82mx4q8cg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"jest":{"globals":{"BABEL_ENV":"commonjs"},"testRegex":"(/test/.*\\.spec.js)$","coverageDirectory":"./coverage","modulePathIgnorePatterns":["<rootDir>/_book/"]},"main":"lib/index.js","files":["dist","lib","src"],"module":"es/index.js","authors":["Vinicius Dacal <viniciusldacal@gmail.com> (https://github.com/viniciusdacal)"],"gitHead":"424927b6f4da8c06e38cf0ed0a903d7f877cb712","scripts":{"lint":"eslint src test build","test":"cross-env BABEL_ENV=commonjs jest","build":"yarn run build:commonjs && yarn run build:es && yarn run build:umd && yarn run build:umd:min","clean":"rimraf lib dist es coverage","prepare":"yarn run clean && yarn run lint && yarn test && yarn run build","build:es":"cross-env BABEL_ENV=es babel src --out-dir es","test:cov":"yarn test -- --coverage","build:umd":"cross-env BABEL_ENV=es NODE_ENV=development rollup -c -i src/index.js -o dist/redux.js","coveralls":"cat ./coverage/lcov.info | ./node_modules/.bin/coveralls","docs:build":"yarn run docs:prepare && gitbook build -g viniciusdacal/redux-arc && cp logo/apple-touch-icon.png _book/gitbook/images/apple-touch-icon-precomposed-152.png && cp logo/favicon.ico _book/gitbook/images","docs:clean":"rimraf _book","docs:watch":"yarn run docs:prepare && gitbook serve","test:watch":"yarn test -- --watch","docs:prepare":"gitbook install","docs:publish":"yarn run docs:clean && yarn run docs:build && cp CNAME _book && cd _book && git init && git commit --allow-empty -m 'update book' && git checkout -b gh-pages && touch .nojekyll && git add . && git commit -am 'update book' && git push git@github.com:viniciusdacal/redux-arc gh-pages --force","build:umd:min":"cross-env BABEL_ENV=es NODE_ENV=production rollup -c -i src/index.js -o dist/redux.min.js","examples:lint":"eslint examples","examples:test":"cross-env CI=true babel-node examples/testAll.js","build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib"},"_npmUser":{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"},"_npmVersion":"5.6.0","description":"Abstraction layer to simplify rest api calls in redux","directories":{},"_nodeVersion":"9.3.0","dependencies":{},"devDependencies":{"glob":"^7.1.1","jest":"^21.2.1","redux":"^3.7.1","eslint":"^4.9.0","rimraf":"^2.6.2","rollup":"^0.51.8","prettier":"1.8.2","babel-cli":"^6.26.0","cross-env":"^5.1.0","babel-core":"^6.26.0","babel-jest":"^21.2.0","gitbook-cli":"^2.3.2","babel-eslint":"^8.0.1","babel-register":"^6.26.0","babel-preset-env":"^1.6.1","eslint-plugin-react":"^7.4.0","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.2.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-replace":"^2.0.0","eslint-plugin-flowtype":"^2.39.1","eslint-plugin-jsx-a11y":"^5.1.1","eslint-config-react-app":"^2.0.1","rollup-plugin-node-resolve":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-object-rest-spread":"^6.26.0"},"peerDependencies":{"redux":">= 3.7.1"},"_npmOperationalInternal":{"tmp":"tmp/redux-arc-0.6.0.tgz_1517856427782_0.04606438358314335","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.6.1":{"name":"redux-arc","version":"0.6.1","keywords":["redux","redux-arc","react","async"],"license":"MIT","_id":"redux-arc@0.6.1","maintainers":[{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"}],"dist":{"shasum":"645639053e7a0b072866f8f151c2ac06af42e891","tarball":"https://registry.npmjs.org/redux-arc/-/redux-arc-0.6.1.tgz","fileCount":37,"integrity":"sha512-dkym6JNpMd5MfpPHro9SzNy/XSnxgoSP8KOlTSLEgTgdMekPWieWi/W6AzXLwgWnjqJcjXVfX2hJI+QyZ9oY1Q==","signatures":[{"sig":"MEUCIQCLWbj/6rc1gMC0zqJcpsCU+TwEgxdQXSnXzQJZJKmw1AIgF9mnwicIBoZrBh1qtFUEOXuCQdxlT2H3LGvufImVm48=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130495},"jest":{"globals":{"BABEL_ENV":"commonjs"},"testRegex":"(/test/.*\\.spec.js)$","coverageDirectory":"./coverage","modulePathIgnorePatterns":["<rootDir>/_book/"]},"main":"lib/index.js","files":["dist","lib","src"],"module":"es/index.js","authors":["Vinicius Dacal <viniciusldacal@gmail.com> (https://github.com/viniciusdacal)"],"gitHead":"897bc8f9ca44834ebad071438249758b0d3f605c","scripts":{"lint":"eslint src test build","test":"cross-env BABEL_ENV=commonjs jest","build":"yarn run build:commonjs && yarn run build:es && yarn run build:umd && yarn run build:umd:min","clean":"rimraf lib dist es coverage","prepare":"yarn run clean && yarn run lint && yarn test && yarn run build","build:es":"cross-env BABEL_ENV=es babel src --out-dir es","test:cov":"yarn test -- --coverage","build:umd":"cross-env BABEL_ENV=es NODE_ENV=development rollup -c -i src/index.js -o dist/redux.js","coveralls":"cat ./coverage/lcov.info | ./node_modules/.bin/coveralls","docs:build":"yarn run docs:prepare && gitbook build -g viniciusdacal/redux-arc && cp logo/apple-touch-icon.png _book/gitbook/images/apple-touch-icon-precomposed-152.png && cp logo/favicon.ico _book/gitbook/images","docs:clean":"rimraf _book","docs:watch":"yarn run docs:prepare && gitbook serve","test:watch":"yarn test -- --watch","docs:prepare":"gitbook install","docs:publish":"yarn run docs:clean && yarn run docs:build && cp CNAME _book && cd _book && git init && git commit --allow-empty -m 'update book' && git checkout -b gh-pages && touch .nojekyll && git add . && git commit -am 'update book' && git push git@github.com:viniciusdacal/redux-arc gh-pages --force","build:umd:min":"cross-env BABEL_ENV=es NODE_ENV=production rollup -c -i src/index.js -o dist/redux.min.js","examples:lint":"eslint examples","examples:test":"cross-env CI=true babel-node examples/testAll.js","build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib"},"_npmUser":{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"},"_npmVersion":"5.7.1","description":"Abstraction layer to simplify rest api calls in redux","directories":{},"_nodeVersion":"9.3.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"glob":"^7.1.1","jest":"^21.2.1","redux":"^3.7.1","eslint":"^4.9.0","rimraf":"^2.6.2","rollup":"^0.51.8","prettier":"1.8.2","babel-cli":"^6.26.0","cross-env":"^5.1.0","babel-core":"^6.26.0","babel-jest":"^21.2.0","gitbook-cli":"^2.3.2","babel-eslint":"^8.0.1","babel-register":"^6.26.0","babel-preset-env":"^1.6.1","eslint-plugin-react":"^7.4.0","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.2.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-replace":"^2.0.0","eslint-plugin-flowtype":"^2.39.1","eslint-plugin-jsx-a11y":"^5.1.1","eslint-config-react-app":"^2.0.1","rollup-plugin-node-resolve":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-object-rest-spread":"^6.26.0"},"peerDependencies":{"redux":">= 3.7.1"},"_npmOperationalInternal":{"tmp":"tmp/redux-arc_0.6.1_1520460551317_0.5474449891878861","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.6.2":{"name":"redux-arc","version":"0.6.2","keywords":["redux","redux-arc","react","async"],"license":"MIT","_id":"redux-arc@0.6.2","maintainers":[{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"}],"dist":{"shasum":"802a2f7b2aa28d23f9b202dec0038ae03a233569","tarball":"https://registry.npmjs.org/redux-arc/-/redux-arc-0.6.2.tgz","fileCount":37,"integrity":"sha512-I+WZREzAgdJfuyYRJ4kpI4W2Ph+ZIkXtEMl+1w8b9j8htqqJdAWTANN4kz7J5E5DbCvb9iUFWMFK6p0z5/hPmQ==","signatures":[{"sig":"MEUCIQCzgw/uxEC3tmZt4hszgRPPZYoADmSlYFsBvrX7ryt0rAIgMjlYLQ4ZDSJWlrybqTztycXqr8KYW3SZZEFklh8PKxo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130774},"jest":{"globals":{"BABEL_ENV":"commonjs"},"testRegex":"(/test/.*\\.spec.js)$","coverageDirectory":"./coverage","modulePathIgnorePatterns":["<rootDir>/_book/"]},"main":"lib/index.js","files":["dist","lib","src"],"module":"es/index.js","authors":["Vinicius Dacal <viniciusldacal@gmail.com> (https://github.com/viniciusdacal)"],"gitHead":"c6d1ddf76be13acaf15f72935cf268a69d82b70d","scripts":{"lint":"eslint src test build","test":"cross-env BABEL_ENV=commonjs jest","build":"yarn run build:commonjs && yarn run build:es && yarn run build:umd && yarn run build:umd:min","clean":"rimraf lib dist es coverage","prepare":"yarn run clean && yarn run lint && yarn test && yarn run build","build:es":"cross-env BABEL_ENV=es babel src --out-dir es","test:cov":"yarn test -- --coverage","build:umd":"cross-env BABEL_ENV=es NODE_ENV=development rollup -c -i src/index.js -o dist/redux.js","coveralls":"cat ./coverage/lcov.info | ./node_modules/.bin/coveralls","docs:build":"yarn run docs:prepare && gitbook build -g viniciusdacal/redux-arc && cp logo/apple-touch-icon.png _book/gitbook/images/apple-touch-icon-precomposed-152.png && cp logo/favicon.ico _book/gitbook/images","docs:clean":"rimraf _book","docs:watch":"yarn run docs:prepare && gitbook serve","test:watch":"yarn test -- --watch","docs:prepare":"gitbook install","docs:publish":"yarn run docs:clean && yarn run docs:build && cp CNAME _book && cd _book && git init && git commit --allow-empty -m 'update book' && git checkout -b gh-pages && touch .nojekyll && git add . && git commit -am 'update book' && git push git@github.com:viniciusdacal/redux-arc gh-pages --force","build:umd:min":"cross-env BABEL_ENV=es NODE_ENV=production rollup -c -i src/index.js -o dist/redux.min.js","examples:lint":"eslint examples","examples:test":"cross-env CI=true babel-node examples/testAll.js","build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib"},"_npmUser":{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"},"_npmVersion":"5.7.1","description":"Abstraction layer to simplify rest api calls in redux","directories":{},"_nodeVersion":"9.3.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"glob":"^7.1.1","jest":"^21.2.1","redux":"^3.7.1","eslint":"^4.9.0","rimraf":"^2.6.2","rollup":"^0.51.8","prettier":"1.8.2","babel-cli":"^6.26.0","cross-env":"^5.1.0","babel-core":"^6.26.0","babel-jest":"^21.2.0","gitbook-cli":"^2.3.2","babel-eslint":"^8.0.1","babel-register":"^6.26.0","babel-preset-env":"^1.6.1","eslint-plugin-react":"^7.4.0","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.2.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-replace":"^2.0.0","eslint-plugin-flowtype":"^2.39.1","eslint-plugin-jsx-a11y":"^5.1.1","eslint-config-react-app":"^2.0.1","rollup-plugin-node-resolve":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-object-rest-spread":"^6.26.0"},"peerDependencies":{"redux":">= 3.7.1"},"_npmOperationalInternal":{"tmp":"tmp/redux-arc_0.6.2_1520591421164_0.12066813201372395","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.7.0":{"name":"redux-arc","version":"0.7.0","keywords":["redux","redux-arc","react","async"],"license":"MIT","_id":"redux-arc@0.7.0","maintainers":[{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"}],"dist":{"shasum":"549b0f8c537270667dc58b607784db525eaa9e25","tarball":"https://registry.npmjs.org/redux-arc/-/redux-arc-0.7.0.tgz","fileCount":35,"integrity":"sha512-jM75kkUJPW71A+fxD+W0haCC7vnFvLW+EiXnqTKGa2xagkTj8GSW83dvQaeXp5m3goIJKTraV47CxeyMwza1kg==","signatures":[{"sig":"MEUCICcAIgy33G9CtxsBWt+YaSpIkbQRF0G/syj8VTFHEffkAiEAyD9UxjzyoL0K1m0zGsg5rIaJU3+byPEJIT14TmbWxQM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":125954},"jest":{"globals":{"BABEL_ENV":"commonjs"},"testRegex":"(/test/.*\\.spec.js)$","coverageDirectory":"./coverage","modulePathIgnorePatterns":["<rootDir>/_book/"]},"main":"lib/index.js","files":["dist","lib","src"],"module":"es/index.js","authors":["Vinicius Dacal <viniciusldacal@gmail.com> (https://github.com/viniciusdacal)"],"gitHead":"a5f15c02aa3857e600384bcf107a73489bd8276a","scripts":{"lint":"eslint src test build","test":"cross-env BABEL_ENV=commonjs jest","build":"yarn run build:commonjs && yarn run build:es && yarn run build:umd && yarn run build:umd:min","clean":"rimraf lib dist es coverage","prepare":"yarn run clean && yarn run lint && yarn test && yarn run build","build:es":"cross-env BABEL_ENV=es babel src --out-dir es","test:cov":"yarn test -- --coverage","build:umd":"cross-env BABEL_ENV=es NODE_ENV=development rollup -c -i src/index.js -o dist/redux.js","coveralls":"cat ./coverage/lcov.info | ./node_modules/.bin/coveralls","docs:build":"yarn run docs:prepare && gitbook build -g viniciusdacal/redux-arc && cp logo/apple-touch-icon.png _book/gitbook/images/apple-touch-icon-precomposed-152.png && cp logo/favicon.ico _book/gitbook/images","docs:clean":"rimraf _book","docs:watch":"yarn run docs:prepare && gitbook serve","test:watch":"yarn test -- --watch","docs:prepare":"gitbook install","docs:publish":"yarn run docs:clean && yarn run docs:build && cp CNAME _book && cd _book && git init && git commit --allow-empty -m 'update book' && git checkout -b gh-pages && touch .nojekyll && git add . && git commit -am 'update book' && git push git@github.com:viniciusdacal/redux-arc gh-pages --force","build:umd:min":"cross-env BABEL_ENV=es NODE_ENV=production rollup -c -i src/index.js -o dist/redux.min.js","examples:lint":"eslint examples","examples:test":"cross-env CI=true babel-node examples/testAll.js","build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib"},"_npmUser":{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"},"_npmVersion":"5.7.1","description":"Abstraction layer to simplify rest api calls in redux","directories":{},"_nodeVersion":"9.3.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"glob":"7.1.1","jest":"22.4.2","redux":"3.7.1","eslint":"4.9.0","rimraf":"2.6.2","rollup":"0.51.8","prettier":"1.8.2","babel-cli":"6.26.0","cross-env":"5.1.0","babel-core":"6.26.0","babel-jest":"22.4.1","gitbook-cli":"2.3.2","babel-eslint":"8.2.2","babel-register":"6.26.0","babel-preset-env":"1.6.1","eslint-plugin-react":"7.4.0","rollup-plugin-babel":"3.0.2","eslint-plugin-import":"2.2.0","rollup-plugin-uglify":"2.0.1","rollup-plugin-replace":"2.0.0","eslint-plugin-flowtype":"2.39.1","eslint-plugin-jsx-a11y":"5.1.1","eslint-config-react-app":"2.0.1","rollup-plugin-node-resolve":"3.0.0","babel-plugin-external-helpers":"6.22.0","babel-plugin-transform-object-rest-spread":"6.26.0"},"peerDependencies":{"redux":">= 3.7.1"},"_npmOperationalInternal":{"tmp":"tmp/redux-arc_0.7.0_1520635629005_0.939188267120368","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.7.1":{"name":"redux-arc","version":"0.7.1","keywords":["redux","redux-arc","react","async"],"license":"MIT","_id":"redux-arc@0.7.1","maintainers":[{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"}],"dist":{"shasum":"47030d48c50a21f1b976053d97ead1fbe8da2f1c","tarball":"https://registry.npmjs.org/redux-arc/-/redux-arc-0.7.1.tgz","fileCount":35,"integrity":"sha512-h4/FJPpnXiyt5RPWUEGq9z+RsEWgLsonRevwNOOKIvXLmsEhRe/ptGfj9u5MVY0xSfk48PzB53qVqCREFFtSeg==","signatures":[{"sig":"MEUCIFG46J5RNGTaH9Jiy4DJfkRnasdNH1T4dCHpm63cFKhKAiEAu6IlvYd10+0w0+7QwU3Ks6D6S1oT6A9Hw8qV/g1MK+g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":128088},"jest":{"globals":{"BABEL_ENV":"commonjs"},"testRegex":"(/test/.*\\.spec.js)$","coverageDirectory":"./coverage","modulePathIgnorePatterns":["<rootDir>/_book/"]},"main":"lib/index.js","files":["dist","lib","src"],"module":"es/index.js","authors":["Vinicius Dacal <viniciusldacal@gmail.com> (https://github.com/viniciusdacal)"],"gitHead":"f721f1d2cb33d644fe82c52dfd7ee8be8d03d33f","scripts":{"lint":"eslint src test build","test":"cross-env BABEL_ENV=commonjs jest","build":"yarn run build:commonjs && yarn run build:es && yarn run build:umd && yarn run build:umd:min","clean":"rimraf lib dist es coverage","prepare":"yarn run clean && yarn run lint && yarn test && yarn run build","build:es":"cross-env BABEL_ENV=es babel src --out-dir es","test:cov":"yarn test -- --coverage","build:umd":"cross-env BABEL_ENV=es NODE_ENV=development rollup -c -i src/index.js -o dist/redux.js","coveralls":"cat ./coverage/lcov.info | ./node_modules/.bin/coveralls","docs:build":"yarn run docs:prepare && gitbook build -g viniciusdacal/redux-arc && cp logo/apple-touch-icon.png _book/gitbook/images/apple-touch-icon-precomposed-152.png && cp logo/favicon.ico _book/gitbook/images","docs:clean":"rimraf _book","docs:watch":"yarn run docs:prepare && gitbook serve","test:watch":"yarn test -- --watch","docs:prepare":"gitbook install","docs:publish":"yarn run docs:clean && yarn run docs:build && cp CNAME _book && cd _book && git init && git commit --allow-empty -m 'update book' && git checkout -b gh-pages && touch .nojekyll && git add . && git commit -am 'update book' && git push git@github.com:viniciusdacal/redux-arc gh-pages --force","build:umd:min":"cross-env BABEL_ENV=es NODE_ENV=production rollup -c -i src/index.js -o dist/redux.min.js","examples:lint":"eslint examples","examples:test":"cross-env CI=true babel-node examples/testAll.js","build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib"},"_npmUser":{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"},"_npmVersion":"5.7.1","description":"Abstraction layer to simplify rest api calls in redux","directories":{},"_nodeVersion":"9.3.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"glob":"7.1.1","jest":"22.4.2","redux":"3.7.1","eslint":"4.9.0","rimraf":"2.6.2","rollup":"0.51.8","prettier":"1.8.2","babel-cli":"6.26.0","cross-env":"5.1.0","babel-core":"6.26.0","babel-jest":"22.4.1","gitbook-cli":"2.3.2","babel-eslint":"8.2.2","babel-register":"6.26.0","babel-preset-env":"1.6.1","eslint-plugin-react":"7.4.0","rollup-plugin-babel":"3.0.2","eslint-plugin-import":"2.2.0","rollup-plugin-uglify":"2.0.1","rollup-plugin-replace":"2.0.0","eslint-plugin-flowtype":"2.39.1","eslint-plugin-jsx-a11y":"5.1.1","eslint-config-react-app":"2.0.1","rollup-plugin-node-resolve":"3.0.0","babel-plugin-external-helpers":"6.22.0","babel-plugin-transform-object-rest-spread":"6.26.0"},"peerDependencies":{"redux":">= 3.7.1"},"_npmOperationalInternal":{"tmp":"tmp/redux-arc_0.7.1_1520909904955_0.6742734426924635","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.7.2":{"name":"redux-arc","version":"0.7.2","keywords":["redux","redux-arc","react","async"],"license":"MIT","_id":"redux-arc@0.7.2","maintainers":[{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"}],"dist":{"shasum":"c93cde6972f399579c598865f5cecb616e2255b4","tarball":"https://registry.npmjs.org/redux-arc/-/redux-arc-0.7.2.tgz","fileCount":35,"integrity":"sha512-sV/07olUF+CHedmNIqSWMFJbtpMZmu+4R6ubh2qsiHi3CHgJC/VUXssWhoJeC1Bdtl3g6Gk80q00SWyTauMS7w==","signatures":[{"sig":"MEQCIAGb1lURbadHJWu5jrl1gOpVxSwV+yR20Mxh/omrGi9hAiB3lzZshjboeFWPwgk7W5J2WV4Zp/O15ptw0LzZaDoohQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":127747},"jest":{"globals":{"BABEL_ENV":"commonjs"},"testRegex":"(/test/.*\\.spec.js)$","coverageDirectory":"./coverage","modulePathIgnorePatterns":["<rootDir>/_book/"]},"main":"lib/index.js","files":["dist","lib","src"],"module":"es/index.js","authors":["Vinicius Dacal <viniciusldacal@gmail.com> (https://github.com/viniciusdacal)"],"gitHead":"4497ee159a93888e54dc334617d544553fb9919e","scripts":{"lint":"eslint src test build","test":"cross-env BABEL_ENV=commonjs jest","build":"yarn run build:commonjs && yarn run build:es && yarn run build:umd && yarn run build:umd:min","clean":"rimraf lib dist es coverage","prepare":"yarn run clean && yarn run lint && yarn test && yarn run build","build:es":"cross-env BABEL_ENV=es babel src --out-dir es","test:cov":"yarn test -- --coverage","build:umd":"cross-env BABEL_ENV=es NODE_ENV=development rollup -c -i src/index.js -o dist/redux.js","coveralls":"cat ./coverage/lcov.info | ./node_modules/.bin/coveralls","docs:build":"yarn run docs:prepare && gitbook build -g viniciusdacal/redux-arc && cp logo/apple-touch-icon.png _book/gitbook/images/apple-touch-icon-precomposed-152.png && cp logo/favicon.ico _book/gitbook/images","docs:clean":"rimraf _book","docs:watch":"yarn run docs:prepare && gitbook serve","test:watch":"yarn test -- --watch","docs:prepare":"gitbook install","docs:publish":"yarn run docs:clean && yarn run docs:build && cp CNAME _book && cd _book && git init && git commit --allow-empty -m 'update book' && git checkout -b gh-pages && touch .nojekyll && git add . && git commit -am 'update book' && git push git@github.com:viniciusdacal/redux-arc gh-pages --force","build:umd:min":"cross-env BABEL_ENV=es NODE_ENV=production rollup -c -i src/index.js -o dist/redux.min.js","examples:lint":"eslint examples","examples:test":"cross-env CI=true babel-node examples/testAll.js","build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib"},"_npmUser":{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"},"_npmVersion":"5.7.1","description":"Abstraction layer to simplify rest api calls in redux","directories":{},"_nodeVersion":"9.3.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"glob":"7.1.1","jest":"22.4.2","redux":"3.7.1","eslint":"4.9.0","rimraf":"2.6.2","rollup":"0.51.8","prettier":"1.8.2","babel-cli":"6.26.0","cross-env":"5.1.0","babel-core":"6.26.0","babel-jest":"22.4.1","gitbook-cli":"2.3.2","babel-eslint":"8.2.2","babel-register":"6.26.0","babel-preset-env":"1.6.1","eslint-plugin-react":"7.4.0","rollup-plugin-babel":"3.0.2","eslint-plugin-import":"2.2.0","rollup-plugin-uglify":"2.0.1","rollup-plugin-replace":"2.0.0","eslint-plugin-flowtype":"2.39.1","eslint-plugin-jsx-a11y":"5.1.1","eslint-config-react-app":"2.0.1","rollup-plugin-node-resolve":"3.0.0","babel-plugin-external-helpers":"6.22.0","babel-plugin-transform-object-rest-spread":"6.26.0"},"peerDependencies":{"redux":">= 3.7.1"},"_npmOperationalInternal":{"tmp":"tmp/redux-arc_0.7.2_1520911043553_0.5278478727507254","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.7.3":{"name":"redux-arc","version":"0.7.3","keywords":["redux","redux-arc","react","async"],"license":"MIT","_id":"redux-arc@0.7.3","maintainers":[{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"}],"dist":{"shasum":"073689beeada40797cb9e26b06b7cc1d4fb51576","tarball":"https://registry.npmjs.org/redux-arc/-/redux-arc-0.7.3.tgz","fileCount":35,"integrity":"sha512-ZjXtMjJuGpq7qGjdKrtp0mwmBXuTNIUfZPkAQND2cGPiYhpqkbhCeRVu8whjlTDFWRbkC+DB6xmVrrdaYMU64w==","signatures":[{"sig":"MEUCICgwrfGatTjCdL33dqmI7O9JPDck28nGVeDPgCYPFDufAiEA7Z6BKge8dQ18VFQ8vgH5pAlGBVgwm+r5FbHh5WJNCe8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":126327},"jest":{"globals":{"BABEL_ENV":"commonjs"},"testRegex":"(/test/.*\\.spec.js)$","coverageDirectory":"./coverage","modulePathIgnorePatterns":["<rootDir>/_book/"]},"main":"lib/index.js","files":["dist","lib","src"],"module":"es/index.js","authors":["Vinicius Dacal <viniciusldacal@gmail.com> (https://github.com/viniciusdacal)"],"gitHead":"bc0917ca0e99442c5cda9d5562796e3f801f4604","scripts":{"lint":"eslint src test build","test":"cross-env BABEL_ENV=commonjs jest","build":"yarn run build:commonjs && yarn run build:es && yarn run build:umd && yarn run build:umd:min","clean":"rimraf lib dist es coverage","prepare":"yarn run clean && yarn run lint && yarn test && yarn run build","build:es":"cross-env BABEL_ENV=es babel src --out-dir es","test:cov":"yarn test -- --coverage","build:umd":"cross-env BABEL_ENV=es NODE_ENV=development rollup -c -i src/index.js -o dist/redux.js","coveralls":"cat ./coverage/lcov.info | ./node_modules/.bin/coveralls","docs:build":"yarn run docs:prepare && gitbook build -g viniciusdacal/redux-arc && cp logo/apple-touch-icon.png _book/gitbook/images/apple-touch-icon-precomposed-152.png && cp logo/favicon.ico _book/gitbook/images","docs:clean":"rimraf _book","docs:watch":"yarn run docs:prepare && gitbook serve","test:watch":"yarn test -- --watch","docs:prepare":"gitbook install","docs:publish":"yarn run docs:clean && yarn run docs:build && cp CNAME _book && cd _book && git init && git commit --allow-empty -m 'update book' && git checkout -b gh-pages && touch .nojekyll && git add . && git commit -am 'update book' && git push git@github.com:viniciusdacal/redux-arc gh-pages --force","build:umd:min":"cross-env BABEL_ENV=es NODE_ENV=production rollup -c -i src/index.js -o dist/redux.min.js","examples:lint":"eslint examples","examples:test":"cross-env CI=true babel-node examples/testAll.js","build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib"},"_npmUser":{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"},"_npmVersion":"5.7.1","description":"Abstraction layer to help you reduce boilerplate on redux-apps","directories":{},"_nodeVersion":"9.3.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"glob":"7.1.1","jest":"22.4.2","redux":"3.7.1","eslint":"4.9.0","rimraf":"2.6.2","rollup":"0.51.8","prettier":"1.8.2","babel-cli":"6.26.0","cross-env":"5.1.0","babel-core":"6.26.0","babel-jest":"22.4.1","gitbook-cli":"2.3.2","babel-eslint":"8.2.2","babel-register":"6.26.0","babel-preset-env":"1.6.1","eslint-plugin-react":"7.4.0","rollup-plugin-babel":"3.0.2","eslint-plugin-import":"2.2.0","rollup-plugin-uglify":"2.0.1","rollup-plugin-replace":"2.0.0","eslint-plugin-flowtype":"2.39.1","eslint-plugin-jsx-a11y":"5.1.1","eslint-config-react-app":"2.0.1","rollup-plugin-node-resolve":"3.0.0","babel-plugin-external-helpers":"6.22.0","babel-plugin-transform-object-rest-spread":"6.26.0"},"peerDependencies":{"redux":">= 3.7.1"},"_npmOperationalInternal":{"tmp":"tmp/redux-arc_0.7.3_1521150226840_0.44799064997676474","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.7.4":{"name":"redux-arc","version":"0.7.4","keywords":["redux","redux-arc","react","async"],"license":"MIT","_id":"redux-arc@0.7.4","maintainers":[{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"}],"dist":{"shasum":"78dec2773581a0b6c89455a097d7d1d910ff4397","tarball":"https://registry.npmjs.org/redux-arc/-/redux-arc-0.7.4.tgz","fileCount":35,"integrity":"sha512-XV3rI9Sxmt1YuTdPVNJYo+x6eCPnrIFJ9kxH+TNcc7o4mTtAzXw+dYoEuOPKtGNbgkv2nq3byrU7d5rd4QJg4w==","signatures":[{"sig":"MEQCICK+JHezsQUnjqyLzNDsU10IoQ24ISpfW35Meqkb1elVAiADXT1mihpsasPz5GYCY5Sa5EoUOJbjKwbofacjeSAsJw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":125292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbTzKkCRA9TVsSAnZWagAAFdUP/3SsON9NrF09SaLW37fk\n1WgQuJnB4O9LAy3Y4rmmC3IYT98MnsRO4C25d0M8O7XuKUtoAg8ue7xRR2MC\n+O5ti+zzHtnUNkuko+b6IJBokXtosizRY8zK0/cmOo4XXKR2E6+vYPiYsXE8\n+7PxOZHxx2PMoUOOI1N0iqnzMcqEJEXLfJuMs1N8zoQD/we/KKn44VCkvpVx\n2mVOfUEVaemeZA5jP1PJtvWxG5yLWEo/egRDmBXxS8ijoMWUG/vcmP9Lnewu\nTKi06ZAIJG6ygd4pj8dosFVz+tkcKrI6eMGV+xr6vJ3TUhnVmCPrkmcCabvr\nUrLIC/wV2LdAZ88ZcSUSzDFps7ak70iKiodYgKypkVD+4r+4n3Uj6wrVTSLG\n9KZy4C3I3zrENKK+Mugl+D+HyvtAxUgHhG0OTUfn9iCuFRry22nRcCLNCDE5\nKeJPZK9+8Ru6zW/XoZDRrKYpspz45eSRbGEqgEtye1Pd6lWH6YhWEtYQi8DJ\no4hjKVPleCsbeTi1B8A0Fj49FdGVVOfgAnqfEIHjEErSdhLViQqt5T+uvBg5\ncRiALELLty3NRWWYNjaB1g4MRA4coADjlqfKDbb6ubLZ1Q1JsQf9nY3wBUeI\nL+72p38pu2/rP4nUHfuAADrCNqb8SWVJes+fQqMXfkgOVPLS0UP877vtdg+r\ne3NH\r\n=mdXc\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"globals":{"BABEL_ENV":"commonjs"},"testRegex":"(/test/.*\\.spec.js)$","coverageDirectory":"./coverage","modulePathIgnorePatterns":["<rootDir>/_book/"]},"main":"lib/index.js","files":["dist","lib","src"],"module":"es/index.js","authors":["Vinicius Dacal <viniciusldacal@gmail.com> (https://github.com/viniciusdacal)"],"gitHead":"ad56c80b064c050b469a7663996bea59bafc385a","scripts":{"lint":"eslint src test build","test":"cross-env BABEL_ENV=commonjs jest","build":"yarn run build:commonjs && yarn run build:es && yarn run build:umd && yarn run build:umd:min","clean":"rimraf lib dist es coverage","prepare":"yarn run clean && yarn run lint && yarn test && yarn run build","build:es":"cross-env BABEL_ENV=es babel src --out-dir es","test:cov":"yarn test -- --coverage","build:umd":"cross-env BABEL_ENV=es NODE_ENV=development rollup -c -i src/index.js -o dist/redux.js","coveralls":"cat ./coverage/lcov.info | ./node_modules/.bin/coveralls","docs:build":"yarn run docs:prepare && gitbook build -g viniciusdacal/redux-arc && cp logo/apple-touch-icon.png _book/gitbook/images/apple-touch-icon-precomposed-152.png && cp logo/favicon.ico _book/gitbook/images","docs:clean":"rimraf _book","docs:watch":"yarn run docs:prepare && gitbook serve","test:watch":"yarn test -- --watch","docs:prepare":"gitbook install","docs:publish":"yarn run docs:clean && yarn run docs:build && cp CNAME _book && cd _book && git init && git commit --allow-empty -m 'update book' && git checkout -b gh-pages && touch .nojekyll && git add . && git commit -am 'update book' && git push git@github.com:viniciusdacal/redux-arc gh-pages --force","build:umd:min":"cross-env BABEL_ENV=es NODE_ENV=production rollup -c -i src/index.js -o dist/redux.min.js","examples:lint":"eslint examples","examples:test":"cross-env CI=true babel-node examples/testAll.js","build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib"},"_npmUser":{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"},"_npmVersion":"6.1.0","description":"Abstraction layer to help you reduce boilerplate on redux-apps","directories":{},"_nodeVersion":"9.3.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"glob":"7.1.1","jest":"22.4.2","redux":"3.7.1","eslint":"4.9.0","rimraf":"2.6.2","rollup":"0.51.8","prettier":"1.8.2","babel-cli":"6.26.0","cross-env":"5.1.0","babel-core":"6.26.0","babel-jest":"22.4.1","gitbook-cli":"2.3.2","babel-eslint":"8.2.2","babel-register":"6.26.0","babel-preset-env":"1.6.1","eslint-plugin-react":"7.4.0","rollup-plugin-babel":"3.0.2","eslint-plugin-import":"2.2.0","rollup-plugin-uglify":"2.0.1","rollup-plugin-replace":"2.0.0","eslint-plugin-flowtype":"2.39.1","eslint-plugin-jsx-a11y":"5.1.1","eslint-config-react-app":"2.0.1","rollup-plugin-node-resolve":"3.0.0","babel-plugin-external-helpers":"6.22.0","babel-plugin-transform-object-rest-spread":"6.26.0"},"peerDependencies":{"redux":">= 3.7.1"},"_npmOperationalInternal":{"tmp":"tmp/redux-arc_0.7.4_1531916964481_0.9382173910600533","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.6.1-supabsurls":{"name":"redux-arc","version":"0.6.1-supabsurls","keywords":["redux","redux-arc","react","async"],"license":"MIT","_id":"redux-arc@0.6.1-supabsurls","maintainers":[{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"}],"dist":{"shasum":"71ea4c8bb34e9a4fb128e9c2588e5400ce48a20c","tarball":"https://registry.npmjs.org/redux-arc/-/redux-arc-0.6.1-supabsurls.tgz","fileCount":37,"integrity":"sha512-TShuSyNkQU/58wyQKvYHNcbhBBI49NVXh9LeGOLtwtSG+jPxFbdGeZKKn5NFr09FC3ho7kNOKQnHCTCM0AYxyA==","signatures":[{"sig":"MEYCIQDvim6TqHueGscgFFDaR4TYM0Gr05GHLFWq7HC1pnvbFAIhAOxvrP59gbo8jcc51wq9Dy5nMd3szYlfM4lkyOK470Df","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130538,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbt4XMCRA9TVsSAnZWagAAQa4P/3GvdoDTd9qYIF4d7izD\nllb+29GrwXZvG1vo9ltwfVoGEYnd7u7LM4Vpue1rvYdQIMR19nrMPPfeU222\nbOdOFLVyes9+NibKP/E9kfDi6PkSVcu0YvGBSzS2pABXhJVZ018elq2yNLq4\nvWLW0axfh4FY+UaDktZX0ND+ZsbVNicFnXWMy2TbSEdtFJdPXb8/ZRCJVzkm\n4Aft4tjc4RZJGWvc+5koq2hLGErj0iWv3uTGjJw8Vpopft4yGXggsv6CoIlC\ngTH+WBripgnvBgkeHfll8B7v8XmFRk82m6rxk598HQHwvxD6Kn5eNXRENUL6\nlJkrN8aBG4H/6wZ6ziJ6NZ6SUVr2+M95wdvSg4A7u2SLQvbBd1YKXdprw+a1\nwIvyiL3vP+U6vPfD+iD6OGkiSsTh2YjnW9nQFXo5O7YqnAG6EYxVR8AKtG/Q\nYhrx2PdILz30GP9iiFRxHted2JY+26V3XTOhz/tjroqTXGY1/8v8dwGwTtP5\npzHwO5xmGi0scAS5GCezUlotiBiGY0nl6pryoPp6ZS5qYzxHtOS06wsVKC8m\nX4P3hpedJnKE7NRYd7AMbXOP3AxPAXM8IP/gdeu3o5eNUj3Eq6q8c7dN1w/0\npECHRqVfN2TlPf1woEr7W8ydQutdRojrBnFvSC05JsTjrRIHe89ifFmfr8ng\neKk3\r\n=7opD\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"globals":{"BABEL_ENV":"commonjs"},"testRegex":"(/test/.*\\.spec.js)$","coverageDirectory":"./coverage","modulePathIgnorePatterns":["<rootDir>/_book/"]},"main":"lib/index.js","module":"es/index.js","readme":"<img src=\"https://github.com/viniciusdacal/redux-arc/blob/master/arc-64.png?raw=true\" height=\"64\" />\n\n\nCreate scalable, no-boilerplate redux Apps!\n\nArc is an abstraction layer to help you reduce boilerplate on redux-apps and also, organize better your code. Additionally, it has utilities to handle async requests.\n\n[![build status](https://img.shields.io/travis/viniciusdacal/redux-arc/master.svg?style=flat-square)](https://travis-ci.org/viniciusdacal/redux-arc) [![npm version](https://img.shields.io/npm/v/redux-arc.svg?style=flat-square)](https://www.npmjs.com/package/redux-arc)\n[![Coverage Status](https://coveralls.io/repos/github/viniciusdacal/redux-arc/badge.svg?branch=master)](https://coveralls.io/github/viniciusdacal/redux-arc?branch=master)\n\n## Why\nRedux is awesome! But people often complain about how much boilerplate they have to write when using it. Part of this problem, is because they feel unproductive defining constants, action creators and big reducers, but also because they don't have a clear idea on how to organize their project, or even how to proper handle async requests. This project, intends to help on all that aspects!\n\nWe don't intend to recreate the wheel, instead, we tried to use what the community are used with, and build up some approaches together in order to clarify the things about the project architecture, code splitting and the things around actions.\n\n## Creators and types are generated by a config\n\n```js\n  // actions.js\n  import { createActions } from 'redux-arc';\n\n  export { types, creators } = createActions('jedi', {\n    add: null,\n  });\n```\n\n## Create reducers using createReducers and types:\n\n```js\n  import { createReducers } from 'redux-arc';\n  import { types } from './actions';\n\n  const INITIAL_STATE = [];\n  const HANDLERS = {\n    [types.ADD]: (state, action) => [...state, action.payload]\n  };\n\n  export default createReducers(INITIAL_STATE, HANDLERS);\n```\n\n## Call the creators providing payload and meta\n\n```js\n  import { creators } from './actions';\n\n  const payload = {\n    name: 'Luke',\n    master: 'Yoda',\n  };\n  const meta = { foo: 'bar' };\n\n  dispatch(creators.add(payload, meta))\n```\n\n## Create Async Actions\n\n```js\n  import { createActions } from 'redux-arc';\n\n  export { types, creators } = createActions('jedi', {\n    add: { url: '/api/jedi' method: 'post'},\n  });\n\n  dispatch(creators.add(payload, meta));\n\n  types.ADD.REQUEST // JEDI_ADD_REQUEST\n  types.ADD.RESPONSE // JEDI_ADD_RESPONSE\n```\n> createActions creates both, regular and async actions. Async types has REQUEST and RESPONSE type, respectively to when a request starts and when it finishes.\n\n\n#Getting started\n\n```bash\nyarn add redux-arc\n```\nor\n\n```bash\nnpm i --save redux-arc\n```\n\n\nTo understand this docs, you should have a good understand of redux: what are Action creators, what are reducers, middlewares and also, what is a Flux Standard Action. So please, if you need a recap on those concepts, read the links bellow:\n\n[Redux Docs](https://redux.js.org/)\n[Flux Standard Action](https://github.com/acdlite/flux-standard-action)\n\n\n# Action creators and Types\nWhen you have to create a new action on redux, the first 2 steps you usually do is defining a **const** to you *action type* and then defining an *action creator*.\n\n```js\nconst ADD_JEDI = 'ADD_JEDI';\n\nconst addJedi = (payload) => ({\n  type: ADD_JEDI,\n  payload,\n});\n```\n\nThe above code is fine, but the problem is, you have dozens or hundreds of action in an application, and you are always writing the same code. Also, if you are not strict on code review, you end up having situations where your action type has a name different from your action creator:\n\n```js\nconst ADD_JEDI = 'ADD_JEDI';\n\nconst addJedi = (payload) => ({\n  type: ADD_JEDI,\n  payload,\n});\n```\n\nThinking in the above issues, Arc has a `createAction` function, that you use to define your actions and it generates the types and action creators automatically for you. Take a look:\n\n```js\n  import { createActions } from 'redux-arc';\n\n  const { types, creators } = createActions('yourNamespace', {\n    addJedi: null,\n  });\n\n  types.addJedi // YOUR_NAMESPACE_ADD_JEDI\n\n  const payload = {\n    master: 'Yoda',\n    name: 'Luke',\n  };\n\n  creators.addJedi(payload);\n  /*\n  {\n    type: 'YOUR_NAMESPACE_ADD_JEDI',\n    payload: {\n      master: 'Yoda',\n      name: 'Luke',\n    }\n  }\n  */\n```\n\nThe `createActions` method, expects a namespace as its first argument, this will be uppercased and will serve as a prefix for the actions. As the second parameter, we need to provide a config object, which the key is the action name and the value is an object with default values for **payload** and **meta**, or `null` if you don't want to provide defaults. Then, it will return **creators** and **types**.\n\nBoth creators and types are objects, the first one contains the action creators for the actions you defined. As in the case above we defined an action addJedi, then we have a creator at `creators.addJedi`.\n\nCreators accepts until three arguments:\n - payload: could be of any type. Will become the `action.payload`\n - meta: could be of any type. Will become the `action.meta`\n - error: boolean. Indicates if the action has an error or not. You can omit it if the action has no error.\n\n> The api was designed following the flux-standard-action concepts. It can be strict about how your action should look like, but this will help you creating better actions. Also, now you can be sure that the first parameter you provide to the action creator, will become the action.payload.\n\nThe types is an object that contains strings. Its keys are the action names, but different from the creators, here they are uppercased:\n\n```js\n  types.ADD_JEDI\n```\n\nAlso, when you do a console.log to see its content, you can see that we prefix the actions with the namespace you provided:\n\n```js\n  const { types } = createActions('yourNamespace', {\n    addJedi: null,\n  });\n\n  types.ADD_JEDI // -> YOUR_NAMESPACE_ADD_JEDI\n\n```\n\n> We decided to have the namespace, to not stop you from having actions with the same name in different modules. Don't worry, you will be able to differ them easily when using redux-dev-tools, just remember to provide unique namespaces.\n\n#Reducers\n\nBeyond types and action creators, we also have reducers. There are a few ways to deal with them, some approaches use `switch case`, some others use multiple `IFs`. With most of them, you end up having a lot of code inside the same function, which makes maintenance and focusing hard. I know some approaches mention that you can split your code into small functions when it gets bigger, but why do not start from something that is easy to scale and also allow you to focus on each action separately?\n\nThinking about that, we created the function `createReducers`\n\n## createReducers\n\nThis factory was created to work standalone, it doesn't require you to use any other feature from Arc. If you like, you can continue creating your actions and types as you always did. Take a look at the example below:\n\n```js\n  // vanillaActions.js\n  export const ADD_TODO = 'ADD_TODO';\n  export const RESET_TODOS = 'RESET_TODOS';\n\n  export const addTodo = (title, completed) => ({\n    type: ADD_TODO,\n    payload: {\n      title,\n      completed,\n    }\n  });\n\n  export const resetTodos = () => ({\n    type: RESET_TODOS,\n  });\n\n```\n\nAbove we defined our type and action creator using pure JavaScript. Below, you can see how we could use it with **createReducers**:\n\n```js\n  import { createReducers } from 'redux-arc';\n  import { ADD_TODO, RESET_TODOS } from './vanillaActions';\n\n  const INITIAL_STATE = [];\n\n  const onAddTodo = (state, action) => [\n    ...state,\n    { name: action.name, master: action.master },\n  ];\n\n  const onResetTodos = (state, action) => INITIAL_STATE;\n\n  const HANDLERS = {\n    [ADD_TODO]: onAddTodo\n    [RESET_TODOS]: onResetTodos\n  };\n\n  export default createReducers(INITIAL_STATE, HANDLERS);\n```\n\nYou must provide an `INITIAL_STATE` and a `HANDLERS` object, which the keys should be action types and the values should be reducers.\n\n\n**Using createReducers with arc's types object**\nAs types generated from Arc is a simple JavaScript object, with strings, it fits perfectly with **createReducers**. Take a look below:\n\n**actions.js**:\n\n```js\n  const { creators, types } = createActions('todo', {\n    addTodo: null,\n    resetTodos: null,\n  });\n```\n\n**reducers.js**\n\n```js\nimport { createReducers } from 'redux-arc'\nimport { types } from './actions';\n\nconst INITIAL_STATE = [];\n\nconst onAddTodo = (state, action) => [\n  ...state,\n  { name: action.name, master: action.master },\n];\n\nconst onResetTodos = (state, action) => INITIAL_STATE;\n\nconst HANDLERS = {\n  [types.ADD_TODO]: onAddTodo\n  [types.RESET_TODOS]: onResetTodos\n};\n\nexport default createReducers(INITIAL_STATE, HANDLERS);\n\n```\n\nAs you can see, you can use **createReducers** either standalone or with types generated by Arc.\n\nIt helps you organize your logic and focus on how each action will affect the state;\n\nAlso, it runs some validations over the config you provided. For example: If you commit a typo when providing the action type, it will throw a friendly descriptive error for you.\n\n\n# Async Actions\n\nOriginally, Arc was created to be an abstraction layer to handle async request in Redux. So, it has all you need about that. The api to generate async action creators and types is the same we use for regular actions, you only need to provide some additional params in the action config object. Take a look below:\n\n\n```js\n  import { createActions } from 'redux-arc';\n\n  const { creators, types } = createActions('todo', {\n    list:   { url: 'api/todo',     method: 'get'  },\n    read:   { url: 'api/todo/:id', method: 'get'  },\n    create: { url: 'api/todo',     method: 'post' },\n    update: { url: 'api/todo/:id', method: 'put'  },\n  });\n```\n\nAbove are defined four actions: `list`, `read`, `create` and `update`.\n\nTwo params are required in an async action config, `url` and `method`.\n\n - **url**: You can define any url you want and it also accepts dynamic params, as you can see in the `read` action. We defined a dynamic param **id**, inserting `:id`.\n - **method**: Generally speaking, any http method your request lib supports. This will be used only by you in the **asyncMiddleware** that you will configure.\n\n### Async Creators and Async Types\nAn async creator is very similar to a simple creator. It accepts **payload** and **meta** as arguments. They will further become the `action.payload` and `action.meta`, as in a regular creator. The difference here, is that the meta, should be an object, and its values will be also used to parse dynamic urls. Considering that, the creator **read** should be used like that:\n\n```js\n  const payload = null;\n  const meta = { id: '123' };\n\n  creators.read(payload, meta);\n```\n\nWith the above code, the final url to our read request, would be `api/todo/123`.\n\nThe async types differ a little bit from the regular ones as well. First, as a api call has two moments (request and response), we need two different types to use inside our reducers. Considering that, Arc returns an object for each type, containing a `REQUEST` and a `RESPONSE` key with the respective types:\n\n```js\n  types.READ.REQUEST == 'TODO_READ_REQUEST';\n  types.READ.RESPONSE == 'TODO_READ_RESPONSE';\n```\n\n### Async Middleware\nArc doesn't intend to be a request lib, so, you need to tell it how you want to make your requests, and you do that by configuring the asyncMiddleware.\n\nIt's quite simple, take a look below in an example using axios:\n\n```js\nimport { createAsyncMiddleware } from 'redux-arc';\nimport axios from 'axios';\n\nconst asyncTask = store => done => (options) => {\n  const { method, url, payload } = options;\n  const params = method === 'get' ? { params: payload } : payload;\n\n  axios[method](url, params).then((error, response) => done(error, response));\n};\n\n// create the async middleware\nconst asyncMiddleware = createAsyncMiddleware(asyncTask);\n\n// set it to the Store\nconst store = createStore(\n  reducer,\n  applyMiddleware(asyncMiddleware),\n);\n```\n\n>In the above example, we are using axios, but you can use whatever you want to perform the request, just make sure you call done, passing error and response when the request has finished.\n\nFor more info about **asyncTask** and **createAsyncMiddleware**, read [Connecting Arc Into Redux](http://redux-arc.org/docs/basics/ConnectingArcIntoRedux.html)\n\n\n## Async actions in Reducers\n\nIn reducers, you have to define two different handlers for each request definition, one to handle the state change when the request starts an another when it finishes.\n\nConsidering the following config:\n\n```js\n  import { createActions } from 'redux-arc';\n\n  export const { creators, types } = createActions('todo', {\n    list: { url: 'api/todo', method: 'get' },\n  });\n```\n\nWe would have a reducers like this:\n\n```js\nimport { createReducers } from 'redux-arc'\nimport { types } from './actions';\n\nconst INITIAL_STATE = {\n  listResult: [],\n  listIsLoading: false,\n  listError: null,\n};\n\nconst onListRequest = (state, action) => ({\n  ...state,\n  listIsLoading: true,\n  listError: INITIAL_STATE.listError,\n});\n\nconst onListResponse = (state, action) => {\n  if (action.error) {\n    return {\n      ...state,\n      listIsLoading: INITIAL_STATE.listIsLoading,\n      listError: action.payload,\n    }\n  }\n\n  return {\n    ...state,\n    listIsLoading: INITIAL_STATE.listIsLoading,\n    listResult: action.payload\n  }\n};\n\nconst onReset = state => INITIAL_STATE;\n\nconst HANDLERS = {\n  [types.LIST.REQUEST]: onListRequest,\n  [types.LIST.RESPONSE]: onListResponse,\n  [types.RESET]: onReset,\n};\n\nexport default createReducers(INITIAL_STATE, HANDLERS);\n```\n\n\n### Response action:\nWhen the request is done, an action with the response will be dispatched. Considering the list example, the response action would look like this:\n\n```js\n{\n  type: 'JEDI_LIST_RESPONSE', // types.LIST.RESPONSE,\n  meta: {\n    url: 'api/todo',\n    method: 'get',\n  },\n  payload: [\n    // resource list\n  ],\n}\n```\n\n### Error handling\nThe above example is a response with success. Accordingly to **FSA**, errors should be treated as a [**First class concept**](https://github.com/redux-utilities/flux-standard-action#errors-as-a-first-class-concept). In that case, when you got some error in an async request, the response action will come with the error property as `true` and the payload will be the actual error. Just like the example below:\n\n```js\n{\n  type: 'JEDI_LIST_RESPONSE', // types.LIST.RESPONSE,\n  meta: {\n    url: 'api/todo',\n    method: 'get',\n  },\n  payload: new Error('the request error'),\n  error: true,\n}\n```\n\n\n","authors":["Vinicius Dacal <viniciusldacal@gmail.com> (https://github.com/viniciusdacal)"],"gitHead":"0315cd6cba52cd1ada4f26ae5a783f5a56e47dc0","scripts":{"lint":"eslint src test build","test":"cross-env BABEL_ENV=commonjs jest","build":"yarn run build:commonjs && yarn run build:es && yarn run build:umd && yarn run build:umd:min","clean":"rimraf lib dist es coverage","prepare":"yarn run clean && yarn run lint && yarn test && yarn run build","build:es":"cross-env BABEL_ENV=es babel src --out-dir es","test:cov":"yarn test -- --coverage","build:umd":"cross-env BABEL_ENV=es NODE_ENV=development rollup -c -i src/index.js -o dist/redux.js","coveralls":"cat ./coverage/lcov.info | ./node_modules/.bin/coveralls","docs:build":"yarn run docs:prepare && gitbook build -g viniciusdacal/redux-arc && cp logo/apple-touch-icon.png _book/gitbook/images/apple-touch-icon-precomposed-152.png && cp logo/favicon.ico _book/gitbook/images","docs:clean":"rimraf _book","docs:watch":"yarn run docs:prepare && gitbook serve","test:watch":"yarn test -- --watch","docs:prepare":"gitbook install","docs:publish":"yarn run docs:clean && yarn run docs:build && cp CNAME _book && cd _book && git init && git commit --allow-empty -m 'update book' && git checkout -b gh-pages && touch .nojekyll && git add . && git commit -am 'update book' && git push git@github.com:viniciusdacal/redux-arc gh-pages --force","build:umd:min":"cross-env BABEL_ENV=es NODE_ENV=production rollup -c -i src/index.js -o dist/redux.min.js","examples:lint":"eslint examples","examples:test":"cross-env CI=true babel-node examples/testAll.js","build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib"},"_npmUser":{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"},"_npmVersion":"6.3.0","description":"Abstraction layer to simplify rest api calls in redux","directories":{},"_nodeVersion":"9.3.0","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"glob":"^7.1.1","jest":"^21.2.1","redux":"^3.7.1","eslint":"^4.9.0","rimraf":"^2.6.2","rollup":"^0.51.8","prettier":"1.8.2","babel-cli":"^6.26.0","cross-env":"^5.1.0","babel-core":"^6.26.0","babel-jest":"^21.2.0","gitbook-cli":"^2.3.2","babel-eslint":"^8.0.1","babel-register":"^6.26.0","babel-preset-env":"^1.6.1","eslint-plugin-react":"^7.4.0","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.2.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-replace":"^2.0.0","eslint-plugin-flowtype":"^2.39.1","eslint-plugin-jsx-a11y":"^5.1.1","eslint-config-react-app":"^2.0.1","rollup-plugin-node-resolve":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-object-rest-spread":"^6.26.0"},"peerDependencies":{"redux":">= 3.7.1"},"_npmOperationalInternal":{"tmp":"tmp/redux-arc_0.6.1-supabsurls_1538753995382_0.18243340234999716","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.6.1-supabsurls-1":{"name":"redux-arc","version":"0.6.1-supabsurls-1","keywords":["redux","redux-arc","react","async"],"license":"MIT","_id":"redux-arc@0.6.1-supabsurls-1","maintainers":[{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"}],"dist":{"shasum":"7e0dc7de40aa8c8abe11738d27b6ab5e0900e6b8","tarball":"https://registry.npmjs.org/redux-arc/-/redux-arc-0.6.1-supabsurls-1.tgz","fileCount":37,"integrity":"sha512-uXQkFZzB/vQUymDdObe32xcouGbBdG0Svwa7xqQcf69NRgZIw5TYQeq12HXR1dMiCfWDnGobo+tbb23z/4+RQw==","signatures":[{"sig":"MEUCIQCQbfybqreNepcJ0fyihu3JD914m/6VqmkbL+kdAVIITQIgLI4gm764peQBR9w234m7uG62yUTVOYaYewsxJlNQiO0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130561,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbt4sICRA9TVsSAnZWagAASc0QAJBuL9C0GHThukr5M2S1\nR8TWJLin9vztmFOZDngJLGmEQ2TI9gVLGhCChAbq2huEg7r08HE0/88M4gMa\n5KSBRoLgPlyF7H0mRrcRcS5/87WJkQBHH02AKNkbbZIOTXeuDDsLzS0vmfu2\n9icgPvK7wLz+c8nw6BDX0I95l3gYG76qgfLYgnASeGz30pOyZALEhSJ8OlFz\nK+DGoxWM6Cbs21bUcfkotDlCfjRmo7GNuXKKowkbCg70ox/G45WFMIBaYNDa\nILki+WU41+C0d2pur8yHiPcPG95rGuunmxqQYq1/IGTRWaJpnudN/8bAoZzp\n0Z22edAebNIpI5Qrwph+iTNNj8WazmKV8oZ2ES2X/gy2OYUuDSa2vfxaWxNX\n1alVoyEtmVaPEEdu/Ou2cTR7VWcM/ARhLrYg6ya4SIocUTZmOuiphqA1dAgy\nJ4Wn54s+2u1PKUOmzKl/rWfMlKs8xCo8LMyro3SxL2x7mOMRy1WRh006FbhB\nCvXpn7ZkktMyBjv4/rKC/23TGtqRhQ3xOnHGCzNPQ64LZFZYICDQgzNP2e1/\n2lC10lkICi+JJdDaDI97l0J682FFYbXH2rRnsWDF+rapYWTsxMCDijAZ8S5E\nvZr+nKoI2F3+jWg6fG/9epT1m9wc8RJ6Axx7nIhRHqbyepxuMjcFL6G0I4AK\nwxl1\r\n=kjaw\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"globals":{"BABEL_ENV":"commonjs"},"testRegex":"(/test/.*\\.spec.js)$","coverageDirectory":"./coverage","modulePathIgnorePatterns":["<rootDir>/_book/"]},"main":"lib/index.js","module":"es/index.js","readme":"<img src=\"https://github.com/viniciusdacal/redux-arc/blob/master/arc-64.png?raw=true\" height=\"64\" />\n\n\nCreate scalable, no-boilerplate redux Apps!\n\nArc is an abstraction layer to help you reduce boilerplate on redux-apps and also, organize better your code. Additionally, it has utilities to handle async requests.\n\n[![build status](https://img.shields.io/travis/viniciusdacal/redux-arc/master.svg?style=flat-square)](https://travis-ci.org/viniciusdacal/redux-arc) [![npm version](https://img.shields.io/npm/v/redux-arc.svg?style=flat-square)](https://www.npmjs.com/package/redux-arc)\n[![Coverage Status](https://coveralls.io/repos/github/viniciusdacal/redux-arc/badge.svg?branch=master)](https://coveralls.io/github/viniciusdacal/redux-arc?branch=master)\n\n## Why\nRedux is awesome! But people often complain about how much boilerplate they have to write when using it. Part of this problem, is because they feel unproductive defining constants, action creators and big reducers, but also because they don't have a clear idea on how to organize their project, or even how to proper handle async requests. This project, intends to help on all that aspects!\n\nWe don't intend to recreate the wheel, instead, we tried to use what the community are used with, and build up some approaches together in order to clarify the things about the project architecture, code splitting and the things around actions.\n\n## Creators and types are generated by a config\n\n```js\n  // actions.js\n  import { createActions } from 'redux-arc';\n\n  export { types, creators } = createActions('jedi', {\n    add: null,\n  });\n```\n\n## Create reducers using createReducers and types:\n\n```js\n  import { createReducers } from 'redux-arc';\n  import { types } from './actions';\n\n  const INITIAL_STATE = [];\n  const HANDLERS = {\n    [types.ADD]: (state, action) => [...state, action.payload]\n  };\n\n  export default createReducers(INITIAL_STATE, HANDLERS);\n```\n\n## Call the creators providing payload and meta\n\n```js\n  import { creators } from './actions';\n\n  const payload = {\n    name: 'Luke',\n    master: 'Yoda',\n  };\n  const meta = { foo: 'bar' };\n\n  dispatch(creators.add(payload, meta))\n```\n\n## Create Async Actions\n\n```js\n  import { createActions } from 'redux-arc';\n\n  export { types, creators } = createActions('jedi', {\n    add: { url: '/api/jedi' method: 'post'},\n  });\n\n  dispatch(creators.add(payload, meta));\n\n  types.ADD.REQUEST // JEDI_ADD_REQUEST\n  types.ADD.RESPONSE // JEDI_ADD_RESPONSE\n```\n> createActions creates both, regular and async actions. Async types has REQUEST and RESPONSE type, respectively to when a request starts and when it finishes.\n\n\n#Getting started\n\n```bash\nyarn add redux-arc\n```\nor\n\n```bash\nnpm i --save redux-arc\n```\n\n\nTo understand this docs, you should have a good understand of redux: what are Action creators, what are reducers, middlewares and also, what is a Flux Standard Action. So please, if you need a recap on those concepts, read the links bellow:\n\n[Redux Docs](https://redux.js.org/)\n[Flux Standard Action](https://github.com/acdlite/flux-standard-action)\n\n\n# Action creators and Types\nWhen you have to create a new action on redux, the first 2 steps you usually do is defining a **const** to you *action type* and then defining an *action creator*.\n\n```js\nconst ADD_JEDI = 'ADD_JEDI';\n\nconst addJedi = (payload) => ({\n  type: ADD_JEDI,\n  payload,\n});\n```\n\nThe above code is fine, but the problem is, you have dozens or hundreds of action in an application, and you are always writing the same code. Also, if you are not strict on code review, you end up having situations where your action type has a name different from your action creator:\n\n```js\nconst ADD_JEDI = 'ADD_JEDI';\n\nconst addJedi = (payload) => ({\n  type: ADD_JEDI,\n  payload,\n});\n```\n\nThinking in the above issues, Arc has a `createAction` function, that you use to define your actions and it generates the types and action creators automatically for you. Take a look:\n\n```js\n  import { createActions } from 'redux-arc';\n\n  const { types, creators } = createActions('yourNamespace', {\n    addJedi: null,\n  });\n\n  types.addJedi // YOUR_NAMESPACE_ADD_JEDI\n\n  const payload = {\n    master: 'Yoda',\n    name: 'Luke',\n  };\n\n  creators.addJedi(payload);\n  /*\n  {\n    type: 'YOUR_NAMESPACE_ADD_JEDI',\n    payload: {\n      master: 'Yoda',\n      name: 'Luke',\n    }\n  }\n  */\n```\n\nThe `createActions` method, expects a namespace as its first argument, this will be uppercased and will serve as a prefix for the actions. As the second parameter, we need to provide a config object, which the key is the action name and the value is an object with default values for **payload** and **meta**, or `null` if you don't want to provide defaults. Then, it will return **creators** and **types**.\n\nBoth creators and types are objects, the first one contains the action creators for the actions you defined. As in the case above we defined an action addJedi, then we have a creator at `creators.addJedi`.\n\nCreators accepts until three arguments:\n - payload: could be of any type. Will become the `action.payload`\n - meta: could be of any type. Will become the `action.meta`\n - error: boolean. Indicates if the action has an error or not. You can omit it if the action has no error.\n\n> The api was designed following the flux-standard-action concepts. It can be strict about how your action should look like, but this will help you creating better actions. Also, now you can be sure that the first parameter you provide to the action creator, will become the action.payload.\n\nThe types is an object that contains strings. Its keys are the action names, but different from the creators, here they are uppercased:\n\n```js\n  types.ADD_JEDI\n```\n\nAlso, when you do a console.log to see its content, you can see that we prefix the actions with the namespace you provided:\n\n```js\n  const { types } = createActions('yourNamespace', {\n    addJedi: null,\n  });\n\n  types.ADD_JEDI // -> YOUR_NAMESPACE_ADD_JEDI\n\n```\n\n> We decided to have the namespace, to not stop you from having actions with the same name in different modules. Don't worry, you will be able to differ them easily when using redux-dev-tools, just remember to provide unique namespaces.\n\n#Reducers\n\nBeyond types and action creators, we also have reducers. There are a few ways to deal with them, some approaches use `switch case`, some others use multiple `IFs`. With most of them, you end up having a lot of code inside the same function, which makes maintenance and focusing hard. I know some approaches mention that you can split your code into small functions when it gets bigger, but why do not start from something that is easy to scale and also allow you to focus on each action separately?\n\nThinking about that, we created the function `createReducers`\n\n## createReducers\n\nThis factory was created to work standalone, it doesn't require you to use any other feature from Arc. If you like, you can continue creating your actions and types as you always did. Take a look at the example below:\n\n```js\n  // vanillaActions.js\n  export const ADD_TODO = 'ADD_TODO';\n  export const RESET_TODOS = 'RESET_TODOS';\n\n  export const addTodo = (title, completed) => ({\n    type: ADD_TODO,\n    payload: {\n      title,\n      completed,\n    }\n  });\n\n  export const resetTodos = () => ({\n    type: RESET_TODOS,\n  });\n\n```\n\nAbove we defined our type and action creator using pure JavaScript. Below, you can see how we could use it with **createReducers**:\n\n```js\n  import { createReducers } from 'redux-arc';\n  import { ADD_TODO, RESET_TODOS } from './vanillaActions';\n\n  const INITIAL_STATE = [];\n\n  const onAddTodo = (state, action) => [\n    ...state,\n    { name: action.name, master: action.master },\n  ];\n\n  const onResetTodos = (state, action) => INITIAL_STATE;\n\n  const HANDLERS = {\n    [ADD_TODO]: onAddTodo\n    [RESET_TODOS]: onResetTodos\n  };\n\n  export default createReducers(INITIAL_STATE, HANDLERS);\n```\n\nYou must provide an `INITIAL_STATE` and a `HANDLERS` object, which the keys should be action types and the values should be reducers.\n\n\n**Using createReducers with arc's types object**\nAs types generated from Arc is a simple JavaScript object, with strings, it fits perfectly with **createReducers**. Take a look below:\n\n**actions.js**:\n\n```js\n  const { creators, types } = createActions('todo', {\n    addTodo: null,\n    resetTodos: null,\n  });\n```\n\n**reducers.js**\n\n```js\nimport { createReducers } from 'redux-arc'\nimport { types } from './actions';\n\nconst INITIAL_STATE = [];\n\nconst onAddTodo = (state, action) => [\n  ...state,\n  { name: action.name, master: action.master },\n];\n\nconst onResetTodos = (state, action) => INITIAL_STATE;\n\nconst HANDLERS = {\n  [types.ADD_TODO]: onAddTodo\n  [types.RESET_TODOS]: onResetTodos\n};\n\nexport default createReducers(INITIAL_STATE, HANDLERS);\n\n```\n\nAs you can see, you can use **createReducers** either standalone or with types generated by Arc.\n\nIt helps you organize your logic and focus on how each action will affect the state;\n\nAlso, it runs some validations over the config you provided. For example: If you commit a typo when providing the action type, it will throw a friendly descriptive error for you.\n\n\n# Async Actions\n\nOriginally, Arc was created to be an abstraction layer to handle async request in Redux. So, it has all you need about that. The api to generate async action creators and types is the same we use for regular actions, you only need to provide some additional params in the action config object. Take a look below:\n\n\n```js\n  import { createActions } from 'redux-arc';\n\n  const { creators, types } = createActions('todo', {\n    list:   { url: 'api/todo',     method: 'get'  },\n    read:   { url: 'api/todo/:id', method: 'get'  },\n    create: { url: 'api/todo',     method: 'post' },\n    update: { url: 'api/todo/:id', method: 'put'  },\n  });\n```\n\nAbove are defined four actions: `list`, `read`, `create` and `update`.\n\nTwo params are required in an async action config, `url` and `method`.\n\n - **url**: You can define any url you want and it also accepts dynamic params, as you can see in the `read` action. We defined a dynamic param **id**, inserting `:id`.\n - **method**: Generally speaking, any http method your request lib supports. This will be used only by you in the **asyncMiddleware** that you will configure.\n\n### Async Creators and Async Types\nAn async creator is very similar to a simple creator. It accepts **payload** and **meta** as arguments. They will further become the `action.payload` and `action.meta`, as in a regular creator. The difference here, is that the meta, should be an object, and its values will be also used to parse dynamic urls. Considering that, the creator **read** should be used like that:\n\n```js\n  const payload = null;\n  const meta = { id: '123' };\n\n  creators.read(payload, meta);\n```\n\nWith the above code, the final url to our read request, would be `api/todo/123`.\n\nThe async types differ a little bit from the regular ones as well. First, as a api call has two moments (request and response), we need two different types to use inside our reducers. Considering that, Arc returns an object for each type, containing a `REQUEST` and a `RESPONSE` key with the respective types:\n\n```js\n  types.READ.REQUEST == 'TODO_READ_REQUEST';\n  types.READ.RESPONSE == 'TODO_READ_RESPONSE';\n```\n\n### Async Middleware\nArc doesn't intend to be a request lib, so, you need to tell it how you want to make your requests, and you do that by configuring the asyncMiddleware.\n\nIt's quite simple, take a look below in an example using axios:\n\n```js\nimport { createAsyncMiddleware } from 'redux-arc';\nimport axios from 'axios';\n\nconst asyncTask = store => done => (options) => {\n  const { method, url, payload } = options;\n  const params = method === 'get' ? { params: payload } : payload;\n\n  axios[method](url, params).then((error, response) => done(error, response));\n};\n\n// create the async middleware\nconst asyncMiddleware = createAsyncMiddleware(asyncTask);\n\n// set it to the Store\nconst store = createStore(\n  reducer,\n  applyMiddleware(asyncMiddleware),\n);\n```\n\n>In the above example, we are using axios, but you can use whatever you want to perform the request, just make sure you call done, passing error and response when the request has finished.\n\nFor more info about **asyncTask** and **createAsyncMiddleware**, read [Connecting Arc Into Redux](http://redux-arc.org/docs/basics/ConnectingArcIntoRedux.html)\n\n\n## Async actions in Reducers\n\nIn reducers, you have to define two different handlers for each request definition, one to handle the state change when the request starts an another when it finishes.\n\nConsidering the following config:\n\n```js\n  import { createActions } from 'redux-arc';\n\n  export const { creators, types } = createActions('todo', {\n    list: { url: 'api/todo', method: 'get' },\n  });\n```\n\nWe would have a reducers like this:\n\n```js\nimport { createReducers } from 'redux-arc'\nimport { types } from './actions';\n\nconst INITIAL_STATE = {\n  listResult: [],\n  listIsLoading: false,\n  listError: null,\n};\n\nconst onListRequest = (state, action) => ({\n  ...state,\n  listIsLoading: true,\n  listError: INITIAL_STATE.listError,\n});\n\nconst onListResponse = (state, action) => {\n  if (action.error) {\n    return {\n      ...state,\n      listIsLoading: INITIAL_STATE.listIsLoading,\n      listError: action.payload,\n    }\n  }\n\n  return {\n    ...state,\n    listIsLoading: INITIAL_STATE.listIsLoading,\n    listResult: action.payload\n  }\n};\n\nconst onReset = state => INITIAL_STATE;\n\nconst HANDLERS = {\n  [types.LIST.REQUEST]: onListRequest,\n  [types.LIST.RESPONSE]: onListResponse,\n  [types.RESET]: onReset,\n};\n\nexport default createReducers(INITIAL_STATE, HANDLERS);\n```\n\n\n### Response action:\nWhen the request is done, an action with the response will be dispatched. Considering the list example, the response action would look like this:\n\n```js\n{\n  type: 'JEDI_LIST_RESPONSE', // types.LIST.RESPONSE,\n  meta: {\n    url: 'api/todo',\n    method: 'get',\n  },\n  payload: [\n    // resource list\n  ],\n}\n```\n\n### Error handling\nThe above example is a response with success. Accordingly to **FSA**, errors should be treated as a [**First class concept**](https://github.com/redux-utilities/flux-standard-action#errors-as-a-first-class-concept). In that case, when you got some error in an async request, the response action will come with the error property as `true` and the payload will be the actual error. Just like the example below:\n\n```js\n{\n  type: 'JEDI_LIST_RESPONSE', // types.LIST.RESPONSE,\n  meta: {\n    url: 'api/todo',\n    method: 'get',\n  },\n  payload: new Error('the request error'),\n  error: true,\n}\n```\n\n\n","authors":["Vinicius Dacal <viniciusldacal@gmail.com> (https://github.com/viniciusdacal)"],"gitHead":"0315cd6cba52cd1ada4f26ae5a783f5a56e47dc0","scripts":{"lint":"eslint src test build","test":"cross-env BABEL_ENV=commonjs jest","build":"yarn run build:commonjs && yarn run build:es && yarn run build:umd && yarn run build:umd:min","clean":"rimraf lib dist es coverage","prepare":"yarn run clean && yarn run lint && yarn test && yarn run build","build:es":"cross-env BABEL_ENV=es babel src --out-dir es","test:cov":"yarn test -- --coverage","build:umd":"cross-env BABEL_ENV=es NODE_ENV=development rollup -c -i src/index.js -o dist/redux.js","coveralls":"cat ./coverage/lcov.info | ./node_modules/.bin/coveralls","docs:build":"yarn run docs:prepare && gitbook build -g viniciusdacal/redux-arc && cp logo/apple-touch-icon.png _book/gitbook/images/apple-touch-icon-precomposed-152.png && cp logo/favicon.ico _book/gitbook/images","docs:clean":"rimraf _book","docs:watch":"yarn run docs:prepare && gitbook serve","test:watch":"yarn test -- --watch","docs:prepare":"gitbook install","docs:publish":"yarn run docs:clean && yarn run docs:build && cp CNAME _book && cd _book && git init && git commit --allow-empty -m 'update book' && git checkout -b gh-pages && touch .nojekyll && git add . && git commit -am 'update book' && git push git@github.com:viniciusdacal/redux-arc gh-pages --force","build:umd:min":"cross-env BABEL_ENV=es NODE_ENV=production rollup -c -i src/index.js -o dist/redux.min.js","examples:lint":"eslint examples","examples:test":"cross-env CI=true babel-node examples/testAll.js","build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib"},"_npmUser":{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"},"_npmVersion":"6.3.0","description":"Abstraction layer to simplify rest api calls in redux","directories":{},"_nodeVersion":"9.3.0","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"glob":"^7.1.1","jest":"^21.2.1","redux":"^3.7.1","eslint":"^4.9.0","rimraf":"^2.6.2","rollup":"^0.51.8","prettier":"1.8.2","babel-cli":"^6.26.0","cross-env":"^5.1.0","babel-core":"^6.26.0","babel-jest":"^21.2.0","gitbook-cli":"^2.3.2","babel-eslint":"^8.0.1","babel-register":"^6.26.0","babel-preset-env":"^1.6.1","eslint-plugin-react":"^7.4.0","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.2.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-replace":"^2.0.0","eslint-plugin-flowtype":"^2.39.1","eslint-plugin-jsx-a11y":"^5.1.1","eslint-config-react-app":"^2.0.1","rollup-plugin-node-resolve":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-object-rest-spread":"^6.26.0"},"peerDependencies":{"redux":">= 3.7.1"},"_npmOperationalInternal":{"tmp":"tmp/redux-arc_0.6.1-supabsurls-1_1538755336348_0.8613425406137727","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.6.3-metaoverriding":{"name":"redux-arc","version":"0.6.3-metaoverriding","keywords":["redux","redux-arc","react","async"],"license":"MIT","_id":"redux-arc@0.6.3-metaoverriding","maintainers":[{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"}],"dist":{"shasum":"0f82809eb4c31ead1154ed253889242b642a66ff","tarball":"https://registry.npmjs.org/redux-arc/-/redux-arc-0.6.3-metaoverriding.tgz","fileCount":37,"integrity":"sha512-A2W3nOHCraQYRfLgmhSk+rfWIMRFLqSyMwkOk4iY2BvjjGV+EGwkExjhgYiF5oPytLUq05dm2SwoY8XYDc/9Zw==","signatures":[{"sig":"MEUCIF+R7zBh5lI5a31XS/ndxCW16sKeb4l1A76cChMtq+COAiEA//RoVGjPFw0VkfmGjEfecIzPXyz5QjU3vkv2+BAyBJc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130563,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb9GVHCRA9TVsSAnZWagAAriQQAIR04xz8L5o5cGHNDbh4\nZ4x+ygUGNbqVviXEZ2L9k5qGXMYhcfB62c1BcTpjfyyFB40vj+1l2GzC1ext\nqlqiBN+1DozamxTZA9NeTwmiLPpuwSXuEJWUg+y5tqzEKaUh+/mZzv/HCGYF\nq8nZw+91rt8eSgCSL05lxc9QVOmqdQEN/A+ICcOAiihj1j1Iw0oAn7JIEBvi\nV6EOUAVi3Ixp69/ykLuuHEQ0yJquI9zfTC18kYqSc0bBwQo3jCGW8mJ68k6D\nEku6SFeLp5AU1d1i3aBpoHJ8Q2PgJ44HYufCnoyZV0WkMvJTcOKutAgXw6hc\nnYivsaiq98JtLvWGIH9OnkVspvUSXRQtSQM+zd2y61ppUCHnXQ0sNENHpobp\nLX6WkyatYqxBnGlVkLWCPis1TzGGUERWJ9dnQRpZ3iJLBJ+Xsb3YS1vuzLw3\nJN2ClUMGtZ0VtxfzqeofZxUxc3sjkKAIzMXRndz1HbjuRjsHF9/7wpY11L1W\nL/THIRTFO5qj8wBCftrIqQWIC53VKX6bjh60rB+nc38FEoZcVlhn2JjDM44h\nrgvJq+ys5as0Lmnw/8lmpyATDix705qQXiClYDd3Dy7ozGwkKhGrQqJ67fOG\nAMwTis5tHt8PNSVw9bkk1yvRvVADI32AEe+aSt03Y9lOl4abqwLi0IxfXUJf\nZHaj\r\n=J68g\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"globals":{"BABEL_ENV":"commonjs"},"testRegex":"(/test/.*\\.spec.js)$","coverageDirectory":"./coverage","modulePathIgnorePatterns":["<rootDir>/_book/"]},"main":"lib/index.js","module":"es/index.js","authors":["Vinicius Dacal <viniciusldacal@gmail.com> (https://github.com/viniciusdacal)"],"gitHead":"f4808b017e4e82f200071ec3900cae6b3173c972","scripts":{"lint":"eslint src test build","test":"cross-env BABEL_ENV=commonjs jest","build":"yarn run build:commonjs && yarn run build:es && yarn run build:umd && yarn run build:umd:min","clean":"rimraf lib dist es coverage","prepare":"yarn run clean && yarn run lint && yarn test && yarn run build","build:es":"cross-env BABEL_ENV=es babel src --out-dir es","test:cov":"yarn test -- --coverage","build:umd":"cross-env BABEL_ENV=es NODE_ENV=development rollup -c -i src/index.js -o dist/redux.js","coveralls":"cat ./coverage/lcov.info | ./node_modules/.bin/coveralls","docs:build":"yarn run docs:prepare && gitbook build -g viniciusdacal/redux-arc && cp logo/apple-touch-icon.png _book/gitbook/images/apple-touch-icon-precomposed-152.png && cp logo/favicon.ico _book/gitbook/images","docs:clean":"rimraf _book","docs:watch":"yarn run docs:prepare && gitbook serve","test:watch":"yarn test -- --watch","docs:prepare":"gitbook install","docs:publish":"yarn run docs:clean && yarn run docs:build && cp CNAME _book && cd _book && git init && git commit --allow-empty -m 'update book' && git checkout -b gh-pages && touch .nojekyll && git add . && git commit -am 'update book' && git push git@github.com:viniciusdacal/redux-arc gh-pages --force","build:umd:min":"cross-env BABEL_ENV=es NODE_ENV=production rollup -c -i src/index.js -o dist/redux.min.js","examples:lint":"eslint examples","examples:test":"cross-env CI=true babel-node examples/testAll.js","build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib"},"_npmUser":{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"},"_npmVersion":"6.4.1","description":"Abstraction layer to simplify rest api calls in redux","directories":{},"_nodeVersion":"9.3.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"glob":"^7.1.1","jest":"^21.2.1","redux":"^3.7.1","eslint":"^4.9.0","rimraf":"^2.6.2","rollup":"^0.51.8","prettier":"1.8.2","babel-cli":"^6.26.0","cross-env":"^5.1.0","babel-core":"^6.26.0","babel-jest":"^21.2.0","gitbook-cli":"^2.3.2","babel-eslint":"^8.0.1","babel-register":"^6.26.0","babel-preset-env":"^1.6.1","eslint-plugin-react":"^7.4.0","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.2.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-replace":"^2.0.0","eslint-plugin-flowtype":"^2.39.1","eslint-plugin-jsx-a11y":"^5.1.1","eslint-config-react-app":"^2.0.1","rollup-plugin-node-resolve":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-object-rest-spread":"^6.26.0"},"peerDependencies":{"redux":">= 3.7.1"},"_npmOperationalInternal":{"tmp":"tmp/redux-arc_0.6.3-metaoverriding_1542743366333_0.47709321986900743","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.6.3-metaoverriding-1":{"name":"redux-arc","version":"0.6.3-metaoverriding-1","keywords":["redux","redux-arc","react","async"],"license":"MIT","_id":"redux-arc@0.6.3-metaoverriding-1","maintainers":[{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"}],"dist":{"shasum":"2dfbc10a62e5b9d21faaea5f190cb52873416b6f","tarball":"https://registry.npmjs.org/redux-arc/-/redux-arc-0.6.3-metaoverriding-1.tgz","fileCount":37,"integrity":"sha512-YU70bSs+11LUWAtreaf5ufJKWtLAoG+omKWPpydBJpvU7ktoeEaO9e2RIYqJGwAUdDV01514XX6xJkpwOzCPqQ==","signatures":[{"sig":"MEYCIQCoPVWBl09ySV8PMHBHlZnf0IhMdHpRik0ueF2vmcEabgIhANQUSUkl97zsA8fjw67v4nmrwJu9qyv4rJ/msGAzpKZu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130565,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb9GvuCRA9TVsSAnZWagAA40oP/i2jK8UaYBh9BQw4wYMb\nANZw6RqMeoa3DvO5KZt0Pz3+kBIx80R0hvwhLD4kmK9x6eq4G/wxLSwbvZFk\nEoU2XzESN50wadL9LYke4tHEkNTd1sysMfJP3iHDJ8I91MwoAWwq7kvdJMfV\nV9M/HG21mcC++k3Jkag9rdA+oF9OqFgravtapO/BczEOUlaVpW3X45qFpG3Y\nJkGiO1afphUpbAESdGDqoMv6Qk2kKPPWD2wgUB5Lsd4McXf1joxm1nL39K34\nqGfhebwpAVk3Udgfr+r3+/JvYcaMmo96Fvz/B7+a3DGI2eXgARDtpNFsTHZX\nIRYTifk2KzqXaWL2DoJUpbYjf60K+XtuOTNhGIemmeK7N1oiThp7UnTtqXm1\n3TASvjYeuXCc8rTNxrXHgLeAQUO6wcAnffPIfrUu0Jlgss0EvrzgVLpYsTbh\nyNyP0mv3EGhzRwzAvM0qZdHz5GDjMkapm4FDkwyA42dEjZVeMxbXg1MT6XV0\nLNYCtuW82OPjIInU3NOPcb/9dEdmQcxnDGR05wx0iimskJJQE9IK49ELKu1h\nWgy8OzAbmrZtG05hrmXDwE4wO4g3BkanyhgMfLPO/hGtYslOKHIfnSK/MBuX\n47/+Gfp26bGRNtCbPJM/DMVC3u71vMh2x1mdF9MGgGwyW71UuYw1YW7ppgMo\nXKjo\r\n=RdRo\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"globals":{"BABEL_ENV":"commonjs"},"testRegex":"(/test/.*\\.spec.js)$","coverageDirectory":"./coverage","modulePathIgnorePatterns":["<rootDir>/_book/"]},"main":"lib/index.js","module":"es/index.js","authors":["Vinicius Dacal <viniciusldacal@gmail.com> (https://github.com/viniciusdacal)"],"gitHead":"f4808b017e4e82f200071ec3900cae6b3173c972","scripts":{"lint":"eslint src test build","test":"cross-env BABEL_ENV=commonjs jest","build":"yarn run build:commonjs && yarn run build:es && yarn run build:umd && yarn run build:umd:min","clean":"rimraf lib dist es coverage","prepare":"yarn run clean && yarn run lint && yarn test && yarn run build","build:es":"cross-env BABEL_ENV=es babel src --out-dir es","test:cov":"yarn test -- --coverage","build:umd":"cross-env BABEL_ENV=es NODE_ENV=development rollup -c -i src/index.js -o dist/redux.js","coveralls":"cat ./coverage/lcov.info | ./node_modules/.bin/coveralls","docs:build":"yarn run docs:prepare && gitbook build -g viniciusdacal/redux-arc && cp logo/apple-touch-icon.png _book/gitbook/images/apple-touch-icon-precomposed-152.png && cp logo/favicon.ico _book/gitbook/images","docs:clean":"rimraf _book","docs:watch":"yarn run docs:prepare && gitbook serve","test:watch":"yarn test -- --watch","docs:prepare":"gitbook install","docs:publish":"yarn run docs:clean && yarn run docs:build && cp CNAME _book && cd _book && git init && git commit --allow-empty -m 'update book' && git checkout -b gh-pages && touch .nojekyll && git add . && git commit -am 'update book' && git push git@github.com:viniciusdacal/redux-arc gh-pages --force","build:umd:min":"cross-env BABEL_ENV=es NODE_ENV=production rollup -c -i src/index.js -o dist/redux.min.js","examples:lint":"eslint examples","examples:test":"cross-env CI=true babel-node examples/testAll.js","build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib"},"_npmUser":{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"},"_npmVersion":"6.4.1","description":"Abstraction layer to simplify rest api calls in redux","directories":{},"_nodeVersion":"9.3.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"glob":"^7.1.1","jest":"^21.2.1","redux":"^3.7.1","eslint":"^4.9.0","rimraf":"^2.6.2","rollup":"^0.51.8","prettier":"1.8.2","babel-cli":"^6.26.0","cross-env":"^5.1.0","babel-core":"^6.26.0","babel-jest":"^21.2.0","gitbook-cli":"^2.3.2","babel-eslint":"^8.0.1","babel-register":"^6.26.0","babel-preset-env":"^1.6.1","eslint-plugin-react":"^7.4.0","rollup-plugin-babel":"^3.0.2","eslint-plugin-import":"^2.2.0","rollup-plugin-uglify":"^2.0.1","rollup-plugin-replace":"^2.0.0","eslint-plugin-flowtype":"^2.39.1","eslint-plugin-jsx-a11y":"^5.1.1","eslint-config-react-app":"^2.0.1","rollup-plugin-node-resolve":"^3.0.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-object-rest-spread":"^6.26.0"},"peerDependencies":{"redux":">= 3.7.1"},"_npmOperationalInternal":{"tmp":"tmp/redux-arc_0.6.3-metaoverriding-1_1542745069862_0.3984941396613346","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.7.5":{"name":"redux-arc","version":"0.7.5","keywords":["redux","redux-arc","react","async"],"license":"MIT","_id":"redux-arc@0.7.5","maintainers":[{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"}],"dist":{"shasum":"5005542dee884894744d9aefb10295cab9db15f0","tarball":"https://registry.npmjs.org/redux-arc/-/redux-arc-0.7.5.tgz","fileCount":35,"integrity":"sha512-Cod9pCCRynAniaoeMg6fZBxsKxOsQaYNnWlIfxXo6OYh/8QqGvSih+fLskrHJJ/oeVXmbcm2zKma/wFbopAGEg==","signatures":[{"sig":"MEUCIAoZdBtdDqPYP2iOkN0MvmE94bp1ozC33g57vS6cy73zAiEA75TZvRMBWBtA/dM6YzWuvFfjaCTSJOE0oPn2zZb5mRw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":125292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcIObGCRA9TVsSAnZWagAA8T8P/RFhJ2xCis6YHAvoFLJa\nTayyEeopT38BausKFT4RKrBNXuqX60lM672DBJ3hjHD268PIUDTGWzf4H6yP\nMs9TYdO1IMcgwNp34RMp2TsFbZzRG0e/yfdiw17/ZS95QELBgMWwBbFhSPpR\n9pY/INu2l3ENaS7i9LxyyJFVxJ0qMrqafkIYGvihc++je1M87jgtlPKN3OI5\nF/Q2NrOHRtgG10ok+IgxBthbiOJr5KsYP4hFhIe/xSGqmeIhY4bLfzcIuGWe\nq1kDRr+gBRIf9hlI0FtGP9i3y6WP2VkGOCSYhCMvqsBfpBdHCcqtqnhcNyW9\n+xDuHRghLnG/kxF4IiphfNY0KUo1dN+pqdQPVGe56Ac+J2Bug3hwO/myOJg/\n7lv8JH+hqCnKsygtm2ZCKd14ROAlIUM5LlKI8FcFhsbccGpSoywMtUrze5OB\n0aB6pixQpgHd5VBiudA//Mto69w8xz2jDgk6rl6Hnc9l34K65Eu9SFkllVfc\nSaCTHI0xKiEzPJu17t3mejBdya0QpnyiwR96Ujjsved+773JK0N/AsDZF1oG\nAVQYbUFukC8fVQWa2G3UIFNUOV+uUjpEx2++qvSe9bhx0AaUPF82yPdh0ZOg\ndpVA3Jni+KZL8cqlz9IVUKUvUd1XLQZH0vkCOXh3wZj6H2CKbVmToe2esTrB\n/LRQ\r\n=wen5\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"globals":{"BABEL_ENV":"commonjs"},"testRegex":"(/test/.*\\.spec.js)$","coverageDirectory":"./coverage","modulePathIgnorePatterns":["<rootDir>/_book/"]},"main":"lib/index.js","module":"es/index.js","authors":["Vinicius Dacal <viniciusldacal@gmail.com> (https://github.com/viniciusdacal)"],"gitHead":"8fe0e705743794515bd7ca40fdedd177b1bc2311","scripts":{"lint":"eslint src test build","test":"cross-env BABEL_ENV=commonjs jest","build":"yarn run build:commonjs && yarn run build:es && yarn run build:umd && yarn run build:umd:min","clean":"rimraf lib dist es coverage","prepare":"yarn run clean && yarn run lint && yarn test && yarn run build","build:es":"cross-env BABEL_ENV=es babel src --out-dir es","test:cov":"yarn test -- --coverage","build:umd":"cross-env BABEL_ENV=es NODE_ENV=development rollup -c -i src/index.js -o dist/redux.js","coveralls":"cat ./coverage/lcov.info | ./node_modules/.bin/coveralls","docs:build":"yarn run docs:prepare && gitbook build -g viniciusdacal/redux-arc && cp logo/apple-touch-icon.png _book/gitbook/images/apple-touch-icon-precomposed-152.png && cp logo/favicon.ico _book/gitbook/images","docs:clean":"rimraf _book","docs:watch":"yarn run docs:prepare && gitbook serve","test:watch":"yarn test -- --watch","docs:prepare":"gitbook install","docs:publish":"yarn run docs:clean && yarn run docs:build && cp CNAME _book && cd _book && git init && git commit --allow-empty -m 'update book' && git checkout -b gh-pages && touch .nojekyll && git add . && git commit -am 'update book' && git push git@github.com:viniciusdacal/redux-arc gh-pages --force","build:umd:min":"cross-env BABEL_ENV=es NODE_ENV=production rollup -c -i src/index.js -o dist/redux.min.js","examples:lint":"eslint examples","examples:test":"cross-env CI=true babel-node examples/testAll.js","build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib"},"_npmUser":{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"},"_npmVersion":"6.4.1","description":"Abstraction layer to help you reduce boilerplate on redux-apps","directories":{},"_nodeVersion":"9.3.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"glob":"7.1.1","jest":"22.4.2","redux":"3.7.1","eslint":"4.9.0","rimraf":"2.6.2","rollup":"0.51.8","prettier":"1.8.2","babel-cli":"6.26.0","cross-env":"5.1.0","babel-core":"6.26.0","babel-jest":"22.4.1","gitbook-cli":"2.3.2","babel-eslint":"8.2.2","babel-register":"6.26.0","babel-preset-env":"1.6.1","eslint-plugin-react":"7.4.0","rollup-plugin-babel":"3.0.2","eslint-plugin-import":"2.2.0","rollup-plugin-uglify":"2.0.1","rollup-plugin-replace":"2.0.0","eslint-plugin-flowtype":"2.39.1","eslint-plugin-jsx-a11y":"5.1.1","eslint-config-react-app":"2.0.1","rollup-plugin-node-resolve":"3.0.0","babel-plugin-external-helpers":"6.22.0","babel-plugin-transform-object-rest-spread":"6.26.0"},"peerDependencies":{"redux":">= 3.7.1"},"_npmOperationalInternal":{"tmp":"tmp/redux-arc_0.7.5_1545660101641_0.921622333634222","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."}},"time":{"created":"2017-07-02T21:39:49.560Z","modified":"2026-01-16T02:15:28.207Z","0.1.0":"2017-07-02T21:39:49.560Z","0.1.1":"2017-07-06T12:20:57.661Z","0.1.2":"2017-07-06T13:09:13.439Z","0.1.3":"2017-07-06T13:11:32.035Z","0.1.4":"2017-07-06T15:05:39.488Z","0.1.6":"2017-07-06T16:41:45.379Z","0.2.0":"2017-08-04T13:40:50.133Z","0.2.1":"2017-08-04T13:44:27.457Z","0.2.2":"2017-08-04T14:58:02.751Z","0.3.0":"2017-10-09T00:07:51.133Z","0.4.0":"2017-10-26T15:26:55.670Z","0.4.1":"2017-11-20T18:52:35.730Z","0.4.2":"2017-12-04T12:35:33.229Z","0.5.0":"2018-02-01T14:58:10.057Z","0.6.0":"2018-02-05T18:47:07.907Z","0.6.1":"2018-03-07T22:09:11.422Z","0.6.2":"2018-03-09T10:30:21.269Z","0.7.0":"2018-03-09T22:47:09.102Z","0.7.1":"2018-03-13T02:58:25.017Z","0.7.2":"2018-03-13T03:17:23.673Z","0.7.3":"2018-03-15T21:43:46.924Z","0.7.4":"2018-07-18T12:29:24.672Z","0.6.1-supabsurls":"2018-10-05T15:39:55.533Z","0.6.1-supabsurls-1":"2018-10-05T16:02:16.533Z","0.6.3-metaoverriding":"2018-11-20T19:49:26.511Z","0.6.3-metaoverriding-1":"2018-11-20T20:17:49.982Z","0.7.5":"2018-12-24T14:01:41.814Z"},"license":"MIT","keywords":["redux","redux-arc","react","async"],"description":"Abstraction layer to help you reduce boilerplate on redux-apps","maintainers":[{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"}],"readme":"<img src=\"https://github.com/viniciusdacal/redux-arc/blob/master/arc-64.png?raw=true\" width=\"200\" />\n\nCreate scalable, no-boilerplate redux Apps!\n\nArc is an abstraction layer to help you reduce boilerplate on redux-apps and also, organize better your code. Additionally, it has utilities to handle async requests.\n\n[![build status](https://img.shields.io/travis/viniciusdacal/redux-arc/master.svg?style=flat-square)](https://travis-ci.org/viniciusdacal/redux-arc) [![npm version](https://img.shields.io/npm/v/redux-arc.svg?style=flat-square)](https://www.npmjs.com/package/redux-arc)\n[![Coverage Status](https://coveralls.io/repos/github/viniciusdacal/redux-arc/badge.svg?branch=master)](https://coveralls.io/github/viniciusdacal/redux-arc?branch=master)\n\n## Why\nRedux is awesome! But people often complain about how much boilerplate they have to write when using it. Part of this problem, is because they feel unproductive defining constants, action creators and big reducers, but also because they don't have a clear idea on how to organize their project, or even how to proper handle async requests. This project, intends to help on all that aspects!\n\nWe don't intend to recreate the wheel, instead, we tried to use what the community are used with, and build up some approaches together in order to clarify the things about the project architecture, code splitting and the things around actions.\n\n## Action creators and types generated by a config\n\n```js\n  // actions.js\n  import { createActions } from 'redux-arc';\n\n  export { types, creators } = createActions('jedi', {\n    add: null,\n    reset: null\n  });\n```\n\n## Create reducers reusing types and without switch cases:\n\n```js\n  import { createReducers } from 'redux-arc';\n  import { types } from './actions';\n\n  const INITIAL_STATE = [];\n\n  const onAdd = (state, action) => [\n    ...state,\n    action.payload,\n  ];\n\n  const onReset = () => INITIAL_STATE;\n\n  const HANDLERS = {\n    [types.ADD]: onAdd,\n    [types.RESET]: onReset,\n  };\n\n  export default createReducers(INITIAL_STATE, HANDLERS);\n```\n\n## Call the creators providing payload and meta\n\n```js\n  import { creators } from './actions';\n\n  const payload = { name: 'Luke' };\n  const meta = { foo: 'bar' };\n\n  dispatch(creators.add(payload, meta));\n  /*\n  {\n    type: 'JEDI_ADD',\n    payload: { name: 'luke' },\n    meta: { foo: 'bar' },\n  }\n  */\n\n  dispatch(creators.reset());\n  // { type: 'JEDI_RESET' }\n```\n\n## Create Async Actions\n\n```js\n  import { createActions } from 'redux-arc';\n\n  export { types, creators } = createActions('jedi', {\n    add: { url: '/api/jedi' method: 'post'},\n  });\n\n  dispatch(creators.add(payload, meta));\n\n  types.ADD.REQUEST // JEDI_ADD_REQUEST\n  types.ADD.RESPONSE // JEDI_ADD_RESPONSE\n```\n> createActions creates both, regular and **Async Actions**. Async types has **REQUEST** and **RESPONSE** type, respectively to when a request starts and when it finishes.\n\n\n## Demo Project\nTake a look at the demo project using Arc to build a Contacts CRUD: [github.com/redux-arc/redux-arc-demo](https://github.com/redux-arc/redux-arc-demo)\n\n# Getting started\n\n```bash\nyarn add redux-arc\n```\n\nor\n\n```bash\nnpm i --save redux-arc\n```\n\n\nTo understand this docs, you should have a good understand of redux: what are Action creators, what are reducers, middlewares and also, what is a Flux Standard Action. So please, if you need a recap on those concepts, read the links bellow:\n\n[Redux Docs](https://redux.js.org/)\n[Flux Standard Action](https://github.com/acdlite/flux-standard-action)\n\n\n# Action creators and Types\nWhen you have to create a new action on redux, the first 2 steps you usually do is defining a **const** to you *action type* and then defining an *action creator*.\n\n```js\nconst ADD_JEDI = 'ADD_JEDI';\n\nconst addJedi = (payload) => ({\n  type: ADD_JEDI,\n  payload,\n});\n```\n\nThe above code is fine, but the problem is, you have dozens or hundreds of action in an application, and you are always writing the same code. Also, if you are not strict on code review, you end up having situations where your action type has a name different from your action creator:\n\n```js\nconst ADD_JEDI = 'ADD_JEDI';\n\nconst addJedi = (payload) => ({\n  type: ADD_JEDI,\n  payload,\n});\n```\n\nThinking in the above issues, Arc has a `createAction` function, that you use to define your actions and it generates the types and action creators automatically for you. Take a look:\n\n```js\n  import { createActions } from 'redux-arc';\n\n  const { types, creators } = createActions('yourNamespace', {\n    addJedi: null,\n  });\n\n  types.addJedi // YOUR_NAMESPACE_ADD_JEDI\n\n  const payload = {\n    master: 'Yoda',\n    name: 'Luke',\n  };\n\n  creators.addJedi(payload);\n  /*\n  {\n    type: 'YOUR_NAMESPACE_ADD_JEDI',\n    payload: {\n      master: 'Yoda',\n      name: 'Luke',\n    }\n  }\n  */\n```\n\nThe `createActions` method, expects a namespace as its first argument, this will be uppercased and will serve as a prefix for the actions. As the second parameter, we need to provide a config object, which the key is the action name and the value is an object with default values for **payload** and **meta**, or `null` if you don't want to provide defaults. Then, it will return **creators** and **types**.\n\nBoth creators and types are objects, the first one contains the action creators for the actions you defined. As in the case above we defined an action addJedi, then we have a creator at `creators.addJedi`.\n\nCreators accepts until three arguments:\n - payload: could be of any type. Will become the `action.payload`\n - meta: could be of any type. Will become the `action.meta`\n - error: boolean. Indicates if the action has an error or not. You can omit it if the action has no error.\n\n> The api was designed following the flux-standard-action concepts. It can be strict about how your action should look like, but this will help you creating better actions. Also, now you can be sure that the first parameter you provide to the action creator, will become the action.payload.\n\nThe types is an object that contains strings. Its keys are the action names, but different from the creators, here they are uppercased:\n\n```js\n  types.ADD_JEDI\n```\n\nAlso, when you do a console.log to see its content, you can see that we prefix the actions with the namespace you provided:\n\n```js\n  const { types } = createActions('yourNamespace', {\n    addJedi: null,\n  });\n\n  types.ADD_JEDI // -> YOUR_NAMESPACE_ADD_JEDI\n\n```\n\n> We decided to have the namespace, to not stop you from having actions with the same name in different modules. Don't worry, you will be able to differ them easily when using redux-dev-tools, just remember to provide unique namespaces.\n\n# Reducers\n\nBeyond types and action creators, we also have reducers. There are a few ways to deal with them, some approaches use `switch case`, some others use multiple `IFs`. With most of them, you end up having a lot of code inside the same function, which makes maintenance and focusing hard. I know some approaches mention that you can split your code into small functions when it gets bigger, but why do not start from something that is easy to scale and also allow you to focus on each action separately?\n\nThinking about that, we created the function `createReducers`\n\n## createReducers\n\nThis factory was created to work standalone, it doesn't require you to use any other feature from Arc. If you like, you can continue creating your actions and types as you always did. Take a look at the example below:\n\n```js\n  // vanillaActions.js\n  export const ADD_TODO = 'ADD_TODO';\n  export const RESET_TODOS = 'RESET_TODOS';\n\n  export const addTodo = (title, completed) => ({\n    type: ADD_TODO,\n    payload: {\n      title,\n      completed,\n    }\n  });\n\n  export const resetTodos = () => ({\n    type: RESET_TODOS,\n  });\n\n```\n\nAbove we defined our type and action creator using pure JavaScript. Below, you can see how we could use it with **createReducers**:\n\n```js\n  import { createReducers } from 'redux-arc';\n  import { ADD_TODO, RESET_TODOS } from './vanillaActions';\n\n  const INITIAL_STATE = [];\n\n  const onAddTodo = (state, action) => [\n    ...state,\n    { name: action.name, master: action.master },\n  ];\n\n  const onResetTodos = (state, action) => INITIAL_STATE;\n\n  const HANDLERS = {\n    [ADD_TODO]: onAddTodo\n    [RESET_TODOS]: onResetTodos\n  };\n\n  export default createReducers(INITIAL_STATE, HANDLERS);\n```\n\nYou must provide an `INITIAL_STATE` and a `HANDLERS` object, which the keys should be action types and the values should be reducers.\n\n\n**Using createReducers with arc's types object**\nAs types generated from Arc is a simple JavaScript object, with strings, it fits perfectly with **createReducers**. Take a look below:\n\n**actions.js**:\n\n```js\n  const { creators, types } = createActions('todo', {\n    addTodo: null,\n    resetTodos: null,\n  });\n```\n\n**reducers.js**\n\n```js\nimport { createReducers } from 'redux-arc'\nimport { types } from './actions';\n\nconst INITIAL_STATE = [];\n\nconst onAddTodo = (state, action) => [\n  ...state,\n  { name: action.name, master: action.master },\n];\n\nconst onResetTodos = (state, action) => INITIAL_STATE;\n\nconst HANDLERS = {\n  [types.ADD_TODO]: onAddTodo\n  [types.RESET_TODOS]: onResetTodos\n};\n\nexport default createReducers(INITIAL_STATE, HANDLERS);\n\n```\n\nAs you can see, you can use **createReducers** either standalone or with types generated by Arc.\n\nIt helps you organize your logic and focus on how each action will affect the state;\n\nAlso, it runs some validations over the config you provided. For example: If you commit a typo when providing the action type, it will throw a friendly descriptive error for you.\n\n\n# Async Actions\n\nOriginally, Arc was created to be an abstraction layer to handle async request in Redux. So, it has all you need about that. The api to generate async action creators and types is the same we use for regular actions, you only need to provide some additional params in the action config object. Take a look below:\n\n\n```js\n  import { createActions } from 'redux-arc';\n\n  const { creators, types } = createActions('todo', {\n    list:   { url: 'api/todo',     method: 'get'  },\n    read:   { url: 'api/todo/:id', method: 'get'  },\n    create: { url: 'api/todo',     method: 'post' },\n    update: { url: 'api/todo/:id', method: 'put'  },\n  });\n```\n\nAbove are defined four actions: `list`, `read`, `create` and `update`.\n\nTwo params are required in an async action config, `url` and `method`.\n\n - **url**: You can define any url you want and it also accepts dynamic params, as you can see in the `read` action. We defined a dynamic param **id**, inserting `:id`.\n - **method**: Generally speaking, any http method your request lib supports. This will be used only by you in the **asyncMiddleware** that you will configure.\n\n### Async Creators and Async Types\nAn async creator is very similar to a simple creator. It accepts **payload** and **meta** as arguments. They will further become the `action.payload` and `action.meta`, as in a regular creator. The difference here, is that the meta, should be an object, and its values will be also used to parse dynamic urls. Considering that, the creator **read** should be used like that:\n\n```js\n  const payload = null;\n  const meta = { id: '123' };\n\n  creators.read(payload, meta);\n```\n\nWith the above code, the final url to our read request, would be `api/todo/123`.\n\nThe async types differ a little bit from the regular ones as well. First, as a api call has two moments (request and response), we need two different types to use inside our reducers. Considering that, Arc returns an object for each type, containing a `REQUEST` and a `RESPONSE` key with the respective types:\n\n```js\n  types.READ.REQUEST == 'TODO_READ_REQUEST';\n  types.READ.RESPONSE == 'TODO_READ_RESPONSE';\n```\n\n### Async Middleware\nArc doesn't intend to be a request lib, so, you need to tell it how you want to make your requests, and you do that by configuring the asyncMiddleware.\n\nIt's quite simple, take a look below in an example using axios:\n\n```js\nimport { createAsyncMiddleware } from 'redux-arc';\nimport axios from 'axios';\n\nconst asyncTask = store => done => (options) => {\n  const { method, url, payload } = options;\n  const params = method === 'get' ? { params: payload } : payload;\n\n  return axios[method](url, params).then(\n    response => done(null, response.data),\n    error => done(error, null),\n  );\n};\n\n// create the async middleware\nconst asyncMiddleware = createAsyncMiddleware(asyncTask);\n\n// set it to the Store\nconst store = createStore(\n  reducer,\n  applyMiddleware(asyncMiddleware),\n);\n```\n\n>In the above example, we are using axios, but you can use whatever you want to perform the request, just make sure you call done, passing error and response when the request has finished.\n\nFor more info about **asyncTask** and **createAsyncMiddleware**, read [Connecting Arc Into Redux](http://redux-arc.js.org/docs/basics/ConnectingArcIntoRedux.html)\n\n\n## Async actions in Reducers\n\nIn reducers, you have to define two different handlers for each request definition, one to handle the state change when the request starts an another when it finishes.\n\nConsidering the following config:\n\n```js\n  import { createActions } from 'redux-arc';\n\n  export const { creators, types } = createActions('todo', {\n    list: { url: 'api/todo', method: 'get' },\n  });\n```\n\nWe would have a reducers like this:\n\n```js\nimport { createReducers } from 'redux-arc'\nimport { types } from './actions';\n\nconst INITIAL_STATE = {\n  listResult: [],\n  listIsLoading: false,\n  listError: null,\n};\n\nconst onListRequest = (state, action) => ({\n  ...state,\n  listIsLoading: true,\n  listError: INITIAL_STATE.listError,\n});\n\nconst onListResponse = (state, action) => {\n  if (action.error) {\n    return {\n      ...state,\n      listIsLoading: INITIAL_STATE.listIsLoading,\n      listError: action.payload,\n    }\n  }\n\n  return {\n    ...state,\n    listIsLoading: INITIAL_STATE.listIsLoading,\n    listResult: action.payload\n  }\n};\n\nconst onReset = state => INITIAL_STATE;\n\nconst HANDLERS = {\n  [types.LIST.REQUEST]: onListRequest,\n  [types.LIST.RESPONSE]: onListResponse,\n  [types.RESET]: onReset,\n};\n\nexport default createReducers(INITIAL_STATE, HANDLERS);\n```\n\n\n### Response action:\nWhen the request is done, an action with the response will be dispatched. Considering the list example, the response action would look like this:\n\n```js\n{\n  type: 'JEDI_LIST_RESPONSE', // types.LIST.RESPONSE,\n  meta: {\n    url: 'api/todo',\n    method: 'get',\n  },\n  payload: [\n    // resource list\n  ],\n}\n```\n\n### Error handling\nThe above example is a response with success. Accordingly to **FSA**, errors should be treated as a [**First class concept**](https://github.com/redux-utilities/flux-standard-action#errors-as-a-first-class-concept). In that case, when you got some error in an async request, the response action will come with the error property as `true` and the payload will be the actual error. Just like the example below:\n\n```js\n{\n  type: 'JEDI_LIST_RESPONSE', // types.LIST.RESPONSE,\n  meta: {\n    url: 'api/todo',\n    method: 'get',\n  },\n  payload: new Error('the request error'),\n  error: true,\n}\n```\n\n\n","readmeFilename":"README.md"}