{"_id":"react-async-call","_rev":"55-fa7e9b4ec84766e169968f2a0bddd844","name":"react-async-call","dist-tags":{"latest":"0.5.1","alpha":"0.5.2-alpha"},"versions":{"0.0.0":{"name":"react-async-call","version":"0.0.0","description":"","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"license":"MIT","_id":"react-async-call@0.0.0","_npmVersion":"5.3.0","_nodeVersion":"8.4.0","_npmUser":{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"},"dist":{"integrity":"sha512-RyE7zMotIe+ceiock+HrmTlGxuM+L0395zvmQ7fMfPRI/i7Xa0cAJ7MgZ+PU9Hg38edN+rVhXMTQ+LrVruqQkA==","shasum":"192113024a89166ec7eab73f08fb3efd069650cb","tarball":"https://registry.npmjs.org/react-async-call/-/react-async-call-0.0.0.tgz","fileCount":1,"unpackedSize":248,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDP8ahwYnV61tZcNuCi44yrxykGSw804di4zWvFE62HGgIgXsYxjUzzNmNAyHK7CYllqLjaiz99FXO2XlMaL5h6yxE="}]},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-call_0.0.0_1521484903978_0.8357548904950369"},"_hasShrinkwrap":false},"0.1.19":{"name":"react-async-call","version":"0.1.19","description":"Declarative promise handling in React","main":"lib/index.js","module":"lib/index.es.js","jsnext:main":"lib/index.es.js","umd:main":"lib/index.umd.js","unpkg":"lib/index.umd.js","author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/kuzn-ilya/react-promise-renderer.git"},"license":"MIT","typings":"src/index.d.ts","files":["lib","src/index.d.ts"],"keywords":["react","reactjs","render","props","promise","fetch"],"bugs":{"url":"https://github.com/kuzn-ilya/react-promise-renderer/issues"},"homepage":"https://github.com/kuzn-ilya/react-promise-renderer#readme","scripts":{"clean":"rimraf lib","build":"npm run clean && npm run rollup && npm run minify","minify":"npm run minify:cjs && npm run minify:umd","minify:cjs":"uglifyjs lib/index.js -cm toplevel -o lib/index.js -p relative --in-source-map lib/index.js.map --source-map lib/index.js.map","minify:umd":"uglifyjs lib/index.umd.js -cm -o lib/index.umd.js -p relative --in-source-map lib/index.umd.js.map --source-map lib/index.umd.js.map","test":"jest src --coverage","test:watch":"jest src --watch","format":"prettier --write **/*.{js,jsx,json,d.ts} !lib/** !.vscode/**","rollup":"rollup -c","release":"npm run test && npm run build && npm version patch && npm publish && git push --tags"},"peerDependencies":{"fbjs":"^0.8.0","prop-types":"^15.0.0","react":"^16.0.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-jest":"^22.4.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","fbjs":"^0.8.16","jest":"^22.4.2","prettier":"^1.11.1","react":"^16.2.0","react-dom":"^16.2.0","rimraf":"^2.6.2","rollup":"^0.56.5","rollup-plugin-babel":"^3.0.3","uglifyjs":"^2.4.11"},"jest":{"coverageDirectory":"../coverage/","collectCoverage":true,"setupTestFrameworkScriptFile":"../setup.jest.js","rootDir":"./src"},"gitHead":"8bbd5bce46eef2fc28e4c02a10f7895eff616e41","_id":"react-async-call@0.1.19","_npmVersion":"5.3.0","_nodeVersion":"8.4.0","_npmUser":{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"},"dist":{"integrity":"sha512-8iwZCR9iHI/qaDu0GMzq1/n6fNpNxePJPpwYdVoWhMO/+srb+h9eWeK3fWURDjva+GWCCzkNNTa9392M9BAkSQ==","shasum":"bc4777fab24869908786da3240980083497c8f00","tarball":"https://registry.npmjs.org/react-async-call/-/react-async-call-0.1.19.tgz","fileCount":10,"unpackedSize":68740,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDbodmkaE7i2Xz3L0bavc0veukL1ramZKvNa2CbQu6wCgIgCuB3dkLFJaITF/TVuJfL6yLtLuBnlygCMrQLxFjKppM="}]},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-call_0.1.19_1521546279891_0.390556674284388"},"_hasShrinkwrap":false},"0.2.0-alpha.0":{"name":"react-async-call","version":"0.2.0-alpha.0","description":"Declarative promise handling in React","main":"lib/index.js","module":"lib/index.es.js","jsnext:main":"lib/index.es.js","umd:main":"lib/index.umd.js","unpkg":"lib/index.umd.js","author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/kuzn-ilya/react-async-call.git"},"license":"MIT","typings":"src/index.d.ts","files":["lib","src/index.d.ts"],"keywords":["react","reactjs","render","props","promise","fetch"],"bugs":{"url":"https://github.com/kuzn-ilya/react-async-call/issues"},"homepage":"https://github.com/kuzn-ilya/react-async-call#readme","scripts":{"clean":"rimraf lib","build":"npm run clean && npm run rollup && npm run minify","eslint":"eslint ./","minify":"npm run minify:cjs && npm run minify:umd","minify:cjs":"uglifyjs lib/index.js -cm toplevel -o lib/index.js -p relative --in-source-map lib/index.js.map --source-map lib/index.js.map","minify:umd":"uglifyjs lib/index.umd.js -cm -o lib/index.umd.js -p relative --in-source-map lib/index.umd.js.map --source-map lib/index.umd.js.map","test":"npm run eslint && jest src --coverage","test:watch":"npm run eslint && jest src --watch","format":"prettier --write **/*.{js,jsx,json,d.ts} !lib/** !.vscode/**","rollup":"rollup -c","release":"npm run test && npm run build && npm version patch && npm publish && git push --tags"},"peerDependencies":{"fbjs":"^0.8.0","prop-types":"^15.0.0","react":"^16.0.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.2.2","babel-jest":"^22.4.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","eslint":"^4.19.0","eslint-config-react-app":"^2.1.0","eslint-plugin-import":"^2.9.0","eslint-plugin-react":"^7.7.0","fbjs":"^0.8.16","jest":"^22.4.2","prettier":"^1.11.1","react":"^16.2.0","react-dom":"^16.2.0","rimraf":"^2.6.2","rollup":"^0.56.5","rollup-plugin-babel":"^3.0.3","uglifyjs":"^2.4.11"},"jest":{"coverageDirectory":"../coverage/","collectCoverage":true,"setupTestFrameworkScriptFile":"../setup.jest.js","rootDir":"./src"},"eslintConfig":{"parser":"babel-eslint","env":{"browser":true,"node":true},"plugins":["import","react"],"extends":["eslint:recommended","plugin:import/errors","plugin:react/recommended"]},"eslintIgnore":["lib/**","src/__tests__/**","coverage/**","setup.jest.js"],"gitHead":"79f1bf2fb483fcfb09e37e9aba50987a2a4f6180","_id":"react-async-call@0.2.0-alpha.0","_npmVersion":"5.3.0","_nodeVersion":"8.4.0","_npmUser":{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"},"dist":{"integrity":"sha512-TCwkeI9rqdvyLNZch0M0F4Kd1SiSp+4blxT7+Q5mq34P3x/0d4hMWMuh9Ln3XnXgGeMSRZKb/CNsn0i2K+8aqA==","shasum":"b609e5bb59062fd4d4428e86edc8c5069cba71be","tarball":"https://registry.npmjs.org/react-async-call/-/react-async-call-0.2.0-alpha.0.tgz","fileCount":10,"unpackedSize":87968,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFOxbgsmXyI0hP06fPTZ7J3BezATowLVmXTXTbkXlDBzAiEAl+1Yfdljz7UfwykQJVBBAXgrLy7bKy3wAjiSJEgiYk0="}]},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-call_0.2.0-alpha.0_1522005255551_0.4063271742725081"},"_hasShrinkwrap":false},"0.2.0-alpha.1":{"name":"react-async-call","version":"0.2.0-alpha.1","description":"Declarative promise handling in React","main":"lib/index.js","module":"lib/index.es.js","jsnext:main":"lib/index.es.js","umd:main":"lib/index.umd.js","unpkg":"lib/index.umd.js","author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/kuzn-ilya/react-async-call.git"},"license":"MIT","typings":"src/index.d.ts","files":["lib","src/index.d.ts"],"keywords":["react","reactjs","render","props","promise","fetch"],"bugs":{"url":"https://github.com/kuzn-ilya/react-async-call/issues"},"homepage":"https://github.com/kuzn-ilya/react-async-call#readme","scripts":{"clean":"rimraf lib","build":"npm run clean && npm run rollup && npm run minify","eslint":"eslint ./","minify":"npm run minify:cjs && npm run minify:umd","minify:cjs":"uglifyjs lib/index.js -cm toplevel -o lib/index.js -p relative --in-source-map lib/index.js.map --source-map lib/index.js.map","minify:umd":"uglifyjs lib/index.umd.js -cm -o lib/index.umd.js -p relative --in-source-map lib/index.umd.js.map --source-map lib/index.umd.js.map","test":"npm run eslint && jest src --coverage","test:watch":"npm run eslint && jest src --watch","format":"prettier --write **/*.{js,jsx,json,d.ts} !lib/** !.vscode/**","rollup":"rollup -c","release":"npm run test && npm run build && npm version patch && npm publish && git push --tags"},"peerDependencies":{"fbjs":"^0.8.0","prop-types":"^15.0.0","react":"^16.0.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.2.2","babel-jest":"^22.4.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","eslint":"^4.19.0","eslint-config-react-app":"^2.1.0","eslint-plugin-import":"^2.9.0","eslint-plugin-react":"^7.7.0","fbjs":"^0.8.16","jest":"^22.4.2","prettier":"^1.11.1","react":"^16.2.0","react-dom":"^16.2.0","rimraf":"^2.6.2","rollup":"^0.56.5","rollup-plugin-babel":"^3.0.3","uglifyjs":"^2.4.11"},"jest":{"coverageDirectory":"../coverage/","collectCoverage":true,"setupTestFrameworkScriptFile":"../setup.jest.js","rootDir":"./src"},"eslintConfig":{"parser":"babel-eslint","env":{"browser":true,"node":true},"plugins":["import","react"],"extends":["eslint:recommended","plugin:import/errors","plugin:react/recommended"]},"eslintIgnore":["lib/**","src/__tests__/**","coverage/**","setup.jest.js"],"readme":"# react-async-call\r\n\r\n[![npm version](https://badge.fury.io/js/react-async-call.svg)](https://badge.fury.io/js/react-async-call)\r\n[![Build Status](https://travis-ci.org/kuzn-ilya/react-async-call.svg?branch=master)](https://travis-ci.org/kuzn-ilya/react-async-call.svg)\r\n[![codecov](https://codecov.io/gh/kuzn-ilya/react-async-call/branch/master/graph/badge.svg)](https://codecov.io/gh/kuzn-ilya/react-async-call)\r\n\r\n## Overview\r\n\r\nDeclarative promise handling in React.\r\n\r\n## Install\r\n\r\n### Using npm\r\n\r\n`npm i react-async-call --save`\r\n\r\nThen, use it as usual:\r\n\r\n```JS\r\n// using ES6 modules\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\n// using CommonJS modules\r\nvar createAsyncCallComponent = require('react-async-call').createAsyncCallComponent\r\n```\r\n\r\n### UMD build\r\n\r\nThe UMD build is also available on [unpkg](https:/unpkg.com):\r\n\r\n```HTML\r\n<script src=\"https://unpkg.com/react-async-call\"></script>\r\n```\r\n\r\nThe package is avalable on `window.ReactAsyncCall`\r\n\r\n## Usage\r\n\r\n### Basic Usage\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/y7349vl4oj)\r\n* [TypeScript Example](https://codesandbox.io/s/w76rq8jjx8)\r\n\r\n```jsx\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\nconst AsyncCall = createAsyncCallComponent(value => Promise.resolve(42))\r\n\r\nconst Example = () => (\r\n  <AsyncCall>\r\n    <AsyncCall.Running>\r\n      <div>Loading...</div>\r\n    </AsyncCall.Running>\r\n    <AsyncCall.HasResult>{result => <div>The result of function call is {result}</div>}</AsyncCall.HasResult>\r\n    <AsyncCall.Rejected>{reason => <div>Error: {reason}</div>}</AsyncCall.Rejected>\r\n  </AsyncCall>\r\n)\r\n```\r\n\r\n### Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/vn8qmr43yy)\r\n* [TypeScript Example](https://codesandbox.io/s/ryxwnkl34)\r\n\r\n### Incremental Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/mzzvlmj65y)\r\n* [TypeScript Example](https://codesandbox.io/s/5y3m6mrx9p)\r\n\r\n## API\r\n\r\n[See API reference here](https://github.com/kuzn-ilya/react-async-call/blob/master/docs/API.md)\r\n\r\n## Change Log\r\n\r\n[You can find change log here](https://github.com/kuzn-ilya/react-async-call/blob/master/docs/CHANGELOG.md)\r\n\r\n## Credits\r\n\r\nGreat thanks to [@kitos](https://github.com/kitos) and [@ventrz](https://github.com/ventrz) for their invaluable help, support and bright ideas!\r\n","readmeFilename":"README.md","gitHead":"a667273b3a1620f3239f46dda59ac3e0a6cfe14a","_id":"react-async-call@0.2.0-alpha.1","_npmVersion":"5.3.0","_nodeVersion":"8.4.0","_npmUser":{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"},"dist":{"integrity":"sha512-ddNKy/G+7imGhdJuwRlo928Kz9SAK11rJg5LcGA215TMEPj83tzJYOt3kMQVXpyaxtLHpjTTN/H3SmkWqMC8zA==","shasum":"3c4c407a60fa4679bb1128234ca917dbbbd54aaa","tarball":"https://registry.npmjs.org/react-async-call/-/react-async-call-0.2.0-alpha.1.tgz","fileCount":10,"unpackedSize":87968,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDYVtkLUC3hrTV3jVqJgrQFn1YwBHhRxdR+jKHBkmlgUQIgE26ygHP1bmQdb9lwjRhoM2aQGZJ9ViXbq/mAUY8ekXo="}]},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-call_0.2.0-alpha.1_1522005978911_0.2672066039940739"},"_hasShrinkwrap":false},"0.1.20":{"name":"react-async-call","version":"0.1.20","description":"Declarative promise handling in React","main":"lib/index.js","module":"lib/index.es.js","jsnext:main":"lib/index.es.js","umd:main":"lib/index.umd.js","unpkg":"lib/index.umd.js","author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/kuzn-ilya/react-async-call.git"},"license":"MIT","typings":"src/index.d.ts","files":["lib","src/index.d.ts"],"keywords":["react","reactjs","render","props","promise","fetch"],"bugs":{"url":"https://github.com/kuzn-ilya/react-async-call/issues"},"homepage":"https://github.com/kuzn-ilya/react-async-call#readme","scripts":{"clean":"rimraf lib","build":"npm run clean && npm run rollup && npm run minify","eslint":"eslint ./","minify":"npm run minify:cjs && npm run minify:umd","minify:cjs":"uglifyjs lib/index.js -cm toplevel -o lib/index.js -p relative --in-source-map lib/index.js.map --source-map lib/index.js.map","minify:umd":"uglifyjs lib/index.umd.js -cm -o lib/index.umd.js -p relative --in-source-map lib/index.umd.js.map --source-map lib/index.umd.js.map","test":"npm run eslint && jest src --coverage","test:watch":"npm run eslint && jest src --watch","format":"prettier --write **/*.{js,jsx,json,d.ts} !lib/** !.vscode/**","rollup":"rollup -c","release":"npm run test && npm run build && npm version patch && npm publish && git push --tags"},"peerDependencies":{"fbjs":"^0.8.0","prop-types":"^15.0.0","react":"^16.0.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.2.2","babel-jest":"^22.4.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","eslint":"^4.19.0","eslint-config-react-app":"^2.1.0","eslint-plugin-import":"^2.9.0","eslint-plugin-react":"^7.7.0","fbjs":"^0.8.16","jest":"^22.4.2","prettier":"^1.11.1","react":"^16.2.0","react-dom":"^16.2.0","rimraf":"^2.6.2","rollup":"^0.56.5","rollup-plugin-babel":"^3.0.3","uglifyjs":"^2.4.11"},"jest":{"coverageDirectory":"../coverage/","collectCoverage":true,"setupTestFrameworkScriptFile":"../setup.jest.js","rootDir":"./src"},"eslintConfig":{"parser":"babel-eslint","env":{"browser":true,"node":true},"plugins":["import","react"],"extends":["eslint:recommended","plugin:import/errors","plugin:react/recommended"]},"eslintIgnore":["lib/**","src/__tests__/**","coverage/**","setup.jest.js"],"gitHead":"e276edb66cc8f9b606c00f52eb21dd2973bdd8c1","_id":"react-async-call@0.1.20","_npmVersion":"5.3.0","_nodeVersion":"8.4.0","_npmUser":{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"},"dist":{"integrity":"sha512-1DC88kdydjlG/A/DpEdmKrrvtdf5ld1DHz+azRUWI4sBXRpaemNAAYZc5TMVWM8oGD0G2VJ5/KXs3A8A6v9eMA==","shasum":"2a36ee75add0d02a8132e2421012fb49f587d85b","tarball":"https://registry.npmjs.org/react-async-call/-/react-async-call-0.1.20.tgz","fileCount":10,"unpackedSize":72066,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID1O4klvLDcNw66m6ZWtRzJd/qV8MhECaM9GMkKTkmElAiEApgw9rXmgRsEjcNmI+s5eLa0mAydl34TzSRDmf0h4ExU="}]},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-call_0.1.20_1522006104916_0.8184217348337106"},"_hasShrinkwrap":false},"0.2.0-alpha.2":{"name":"react-async-call","version":"0.2.0-alpha.2","description":"Declarative promise handling in React","main":"lib/index.js","module":"lib/index.es.js","jsnext:main":"lib/index.es.js","umd:main":"lib/index.umd.js","unpkg":"lib/index.umd.js","author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/kuzn-ilya/react-async-call.git"},"license":"MIT","typings":"src/index.d.ts","files":["lib","src/index.d.ts"],"keywords":["react","reactjs","render","props","promise","fetch"],"bugs":{"url":"https://github.com/kuzn-ilya/react-async-call/issues"},"homepage":"https://github.com/kuzn-ilya/react-async-call#readme","scripts":{"clean":"rimraf lib","build":"npm run clean && npm run rollup && npm run minify","eslint":"eslint ./","minify":"npm run minify:cjs && npm run minify:umd","minify:cjs":"uglifyjs lib/index.js -cm toplevel -o lib/index.js -p relative --in-source-map lib/index.js.map --source-map lib/index.js.map","minify:umd":"uglifyjs lib/index.umd.js -cm -o lib/index.umd.js -p relative --in-source-map lib/index.umd.js.map --source-map lib/index.umd.js.map","test":"npm run eslint && jest src --coverage","test:watch":"npm run eslint && jest src --watch","format":"prettier --write **/*.{js,jsx,json,d.ts} !lib/** !.vscode/**","rollup":"rollup -c","release":"npm run test && npm run build && npm version patch && npm publish && git push --tags"},"peerDependencies":{"fbjs":"^0.8.0","prop-types":"^15.0.0","react":"^16.0.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.2.2","babel-jest":"^22.4.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","eslint":"^4.19.0","eslint-config-react-app":"^2.1.0","eslint-plugin-import":"^2.9.0","eslint-plugin-react":"^7.7.0","fbjs":"^0.8.16","jest":"^22.4.2","prettier":"^1.11.1","react":"^16.2.0","react-dom":"^16.2.0","rimraf":"^2.6.2","rollup":"^0.56.5","rollup-plugin-babel":"^3.0.3","uglifyjs":"^2.4.11"},"jest":{"coverageDirectory":"../coverage/","collectCoverage":true,"setupTestFrameworkScriptFile":"../setup.jest.js","rootDir":"./src"},"eslintConfig":{"parser":"babel-eslint","env":{"browser":true,"node":true},"plugins":["import","react"],"extends":["eslint:recommended","plugin:import/errors","plugin:react/recommended"]},"eslintIgnore":["lib/**","src/__tests__/**","coverage/**","setup.jest.js"],"gitHead":"5c30389153855f0e7d26f468a4cf03c15e6952d5","_id":"react-async-call@0.2.0-alpha.2","_npmVersion":"5.3.0","_nodeVersion":"8.4.0","_npmUser":{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"},"dist":{"integrity":"sha512-eyTImfWcD49aGXireBiFfYdolKPnpOrzjoRoq/XWWvAXVg78KjTMqYCAHugqUm42uP149N0bpf1tlgPFJWiTRQ==","shasum":"55688a5c5b845d9a98903ffcc6598b15d4d8ad7c","tarball":"https://registry.npmjs.org/react-async-call/-/react-async-call-0.2.0-alpha.2.tgz","fileCount":10,"unpackedSize":91474,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEEXxmxg4zWTP7UOlKFZgJ6mYdNkXUeTFbYWXr9TwYAtAiBlBXMwL/SiXCzwjKfMg4/tZLAAhdX9aidMwWQkpk2HkQ=="}]},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-call_0.2.0-alpha.2_1522054868967_0.7406991920463137"},"_hasShrinkwrap":false},"0.2.0-alpha.3":{"name":"react-async-call","version":"0.2.0-alpha.3","description":"Declarative promise handling in React","main":"lib/index.js","module":"lib/index.es.js","jsnext:main":"lib/index.es.js","umd:main":"lib/index.umd.js","unpkg":"lib/index.umd.js","author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/kuzn-ilya/react-async-call.git"},"license":"MIT","typings":"src/index.d.ts","files":["lib","src/index.d.ts"],"keywords":["react","reactjs","render","props","promise","fetch"],"bugs":{"url":"https://github.com/kuzn-ilya/react-async-call/issues"},"homepage":"https://github.com/kuzn-ilya/react-async-call#readme","scripts":{"clean":"rimraf lib","build":"npm run clean && npm run rollup && npm run minify","eslint":"eslint ./","minify":"npm run minify:cjs && npm run minify:umd","minify:cjs":"uglifyjs lib/index.js -cm toplevel -o lib/index.js -p relative --in-source-map lib/index.js.map --source-map lib/index.js.map","minify:umd":"uglifyjs lib/index.umd.js -cm -o lib/index.umd.js -p relative --in-source-map lib/index.umd.js.map --source-map lib/index.umd.js.map","test":"npm run eslint && jest src --coverage","test:watch":"npm run eslint && jest src --watch","format":"prettier --write **/*.{js,jsx,json,d.ts} !lib/** !.vscode/**","rollup":"rollup -c","release":"npm run test && npm run build && npm version patch && npm publish && git push --tags"},"peerDependencies":{"fbjs":"^0.8.0","prop-types":"^15.0.0","react":"^16.0.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.2.2","babel-jest":"^22.4.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","eslint":"^4.19.0","eslint-config-react-app":"^2.1.0","eslint-plugin-import":"^2.9.0","eslint-plugin-react":"^7.7.0","fbjs":"^0.8.16","jest":"^22.4.2","prettier":"^1.11.1","react":"^16.2.0","react-dom":"^16.2.0","rimraf":"^2.6.2","rollup":"^0.56.5","rollup-plugin-babel":"^3.0.3","uglifyjs":"^2.4.11"},"jest":{"coverageDirectory":"/coverage/","collectCoverage":true,"coveragePathIgnorePatterns":["/node_modules/","./src/__tests__/setup.js","./src/__tests__/common.js"],"setupTestFrameworkScriptFile":"./src/__tests__/setup.js","testMatch":["**/__tests__/**/*.test.js?(x)"]},"eslintConfig":{"parser":"babel-eslint","env":{"browser":true,"node":true},"plugins":["import","react"],"extends":["eslint:recommended","plugin:import/errors","plugin:react/recommended"]},"eslintIgnore":["lib/**","src/__tests__/**","coverage/**"],"gitHead":"ccd5e4bf7efa69614df5a2deb3033b5bc0f56b0e","_id":"react-async-call@0.2.0-alpha.3","_npmVersion":"5.3.0","_nodeVersion":"8.4.0","_npmUser":{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"},"dist":{"integrity":"sha512-pEsVTIFfhzt3gTYbUKd4DsdkMnpFdYriRuYpE8pU4b4VJIe2naVxcm9+13wLJhUeaSXir+a9kyMJxmj/eNnxxA==","shasum":"2120c576df977277953288b2ea45642035be69ab","tarball":"https://registry.npmjs.org/react-async-call/-/react-async-call-0.2.0-alpha.3.tgz","fileCount":10,"unpackedSize":97112,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC5FMpJ3MDesFHZw99TwS13c2LFirv0YYUsgr49eGekpQIhAIY8sDNjul75FbGhVD9ULTQDZLYYq8dDpGyVaeeUnPTU"}]},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-call_0.2.0-alpha.3_1522089358783_0.6217022401963761"},"_hasShrinkwrap":false},"0.2.0-alpha.4":{"name":"react-async-call","version":"0.2.0-alpha.4","description":"Declarative promise handling in React","main":"lib/index.js","module":"lib/index.es.js","jsnext:main":"lib/index.es.js","umd:main":"lib/index.umd.js","unpkg":"lib/index.umd.js","author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/kuzn-ilya/react-async-call.git"},"license":"MIT","typings":"src/index.d.ts","files":["lib","src/index.d.ts"],"keywords":["react","reactjs","render","props","promise","fetch"],"bugs":{"url":"https://github.com/kuzn-ilya/react-async-call/issues"},"homepage":"https://github.com/kuzn-ilya/react-async-call#readme","scripts":{"clean":"rimraf lib","build":"npm run clean && npm run rollup && npm run minify","eslint":"eslint ./","minify":"npm run minify:cjs && npm run minify:umd","minify:cjs":"uglifyjs lib/index.js -cm toplevel -o lib/index.js -p relative --in-source-map lib/index.js.map --source-map lib/index.js.map","minify:umd":"uglifyjs lib/index.umd.js -cm -o lib/index.umd.js -p relative --in-source-map lib/index.umd.js.map --source-map lib/index.umd.js.map","test":"npm run eslint && jest src --coverage","test:watch":"npm run eslint && jest src --watch","format":"prettier --write **/*.{js,jsx,json,d.ts} !lib/** !.vscode/**","rollup":"rollup -c","release":"npm run test && npm run build && npm version patch && npm publish && git push --tags"},"peerDependencies":{"fbjs":"^0.8.0","prop-types":"^15.0.0","react":"^16.0.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.2.2","babel-jest":"^22.4.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","eslint":"^4.19.0","eslint-config-react-app":"^2.1.0","eslint-plugin-import":"^2.9.0","eslint-plugin-react":"^7.7.0","fbjs":"^0.8.16","jest":"^22.4.2","prettier":"^1.11.1","react":"^16.2.0","react-dom":"^16.2.0","rimraf":"^2.6.2","rollup":"^0.56.5","rollup-plugin-babel":"^3.0.3","uglifyjs":"^2.4.11"},"jest":{"coverageDirectory":"/coverage/","collectCoverage":true,"coveragePathIgnorePatterns":["/node_modules/","./src/__tests__/setup.js","./src/__tests__/common.js"],"setupTestFrameworkScriptFile":"./src/__tests__/setup.js","testMatch":["**/__tests__/**/*.test.js?(x)"]},"eslintConfig":{"parser":"babel-eslint","env":{"browser":true,"node":true},"plugins":["import","react"],"extends":["eslint:recommended","plugin:import/errors","plugin:react/recommended"]},"eslintIgnore":["lib/**","src/__tests__/**","coverage/**"],"readme":"# react-async-call\r\n\r\n[![npm version](https://badge.fury.io/js/react-async-call.svg)](https://badge.fury.io/js/react-async-call)\r\n[![Build Status](https://travis-ci.org/kuzn-ilya/react-async-call.svg?branch=master)](https://travis-ci.org/kuzn-ilya/react-async-call.svg)\r\n[![codecov](https://codecov.io/gh/kuzn-ilya/react-async-call/branch/master/graph/badge.svg)](https://codecov.io/gh/kuzn-ilya/react-async-call)\r\n\r\n## Overview\r\n\r\nDeclarative promise handling in React.\r\n\r\n## Install\r\n\r\n### Using npm\r\n\r\n`npm i react-async-call --save`\r\n\r\nThen, use it as usual:\r\n\r\n```JS\r\n// using ES6 modules\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\n// using CommonJS modules\r\nvar createAsyncCallComponent = require('react-async-call').createAsyncCallComponent\r\n```\r\n\r\n### UMD build\r\n\r\nThe UMD build is also available on [unpkg](https:/unpkg.com):\r\n\r\n```HTML\r\n<script src=\"https://unpkg.com/react-async-call\"></script>\r\n```\r\n\r\nThe package is avalable on `window.ReactAsyncCall`\r\n\r\n## Usage\r\n\r\n### Basic Usage\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/y7349vl4oj)\r\n* [TypeScript Example](https://codesandbox.io/s/w76rq8jjx8)\r\n\r\n```jsx\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\nconst AsyncCall = createAsyncCallComponent(value => Promise.resolve(42))\r\n\r\nconst Example = () => (\r\n  <AsyncCall>\r\n    <AsyncCall.Running>\r\n      <div>Loading...</div>\r\n    </AsyncCall.Running>\r\n    <AsyncCall.HasResult>{result => <div>The result of function call is {result}</div>}</AsyncCall.HasResult>\r\n    <AsyncCall.Rejected>{reason => <div>Error: {reason}</div>}</AsyncCall.Rejected>\r\n  </AsyncCall>\r\n)\r\n```\r\n\r\n### Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/vn8qmr43yy)\r\n* [TypeScript Example](https://codesandbox.io/s/ryxwnkl34)\r\n\r\n### Incremental Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/mzzvlmj65y)\r\n* [TypeScript Example](https://codesandbox.io/s/5y3m6mrx9p)\r\n\r\n## API\r\n\r\n[See API reference here](https://github.com/kuzn-ilya/react-async-call/blob/master/docs/API.md)\r\n\r\n## Change Log\r\n\r\n[You can find change log here](https://github.com/kuzn-ilya/react-async-call/blob/master/docs/CHANGELOG.md)\r\n\r\n## Credits\r\n\r\nGreat thanks to [@kitos](https://github.com/kitos) and [@ventrz](https://github.com/ventrz) for their invaluable help, support and bright ideas!\r\n","readmeFilename":"README.md","gitHead":"f63cab3b9536126ebcd0c5e735778aadaff2b805","_id":"react-async-call@0.2.0-alpha.4","_npmVersion":"5.3.0","_nodeVersion":"8.4.0","_npmUser":{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"},"dist":{"integrity":"sha512-slfmqv1GxTohK2E2wePsDDA06egU9XtkO78r629srtQaLFKpSYynDX8mr5WrL93J8yYcpW/+IyvokV/O6jK3qw==","shasum":"71c7d35935abbd740a32f4e4f047ff75b2e18c90","tarball":"https://registry.npmjs.org/react-async-call/-/react-async-call-0.2.0-alpha.4.tgz","fileCount":10,"unpackedSize":99674,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCLImF6DW879cMoapTeHHc1W1hVlRmpRj9LqCfqiRywdAIgOVEOXJReU17WtINRXxYsbpIYb+b2WARFONi2NhGynPU="}]},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-call_0.2.0-alpha.4_1522140665706_0.9969335335846021"},"_hasShrinkwrap":false},"0.2.0-alpha.5":{"name":"react-async-call","version":"0.2.0-alpha.5","description":"Declarative promise handling in React","main":"lib/index.js","module":"lib/index.es.js","jsnext:main":"lib/index.es.js","umd:main":"lib/index.umd.js","unpkg":"lib/index.umd.js","author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/kuzn-ilya/react-async-call.git"},"license":"MIT","typings":"src/index.d.ts","files":["lib","src/index.d.ts"],"keywords":["react","reactjs","render","props","promise","fetch"],"bugs":{"url":"https://github.com/kuzn-ilya/react-async-call/issues"},"homepage":"https://github.com/kuzn-ilya/react-async-call#readme","scripts":{"clean":"rimraf lib","build":"npm run clean && npm run rollup && npm run minify","eslint":"eslint ./","minify":"npm run minify:cjs && npm run minify:umd","minify:cjs":"uglifyjs lib/index.js -cm toplevel -o lib/index.js -p relative --in-source-map lib/index.js.map --source-map lib/index.js.map","minify:umd":"uglifyjs lib/index.umd.js -cm -o lib/index.umd.js -p relative --in-source-map lib/index.umd.js.map --source-map lib/index.umd.js.map","test":"npm run eslint && jest src --coverage","test:watch":"npm run eslint && jest src --watch","format":"prettier --write **/*.{js,jsx,json,d.ts} !lib/** !.vscode/**","rollup":"rollup -c","release":"npm run test && npm run build && npm version patch && npm publish && git push --tags"},"peerDependencies":{"fbjs":"^0.8.0","prop-types":"^15.0.0","react":"^16.0.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.2.2","babel-jest":"^22.4.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","eslint":"^4.19.0","eslint-config-react-app":"^2.1.0","eslint-plugin-import":"^2.9.0","eslint-plugin-react":"^7.7.0","fbjs":"^0.8.16","jest":"^22.4.2","prettier":"^1.11.1","react":"^16.2.0","react-dom":"^16.2.0","rimraf":"^2.6.2","rollup":"^0.56.5","rollup-plugin-babel":"^3.0.3","uglifyjs":"^2.4.11"},"jest":{"coverageDirectory":"/coverage/","collectCoverage":true,"coveragePathIgnorePatterns":["/node_modules/","./src/__tests__/setup.js","./src/__tests__/common.js"],"setupTestFrameworkScriptFile":"./src/__tests__/setup.js","testMatch":["**/__tests__/**/*.test.js?(x)"]},"eslintConfig":{"parser":"babel-eslint","env":{"browser":true,"node":true},"plugins":["import","react"],"extends":["eslint:recommended","plugin:import/errors","plugin:react/recommended"]},"eslintIgnore":["lib/**","src/__tests__/**","coverage/**"],"readme":"# react-async-call\r\n\r\n[![npm version](https://badge.fury.io/js/react-async-call.svg)](https://badge.fury.io/js/react-async-call)\r\n[![Build Status](https://travis-ci.org/kuzn-ilya/react-async-call.svg?branch=master)](https://travis-ci.org/kuzn-ilya/react-async-call.svg)\r\n[![codecov](https://codecov.io/gh/kuzn-ilya/react-async-call/branch/master/graph/badge.svg)](https://codecov.io/gh/kuzn-ilya/react-async-call)\r\n\r\n## Overview\r\n\r\nDeclarative promise handling in React.\r\n\r\n## Install\r\n\r\n### Using npm\r\n\r\n`npm i react-async-call --save`\r\n\r\nThen, use it as usual:\r\n\r\n```JS\r\n// using ES6 modules\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\n// using CommonJS modules\r\nvar createAsyncCallComponent = require('react-async-call').createAsyncCallComponent\r\n```\r\n\r\n### UMD build\r\n\r\nThe UMD build is also available on [unpkg](https:/unpkg.com):\r\n\r\n```HTML\r\n<script src=\"https://unpkg.com/react-async-call\"></script>\r\n```\r\n\r\nThe package is avalable on `window.ReactAsyncCall`\r\n\r\n## Usage\r\n\r\n### Basic Usage\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/y7349vl4oj)\r\n* [TypeScript Example](https://codesandbox.io/s/w76rq8jjx8)\r\n\r\n```jsx\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\nconst AsyncCall = createAsyncCallComponent(value => Promise.resolve(42))\r\n\r\nconst Example = () => (\r\n  <AsyncCall>\r\n    <AsyncCall.Running>\r\n      <div>Loading...</div>\r\n    </AsyncCall.Running>\r\n    <AsyncCall.HasResult>{result => <div>The result of function call is {result}</div>}</AsyncCall.HasResult>\r\n    <AsyncCall.Rejected>{reason => <div>Error: {reason}</div>}</AsyncCall.Rejected>\r\n  </AsyncCall>\r\n)\r\n```\r\n\r\n### Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/vn8qmr43yy)\r\n* [TypeScript Example](https://codesandbox.io/s/ryxwnkl34)\r\n\r\n### Incremental Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/mzzvlmj65y)\r\n* [TypeScript Example](https://codesandbox.io/s/5y3m6mrx9p)\r\n\r\n## API\r\n\r\n[See API reference here](https://github.com/kuzn-ilya/react-async-call/blob/master/docs/API.md)\r\n\r\n## Change Log\r\n\r\n[You can find change log here](https://github.com/kuzn-ilya/react-async-call/blob/master/docs/CHANGELOG.md)\r\n\r\n## Credits\r\n\r\nGreat thanks to [@kitos](https://github.com/kitos) and [@ventrz](https://github.com/ventrz) for their invaluable help, support and bright ideas!\r\n","readmeFilename":"README.md","gitHead":"2846f838675ea8a8ad1a1fda612a3fad322fb5ee","_id":"react-async-call@0.2.0-alpha.5","_npmVersion":"5.3.0","_nodeVersion":"8.4.0","_npmUser":{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"},"dist":{"integrity":"sha512-eO596HAXTM++b1MdRsnaClOQFbmcBCrKad+5Avk2tOvigzyP5JCxF58bv1Xi1o1Wm4njxLIMA3E5Zu52igSnfQ==","shasum":"888673ec88c2a41514251f33568a99fc87f52e1d","tarball":"https://registry.npmjs.org/react-async-call/-/react-async-call-0.2.0-alpha.5.tgz","fileCount":10,"unpackedSize":99656,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEqZZe03L93E0w5fNVyGVAwOT3qmczN77Yq9gg+c2soCAiAcNwipJDU1uhqYl3pwYoUqE0ZLucHrEdeZg1Iwhabqtg=="}]},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-call_0.2.0-alpha.5_1522141282811_0.6604786794032902"},"_hasShrinkwrap":false},"0.2.0-alpha.6":{"name":"react-async-call","version":"0.2.0-alpha.6","description":"Declarative promise handling in React","main":"lib/index.js","module":"lib/index.es.js","jsnext:main":"lib/index.es.js","umd:main":"lib/index.umd.js","unpkg":"lib/index.umd.js","author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/kuzn-ilya/react-async-call.git"},"license":"MIT","typings":"src/index.d.ts","files":["lib","src/index.d.ts"],"keywords":["react","reactjs","render","props","promise","fetch"],"bugs":{"url":"https://github.com/kuzn-ilya/react-async-call/issues"},"homepage":"https://github.com/kuzn-ilya/react-async-call#readme","scripts":{"clean":"rimraf lib","build":"npm run clean && npm run rollup && npm run minify","eslint":"eslint ./","minify":"npm run minify:cjs && npm run minify:umd","minify:cjs":"uglifyjs lib/index.js -cm toplevel -o lib/index.js -p relative --in-source-map lib/index.js.map --source-map lib/index.js.map","minify:umd":"uglifyjs lib/index.umd.js -cm -o lib/index.umd.js -p relative --in-source-map lib/index.umd.js.map --source-map lib/index.umd.js.map","test":"npm run eslint && jest src --coverage","test:watch":"npm run eslint && jest src --watch","format":"prettier --write **/*.{js,jsx,json,d.ts} !lib/** !.vscode/**","rollup":"rollup -c","release":"npm run test && npm run build && npm version patch && npm publish && git push --tags"},"peerDependencies":{"fbjs":"^0.8.0","prop-types":"^15.0.0","react":"^16.0.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.2.2","babel-jest":"^22.4.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","eslint":"^4.19.0","eslint-config-react-app":"^2.1.0","eslint-plugin-import":"^2.9.0","eslint-plugin-react":"^7.7.0","fbjs":"^0.8.16","jest":"^22.4.2","prettier":"^1.11.1","react":"^16.2.0","react-dom":"^16.2.0","rimraf":"^2.6.2","rollup":"^0.56.5","rollup-plugin-babel":"^3.0.3","uglifyjs":"^2.4.11"},"jest":{"coverageDirectory":"/coverage/","collectCoverage":true,"coveragePathIgnorePatterns":["/node_modules/","./src/__tests__/setup.js","./src/__tests__/common.js"],"setupTestFrameworkScriptFile":"./src/__tests__/setup.js","testMatch":["**/__tests__/**/*.test.js?(x)"]},"eslintConfig":{"parser":"babel-eslint","env":{"browser":true,"node":true},"plugins":["import","react"],"extends":["eslint:recommended","plugin:import/errors","plugin:react/recommended"]},"eslintIgnore":["lib/**","src/__tests__/**","coverage/**"],"readme":"# react-async-call\r\n\r\n[![npm version](https://badge.fury.io/js/react-async-call.svg)](https://badge.fury.io/js/react-async-call)\r\n[![Build Status](https://travis-ci.org/kuzn-ilya/react-async-call.svg?branch=master)](https://travis-ci.org/kuzn-ilya/react-async-call.svg)\r\n[![codecov](https://codecov.io/gh/kuzn-ilya/react-async-call/branch/master/graph/badge.svg)](https://codecov.io/gh/kuzn-ilya/react-async-call)\r\n\r\n## Overview\r\n\r\nDeclarative promise handling in React.\r\n\r\n## Install\r\n\r\n### Using npm\r\n\r\n`npm i react-async-call --save`\r\n\r\nThen, use it as usual:\r\n\r\n```JS\r\n// using ES6 modules\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\n// using CommonJS modules\r\nvar createAsyncCallComponent = require('react-async-call').createAsyncCallComponent\r\n```\r\n\r\n### UMD build\r\n\r\nThe UMD build is also available on [unpkg](https:/unpkg.com):\r\n\r\n```HTML\r\n<script src=\"https://unpkg.com/react-async-call\"></script>\r\n```\r\n\r\nThe package is avalable on `window.ReactAsyncCall`\r\n\r\n## Usage\r\n\r\n### Basic Usage\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/y7349vl4oj)\r\n* [TypeScript Example](https://codesandbox.io/s/w76rq8jjx8)\r\n\r\n```jsx\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\nconst AsyncCall = createAsyncCallComponent(value => Promise.resolve(42))\r\n\r\nconst Example = () => (\r\n  <AsyncCall>\r\n    <AsyncCall.Running>\r\n      <div>Loading...</div>\r\n    </AsyncCall.Running>\r\n    <AsyncCall.HasResult>{result => <div>The result of function call is {result}</div>}</AsyncCall.HasResult>\r\n    <AsyncCall.Rejected>{reason => <div>Error: {reason}</div>}</AsyncCall.Rejected>\r\n  </AsyncCall>\r\n)\r\n```\r\n\r\n### Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/vn8qmr43yy)\r\n* [TypeScript Example](https://codesandbox.io/s/ryxwnkl34)\r\n\r\n### Incremental Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/mzzvlmj65y)\r\n* [TypeScript Example](https://codesandbox.io/s/5y3m6mrx9p)\r\n\r\n## API\r\n\r\n[See API reference here](https://github.com/kuzn-ilya/react-async-call/blob/master/docs/API.md)\r\n\r\n## Change Log\r\n\r\n[You can find change log here](https://github.com/kuzn-ilya/react-async-call/blob/master/docs/CHANGELOG.md)\r\n\r\n## Credits\r\n\r\nGreat thanks to [@kitos](https://github.com/kitos) and [@ventrz](https://github.com/ventrz) for their invaluable help, support and bright ideas!\r\n","readmeFilename":"README.md","gitHead":"92df75fb79bfeb13f1ef5dff7bea5778fdbf7ba6","_id":"react-async-call@0.2.0-alpha.6","_npmVersion":"5.3.0","_nodeVersion":"8.4.0","_npmUser":{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"},"dist":{"integrity":"sha512-pMS1k8D71AwgZN4wB0xo1iOuOHcaVXXye9djPCH/TAQYhkazlwh/WEXMHMf69DU4CkTWVB3LAdJS/fA+wESZNQ==","shasum":"c48a483b3af1d7f7c4c914733da453f01f05bab5","tarball":"https://registry.npmjs.org/react-async-call/-/react-async-call-0.2.0-alpha.6.tgz","fileCount":10,"unpackedSize":99692,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIADHTfbyIe5BsCEHBFDgKqQjtlZziRWT7y6LrYJksGlEAiEAmSpe0SngtjHU62Z4WLz1w0eqYEyxOIGahj5LCaggggs="}]},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-call_0.2.0-alpha.6_1522142857220_0.3040188286746066"},"_hasShrinkwrap":false},"0.2.0":{"name":"react-async-call","version":"0.2.0","description":"Declarative promise handling in React","main":"lib/index.js","module":"lib/index.es.js","jsnext:main":"lib/index.es.js","umd:main":"lib/index.umd.js","unpkg":"lib/index.umd.js","author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/kuzn-ilya/react-async-call.git"},"license":"MIT","typings":"src/index.d.ts","files":["lib","src/index.d.ts"],"keywords":["react","reactjs","render","props","promise","fetch"],"bugs":{"url":"https://github.com/kuzn-ilya/react-async-call/issues"},"homepage":"https://github.com/kuzn-ilya/react-async-call#readme","scripts":{"clean":"rimraf lib","build":"npm run clean && npm run rollup && npm run minify","eslint":"eslint ./","minify":"npm run minify:cjs && npm run minify:umd","minify:cjs":"uglifyjs lib/index.js -cm toplevel -o lib/index.js -p relative --in-source-map lib/index.js.map --source-map lib/index.js.map","minify:umd":"uglifyjs lib/index.umd.js -cm -o lib/index.umd.js -p relative --in-source-map lib/index.umd.js.map --source-map lib/index.umd.js.map","test":"npm run eslint && jest src --coverage","test:watch":"npm run eslint && jest src --watch","format":"prettier --write **/*.{js,jsx,json,d.ts} !lib/** !.vscode/**","rollup":"rollup -c","release":"npm run test && npm run build && npm version patch && npm publish && git push --tags"},"peerDependencies":{"fbjs":"^0.8.0","prop-types":"^15.0.0","react":"^16.0.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.2.2","babel-jest":"^22.4.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","eslint":"^4.19.0","eslint-config-react-app":"^2.1.0","eslint-plugin-import":"^2.9.0","eslint-plugin-react":"^7.7.0","fbjs":"^0.8.16","jest":"^22.4.2","prettier":"^1.11.1","react":"^16.2.0","react-dom":"^16.2.0","rimraf":"^2.6.2","rollup":"^0.56.5","rollup-plugin-babel":"^3.0.3","uglifyjs":"^2.4.11"},"jest":{"coverageDirectory":"../coverage/","collectCoverage":true,"setupTestFrameworkScriptFile":"../setup.jest.js","rootDir":"./src"},"eslintConfig":{"parser":"babel-eslint","env":{"browser":true,"node":true},"plugins":["import","react"],"extends":["eslint:recommended","plugin:import/errors","plugin:react/recommended"]},"eslintIgnore":["lib/**","src/__tests__/**","coverage/**","setup.jest.js"],"gitHead":"f056aab945618aff604fd2a40a441a2ad99bde9c","_id":"react-async-call@0.2.0","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"},"dist":{"integrity":"sha512-5Eqwx4DT9t9ZGv1oDjWKwOq3wuJ5qCjmG7RDv481pX/lHx6RfEhbO/VP+XSkEI8gDIUonSsrmkhszHzBFL/31g==","shasum":"b82e1d57e84cec7a83a9af9451af7b0547676405","tarball":"https://registry.npmjs.org/react-async-call/-/react-async-call-0.2.0.tgz","fileCount":10,"unpackedSize":72065,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDMgUCp0aILtBEnmSg2Ht06fqHshVhELM0JPzhFRDzQRAIgGqTHUHkQblJ+EE/F9uwVvveqbGWKccEWjukmwqiNbTg="}]},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-call_0.2.0_1522518474894_0.6290571961580917"},"_hasShrinkwrap":false},"0.2.1":{"name":"react-async-call","version":"0.2.1","description":"Declarative promise handling in React","main":"lib/index.js","module":"lib/index.es.js","jsnext:main":"lib/index.es.js","umd:main":"lib/index.umd.js","unpkg":"lib/index.umd.js","author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/kuzn-ilya/react-async-call.git"},"license":"MIT","typings":"src/index.d.ts","files":["lib","src/index.d.ts"],"keywords":["react","reactjs","render","props","promise","fetch"],"bugs":{"url":"https://github.com/kuzn-ilya/react-async-call/issues"},"homepage":"https://github.com/kuzn-ilya/react-async-call#readme","scripts":{"clean":"rimraf lib","build":"npm run clean && npm run rollup && npm run minify","eslint":"eslint ./","minify":"npm run minify:cjs && npm run minify:umd","minify:cjs":"uglifyjs lib/index.js -cm toplevel -o lib/index.js -p relative --in-source-map lib/index.js.map --source-map lib/index.js.map","minify:umd":"uglifyjs lib/index.umd.js -cm -o lib/index.umd.js -p relative --in-source-map lib/index.umd.js.map --source-map lib/index.umd.js.map","test":"npm run eslint && jest src --coverage","test:watch":"npm run eslint && jest src --watch","format":"prettier --write **/*.{js,jsx,json,d.ts} !lib/** !.vscode/**","rollup":"rollup -c","release":"npm run test && npm run build && npm version patch && npm publish && git push --tags"},"peerDependencies":{"fbjs":"^0.8.0","prop-types":"^15.0.0","react":"^16.0.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.2.2","babel-jest":"^22.4.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","eslint":"^4.19.0","eslint-config-react-app":"^2.1.0","eslint-plugin-import":"^2.9.0","eslint-plugin-react":"^7.7.0","fbjs":"^0.8.16","jest":"^22.4.2","prettier":"^1.11.1","react":"^16.2.0","react-dom":"^16.2.0","rimraf":"^2.6.2","rollup":"^0.56.5","rollup-plugin-babel":"^3.0.3","uglifyjs":"^2.4.11"},"jest":{"coverageDirectory":"/coverage/","collectCoverage":true,"coveragePathIgnorePatterns":["/node_modules/","./src/__tests__/setup.js","./src/__tests__/common.js"],"setupTestFrameworkScriptFile":"./src/__tests__/setup.js","testMatch":["**/__tests__/**/*.test.js?(x)"]},"eslintConfig":{"parser":"babel-eslint","env":{"browser":true,"node":true},"plugins":["import","react"],"extends":["eslint:recommended","plugin:import/errors","plugin:react/recommended"]},"eslintIgnore":["lib/**","src/__tests__/**","coverage/**"],"gitHead":"6b75c1315eb77f97d124c3a6988660c9d9da3a2e","_id":"react-async-call@0.2.1","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"},"dist":{"integrity":"sha512-EM3Ja5jaJa4o9j4toVnomAkH4ZhTXg82y8HhYD5RpsIlCRpY2esGddFD3f3MUQqbOdobDpwJEO8m93Mg3DNa6Q==","shasum":"20faf8871bee1be173262e3a6caad3cb43f90688","tarball":"https://registry.npmjs.org/react-async-call/-/react-async-call-0.2.1.tgz","fileCount":10,"unpackedSize":102474,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCBnXwCfdUkEWlCOqYBkVGxAXniXKly6loQPRPxpm64ngIhAM+pLXbFUQzJyzRXfQs9+vRj0KKT/G1jnDGJyetYzyfx"}]},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-call_0.2.1_1522521923561_0.3991321660976823"},"_hasShrinkwrap":false},"0.2.2":{"name":"react-async-call","version":"0.2.2","description":"Declarative promise handling in React","main":"lib/index.js","module":"lib/index.es.js","jsnext:main":"lib/index.es.js","umd:main":"lib/index.umd.js","unpkg":"lib/index.umd.js","author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/kuzn-ilya/react-async-call.git"},"license":"MIT","typings":"src/index.d.ts","files":["lib","src/index.d.ts"],"keywords":["react","reactjs","render","props","promise","fetch"],"bugs":{"url":"https://github.com/kuzn-ilya/react-async-call/issues"},"homepage":"https://github.com/kuzn-ilya/react-async-call#readme","scripts":{"clean":"rimraf lib","build":"npm run clean && npm run rollup && npm run minify","eslint":"eslint ./","minify":"npm run minify:cjs && npm run minify:umd","minify:cjs":"uglifyjs lib/index.js -cm toplevel -o lib/index.js -p relative --in-source-map lib/index.js.map --source-map lib/index.js.map","minify:umd":"uglifyjs lib/index.umd.js -cm -o lib/index.umd.js -p relative --in-source-map lib/index.umd.js.map --source-map lib/index.umd.js.map","test":"npm run eslint && jest src --coverage","test:watch":"npm run eslint && jest src --watch","format":"prettier --write **/*.{js,jsx,json,d.ts} !lib/** !.vscode/**","rollup":"rollup -c","release":"npm run test && npm run build && npm version patch && npm publish && git push --tags"},"pre-commit":["test"],"peerDependencies":{"fbjs":"^0.8.0","prop-types":"^15.0.0","react":"^16.0.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.2.2","babel-jest":"^22.4.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","eslint":"^4.19.0","eslint-config-react-app":"^2.1.0","eslint-plugin-import":"^2.9.0","eslint-plugin-react":"^7.7.0","fbjs":"^0.8.16","jest":"^22.4.2","pre-commit":"^1.2.2","prettier":"^1.11.1","react":"^16.2.0","react-dom":"^16.2.0","rimraf":"^2.6.2","rollup":"^0.56.5","rollup-plugin-babel":"^3.0.3","uglifyjs":"^2.4.11"},"jest":{"coverageDirectory":"/coverage/","collectCoverage":true,"coveragePathIgnorePatterns":["/node_modules/","./src/__tests__/setup.js","./src/__tests__/common.js"],"setupTestFrameworkScriptFile":"./src/__tests__/setup.js","testMatch":["**/__tests__/**/*.test.js?(x)"]},"eslintConfig":{"parser":"babel-eslint","env":{"browser":true,"node":true},"plugins":["import","react"],"extends":["eslint:recommended","plugin:import/errors","plugin:react/recommended"]},"eslintIgnore":["lib/**","src/__tests__/**","coverage/**"],"gitHead":"5b611a7386ccb50b9b0f6d8772c187be9a8a3d94","_id":"react-async-call@0.2.2","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"},"dist":{"integrity":"sha512-C6fTRCYe3QEbWPzk6q/gWuFkuDam4o9X3S7rtZCFzHqmikT7aQV44aEkgvxgJPKJNnrCXjFHgUZTusq1WgCbbw==","shasum":"a9c5a8ea609dca41493c6077c7e9d461ea43fbfe","tarball":"https://registry.npmjs.org/react-async-call/-/react-async-call-0.2.2.tgz","fileCount":10,"unpackedSize":103707,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDfZBlH5uMhSjSW8zmUn2u5k9RlMx0z3U6WhZUQdp2zMQIhALxPsHIQK95eMzrRmQhNHqOH0n3OVLbzju/62oCERn02"}]},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-call_0.2.2_1522578810824_0.870300861940464"},"_hasShrinkwrap":false},"0.2.3":{"name":"react-async-call","version":"0.2.3","description":"Declarative promise handling in React","main":"lib/index.js","module":"lib/index.es.js","jsnext:main":"lib/index.es.js","umd:main":"lib/index.umd.js","unpkg":"lib/index.umd.js","author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/kuzn-ilya/react-async-call.git"},"license":"MIT","typings":"src/index.d.ts","files":["lib","src/index.d.ts"],"keywords":["react","reactjs","render","props","promise","fetch"],"bugs":{"url":"https://github.com/kuzn-ilya/react-async-call/issues"},"homepage":"https://github.com/kuzn-ilya/react-async-call#readme","scripts":{"clean":"rimraf lib","build":"npm run clean && npm run rollup && npm run minify","eslint":"eslint ./","minify":"npm run minify:cjs && npm run minify:umd","minify:cjs":"uglifyjs lib/index.js -cm toplevel -o lib/index.js -p relative --in-source-map lib/index.js.map --source-map lib/index.js.map","minify:umd":"uglifyjs lib/index.umd.js -cm -o lib/index.umd.js -p relative --in-source-map lib/index.umd.js.map --source-map lib/index.umd.js.map","test":"npm run eslint && jest src --coverage","test:watch":"npm run eslint && jest src --watch","format":"prettier --write **/*.{js,jsx,json,d.ts} !lib/** !.vscode/**","rollup":"rollup -c","release":"npm run test && npm run build && npm version patch && npm publish && git push --tags"},"pre-commit":["test"],"peerDependencies":{"fbjs":"^0.8.0","prop-types":"^15.0.0","react":"^16.0.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.2.2","babel-jest":"^22.4.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","eslint":"^4.19.0","eslint-config-react-app":"^2.1.0","eslint-plugin-import":"^2.9.0","eslint-plugin-react":"^7.7.0","fbjs":"^0.8.16","jest":"^22.4.2","pre-commit":"^1.2.2","prettier":"^1.11.1","react":"^16.2.0","react-dom":"^16.2.0","rimraf":"^2.6.2","rollup":"^0.56.5","rollup-plugin-babel":"^3.0.3","uglifyjs":"^2.4.11"},"jest":{"coverageDirectory":"/coverage/","collectCoverage":true,"coveragePathIgnorePatterns":["/node_modules/","./src/__tests__/setup.js","./src/__tests__/common.js"],"setupTestFrameworkScriptFile":"./src/__tests__/setup.js","testMatch":["**/__tests__/**/*.test.js?(x)"]},"eslintConfig":{"parser":"babel-eslint","env":{"browser":true,"node":true},"plugins":["import","react"],"extends":["eslint:recommended","plugin:import/errors","plugin:react/recommended"]},"eslintIgnore":["lib/**","src/__tests__/**","coverage/**"],"gitHead":"d5fd167d3a5f1c64f400fcfe7e1680cd257452f0","_id":"react-async-call@0.2.3","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"},"dist":{"integrity":"sha512-FBa6juJky8OKQw7BRZ5bri+KYZ2ehfic7WMd3Ty2I2KKSTKnVZcK6OnNRIz0JMMb6G+g1f/KXkUQZC91gFKziQ==","shasum":"86e6d2a5563d91b8dfc2670e1069cf775bc1e578","tarball":"https://registry.npmjs.org/react-async-call/-/react-async-call-0.2.3.tgz","fileCount":10,"unpackedSize":105225,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC5dHIDs+O7R95C99B4MT09ysKxU3/PtcXVubNXzoPwnAIgZHiESz6dpwYOlGI+gmjpdYjCcTtthfxDaNamu8w78QQ="}]},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-call_0.2.3_1522587547055_0.47711798501263614"},"_hasShrinkwrap":false},"0.2.5":{"name":"react-async-call","version":"0.2.5","description":"Declarative promise handling in React","main":"lib/index.js","module":"lib/index.es.js","jsnext:main":"lib/index.es.js","umd:main":"lib/index.umd.js","unpkg":"lib/index.umd.js","author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/kuzn-ilya/react-async-call.git"},"license":"MIT","typings":"src/index.d.ts","keywords":["react","reactjs","render","props","promise","fetch"],"bugs":{"url":"https://github.com/kuzn-ilya/react-async-call/issues"},"homepage":"https://github.com/kuzn-ilya/react-async-call#readme","scripts":{"clean":"rimraf lib","build":"npm run clean && npm run rollup && npm run minify","eslint":"eslint ./","minify":"npm run minify:cjs && npm run minify:umd","minify:cjs":"uglifyjs lib/index.js -cm toplevel -o lib/index.js --source-map filename=lib/index.js.map","minify:umd":"uglifyjs lib/index.umd.js -cm toplevel -o lib/index.umd.js --source-map filename=lib/index.umd.js.map","test":"npm run eslint && jest src --coverage","test:watch":"npm run eslint && jest src --watch","format":"prettier --write **/*.{js,jsx,json,d.ts} !lib/** !.vscode/**","rollup":"rollup -c","release":"npm run test && npm run build && npm version patch && npm publish && git push --tags"},"pre-commit":["test"],"dependencies":{"codecov":"^3.1.0","fbjs":"0.8.0","prop-types":"^15.6.2"},"peerDependencies":{"react":"^16.0.0"},"devDependencies":{"@semantic-release/changelog":"3.0.0","@semantic-release/git":"7.0.4","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.2.2","babel-jest":"^22.4.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","eslint":"4.19.0","eslint-config-react-app":"2.1.0","eslint-plugin-import":"2.9.0","eslint-plugin-react":"7.7.0","jest":"^22.4.2","jest-enzyme":"6.0.1","pre-commit":"^1.2.2","prettier":"^1.11.1","react":"^16.5.2","react-dom":"^16.2.0","rimraf":"^2.6.2","rollup":"^0.56.5","rollup-plugin-babel":"^3.0.3","semantic-release":"15.9.16","uglify-js":"^3.4.9"},"jest":{"coverageDirectory":"./coverage/","collectCoverage":true,"coveragePathIgnorePatterns":["/node_modules/","./src/__tests__/setup.js","./src/__tests__/common.js"],"setupTestFrameworkScriptFile":"./src/__tests__/setup.js","testMatch":["**/__tests__/**/*.test.js?(x)"],"testURL":"http://localhost"},"eslintConfig":{"parser":"babel-eslint","env":{"browser":true,"node":true},"plugins":["import","react"],"extends":["eslint:recommended","plugin:import/errors","plugin:react/recommended"]},"eslintIgnore":["lib/**","src/__tests__/**","coverage/**"],"release":{"verifyConditions":["@semantic-release/npm","@semantic-release/github","@semantic-release/git"],"generateNotes":["@semantic-release/release-notes-generator"],"prepare":[{"path":"@semantic-release/changelog","changelogFile":"docs/CHANGELOG.md","changelogTitle":"# Change Log"},"@semantic-release/npm",{"path":"@semantic-release/git","assets":["package.json","docs/CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"publish":["@semantic-release/npm","@semantic-release/github"]},"gitHead":"d5c41353e81beace1e391d83abdd4e2117f49949","_id":"react-async-call@0.2.5","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"},"dist":{"integrity":"sha512-MhJ5GFtcpve85xvUv39fIp7LCUhywwQuNtpQuKz12ieo7GjMgSmSd/a1GCrclaal7GadXHCszJFzmYMaBCD+HQ==","shasum":"58a8e5f9fad3231860f61f81b0f6399b26f753b8","tarball":"https://registry.npmjs.org/react-async-call/-/react-async-call-0.2.5.tgz","fileCount":10,"unpackedSize":83612,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbtdrSCRA9TVsSAnZWagAAP3wP/RAKgcrQmNGGjSKKbNPL\nBEaS2QFaLX4yEOS62eN/BcDWET6Gg4vIv0U5LC+FIS95rCtR7pcJ9A25yX1L\nkZod94GpXzOZ6HiLIZSC768WFSJfTVBgudd95LKPTFRh4gA/mzH81jgDN2Tt\n2KmGZFjr00lbnv9/3MeKKKJvz+zs5OkyUCyYAimJ5mlFtDqX0bmRAyiPdMk/\n7Mh5pp7GDhfaOF171opJUYZJNczQOpf8Yu4EoN1/7WMAoZaXAqsj+uBcXSB0\nJQiTMybAUyCb0YFITY0/aQhB3IxH4DlkTMhvXAt09MxV6isHjQRjy13Xq6d7\n83SqIJXeT0VzinJ+3UjNrsaN90B0KBNMoQV+AkWg2aEfbZORRPGHlx0BvLrw\nkH5POzXAKI24RObvsz7+A2Ad7DTQTuh01DDGNOFLWY8fc/HhOc45+n4eeQEt\ncd38qDQj6colvoCCtrHQjJBBQfooGfLZrJFzasOKf2eOWTdI9so5djHLPnaJ\nBMhqCmakElpKOZUlczyZ9ruaI1cV7AIETQdUO2KzrJu1R+RlWdiJpvSIYDk3\n+d2F5iK8/2TyjDcv6/3Lal7tHig0gTnPakVDpNfQzofuBVFbAKaGOpOOUMNx\nlsBHRQhBr6cwQluEIOaGDp7/am02K0Wbtd2K98oZi3j9Qy2H2nYVlN4piMiN\nZyZm\r\n=AB+g\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDu4aCyszNw+mtixpwy3NnzFeVyAtFUuCIZ1FkNH+7MGgIgZbASLnXRsX0wkyYcub80gpryn+5+kqFc9LgD0yeNeeU="}]},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-call_0.2.5_1538644689544_0.3732690485707486"},"_hasShrinkwrap":false},"0.2.6":{"name":"react-async-call","version":"0.2.6","description":"Declarative promise handling in React","main":"lib/index.js","module":"lib/index.es.js","jsnext:main":"lib/index.es.js","umd:main":"lib/index.umd.js","unpkg":"lib/index.umd.js","author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/kuzn-ilya/react-async-call.git"},"license":"MIT","typings":"src/index.d.ts","keywords":["react","reactjs","render","props","promise","fetch"],"bugs":{"url":"https://github.com/kuzn-ilya/react-async-call/issues"},"homepage":"https://github.com/kuzn-ilya/react-async-call#readme","scripts":{"clean":"rimraf lib","build":"npm run clean && npm run rollup && npm run minify","eslint":"eslint ./","minify":"npm run minify:cjs && npm run minify:umd","minify:cjs":"uglifyjs lib/index.js -cm toplevel -o lib/index.js --source-map filename=lib/index.js.map","minify:umd":"uglifyjs lib/index.umd.js -cm toplevel -o lib/index.umd.js --source-map filename=lib/index.umd.js.map","test":"npm run eslint && jest src --coverage","test:watch":"npm run eslint && jest src --watch","format":"prettier --write **/*.{js,jsx,json,d.ts} !lib/** !.vscode/**","rollup":"rollup -c","release":"npm run test && npm run build && npm version patch && npm publish && git push --tags"},"pre-commit":["test"],"dependencies":{"codecov":"^3.1.0","fbjs":"0.8.0","prop-types":"^15.6.2"},"peerDependencies":{"react":"^16.0.0"},"devDependencies":{"@semantic-release/changelog":"3.0.0","@semantic-release/git":"7.0.4","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.2.2","babel-jest":"^22.4.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","eslint":"4.19.0","eslint-config-react-app":"2.1.0","eslint-plugin-import":"2.9.0","eslint-plugin-react":"7.7.0","jest":"^22.4.2","jest-enzyme":"6.0.1","pre-commit":"^1.2.2","prettier":"^1.11.1","react":"^16.5.2","react-dom":"^16.5.2","rimraf":"^2.6.2","rollup":"^0.56.5","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"9.1.8","rollup-plugin-node-resolve":"3.4.0","semantic-release":"15.9.16","uglify-js":"^3.4.9"},"jest":{"coverageDirectory":"./coverage/","collectCoverage":true,"coveragePathIgnorePatterns":["/node_modules/","./src/__tests__/setup.js","./src/__tests__/common.js"],"setupTestFrameworkScriptFile":"./src/__tests__/setup.js","testMatch":["**/__tests__/**/*.test.js?(x)"],"testURL":"http://localhost"},"eslintConfig":{"parser":"babel-eslint","env":{"browser":true,"node":true},"plugins":["import","react"],"extends":["eslint:recommended","plugin:import/errors","plugin:react/recommended"]},"eslintIgnore":["lib/**","src/__tests__/**","coverage/**"],"release":{"verifyConditions":["@semantic-release/npm","@semantic-release/github","@semantic-release/git"],"generateNotes":["@semantic-release/release-notes-generator"],"prepare":[{"path":"@semantic-release/changelog","changelogFile":"docs/CHANGELOG.md","changelogTitle":"# Change Log"},"@semantic-release/npm",{"path":"@semantic-release/git","assets":["package.json","docs/CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"publish":["@semantic-release/npm","@semantic-release/github"]},"gitHead":"461fdb5af976527baf5e46f5e4f094c2bb6a34da","_id":"react-async-call@0.2.6","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"},"dist":{"integrity":"sha512-PgrHKNP8CIMUiZF3kml8kUCpsU12If2mNj/XXYx2cPV/QYOV+QEK4tfk19sHNQeORfORhUn8KT8gRIKYP/iGfQ==","shasum":"4f75485962c48931a2a21100faa2349275c55b68","tarball":"https://registry.npmjs.org/react-async-call/-/react-async-call-0.2.6.tgz","fileCount":10,"unpackedSize":95117,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbthBTCRA9TVsSAnZWagAALG4P/3xFERE4hllfXUha2Bjr\n5R37u7KuO0X+0Tsor9jXEkJgiXhBt3M4wue+1580Mg3oySPS8nDxUUhAWFo6\nYLcPfQp/q5C/PmDwMhCHAK8IM06kUNp1DNTa9zsmH2hZAmqbCZSqZfL21ExD\nGo/xnTO8ofHDU0zmOIcj6vrqE9Zhp70GBfakBxASoH9XHzK4J6vPQCX9DS2X\n1O1ZEOk7VP98lVqy4oAA2qjgTdatzzdJUgBG/EYYmvPDKrmFbpLMjazT/ce/\nxsU2JEXzVQpQ7DKSkVd2RmhF9BSAHEF7r8988OdGYtbqKDELuZ/oqZ4vrjgD\nP4GcxjASyap2L4/cBkb6MkvKY74opRH40KIAGt2T5WCSNDJZqXNQ+0pkTbbd\n7akBf5zCdXK8x00yLCqrUThljr42YTGz2vTM79xFYafcXACeSYQvQwTzwcIU\nYvYI+Mhi+CthwvMSIVIXTwEPDAS9HlZbjpiu8k7Mjffm1LsigasaQQZkRW73\n/PShIUp0KJqYesrcR6+qjtNpw9pU+f69kwbdDSYutBYdZgAlFiqxjKktbEGr\n5JyZZHqV+hPCHh4c6Qqx0xpCUFyUUu7OUlfKzVcO8vyRBnUvl7I4K96OpIdY\ni77G8LiehtPB9Y56u7UsfI2IxEcYHSKmLcX/NfnaVg0haKzOF3S3mn/9nHgy\nP9mv\r\n=Xiz1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCadlkaDVxbt/vczOnkUfOv4E2JShr8TG4wQ15H689MnwIhAJY5PwLGrDLofRYq5zhsBuOjiM0Oyn+SwERGFPyPY5q1"}]},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-call_0.2.6_1538658387026_0.4927510778947697"},"_hasShrinkwrap":false},"0.2.7":{"name":"react-async-call","version":"0.2.7","description":"Declarative promise handling in React","main":"lib/index.js","module":"lib/index.es.js","jsnext:main":"lib/index.es.js","umd:main":"lib/index.umd.js","unpkg":"lib/index.umd.js","author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/kuzn-ilya/react-async-call.git"},"license":"MIT","typings":"src/index.d.ts","keywords":["react","reactjs","render","props","promise","fetch"],"bugs":{"url":"https://github.com/kuzn-ilya/react-async-call/issues"},"homepage":"https://github.com/kuzn-ilya/react-async-call#readme","scripts":{"clean":"rimraf lib","build":"npm run clean && npm run rollup && npm run minify","docs":"jsdoc2md --name-format --separators --template ./docs/API.template.md --heading-depth 3 ./src/*.js  > docs/API.md","eslint":"eslint ./","minify":"npm run minify:cjs && npm run minify:umd","minify:cjs":"uglifyjs lib/index.js -cm toplevel -o lib/index.js --source-map filename=lib/index.js.map","minify:umd":"uglifyjs lib/index.umd.js -cm toplevel -o lib/index.umd.js --source-map filename=lib/index.umd.js.map","test":"npm run eslint && jest src --coverage","test:watch":"npm run eslint && jest src --watch","format":"prettier --write **/*.{js,jsx,json,d.ts} !lib/** !.vscode/**","rollup":"rollup -c","release":"npm run test && npm run build && npm version patch && npm publish && git push --tags"},"pre-commit":["test"],"dependencies":{"fbjs":"0.8.0","prop-types":"^15.6.2"},"peerDependencies":{"react":"^16.0.0"},"devDependencies":{"@semantic-release/changelog":"3.0.0","@semantic-release/git":"7.0.4","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.2.2","babel-jest":"^22.4.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","codecov":"3.1.0","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","eslint":"4.19.0","eslint-config-react-app":"2.1.0","eslint-plugin-import":"2.9.0","eslint-plugin-react":"7.7.0","jest":"^22.4.2","jest-enzyme":"6.0.1","jsdoc-to-markdown":"4.0.1","pre-commit":"^1.2.2","prettier":"^1.11.1","react":"^16.5.2","react-dom":"^16.5.2","rimraf":"^2.6.2","rollup":"^0.56.5","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"9.1.8","rollup-plugin-node-resolve":"3.4.0","semantic-release":"15.9.16","uglify-js":"^3.4.9"},"jest":{"coverageDirectory":"./coverage/","collectCoverage":true,"coveragePathIgnorePatterns":["/node_modules/","./src/__tests__/setup.js","./src/__tests__/common.js"],"setupTestFrameworkScriptFile":"./src/__tests__/setup.js","testMatch":["**/__tests__/**/*.test.js?(x)"],"testURL":"http://localhost"},"eslintConfig":{"parser":"babel-eslint","env":{"browser":true,"node":true},"plugins":["import","react"],"extends":["eslint:recommended","plugin:import/errors","plugin:react/recommended"]},"eslintIgnore":["lib/**","src/__tests__/**","coverage/**"],"release":{"verifyConditions":["@semantic-release/npm","@semantic-release/github","@semantic-release/git"],"generateNotes":["@semantic-release/release-notes-generator"],"prepare":[{"path":"@semantic-release/changelog","changelogFile":"docs/CHANGELOG.md","changelogTitle":"# Change Log"},"@semantic-release/npm",{"path":"@semantic-release/git","assets":["package.json","docs/CHANGELOG.md","docs/API.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"publish":["@semantic-release/npm","@semantic-release/github"]},"gitHead":"2546bde66bbbbf4a332ead0e4355a6b32d7c9e87","_id":"react-async-call@0.2.7","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"},"dist":{"integrity":"sha512-G5Gvb+6xoOWQP2t4QJVe1p7SIizprVfSMnVCojkNJ/VV4uYyqDQ+jatlI7ise/T3zlI3MLExaOL6lwGt4dEXRQ==","shasum":"76f254680ff8016f05da866e4493c4f7cd22bc02","tarball":"https://registry.npmjs.org/react-async-call/-/react-async-call-0.2.7.tgz","fileCount":10,"unpackedSize":126000,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbuOvICRA9TVsSAnZWagAA+owP/1M8k7OXXksKHweCdeoh\n9nQndwUbKzFk7k7iparW8lvaF30n1LuwCPXeG9hterXIHK57zXI0TYXTK9GX\nTDGem4cHfPVFomHBT4zOc5tb2dPoPxjnydH72dCiMMWWyKPzPHwyLoea+xT2\nu47ulXXD9uiY14JX3pJ5y7NPpWev9RG8WjIm3GOA86fs/dv55mvCpASor4ZD\nGujkQrde6KOIP1eovLO7kgeJAont9YG58ewDrk8eqjvpRJ+VekRLLbmqx+f4\nBkLpDDE+aPPYoC6AhrmDplxvHhAX9IVHmzR7X0ahw97rU9v4QzUrvPTqlnQo\n8NOHR/kiBZfVPP6VJsaU9MCOzwvLrFhoJHKAvTDIUy2pgnfjjuwuvfh0LzjO\n+X9KbQj1OzYUk6Fe/YIgza1+1OSwyzMScqK/DiZb/GPB+ef6bL2j5lt4G0wk\ng/mYvP6f42u5rBWZBGx19BN/cd73eoVhC/6t3/4bEUQIWUt3hJt6v0IrGBcr\nJ6IBSNhFs77CIUtTU5yRtgWnGbSALOFOUwBnIZcxwdzUvuSHjBkZ/BU6e4iS\npr8bEbXlYBm2FI7bEMd2REe1HHvXacGvqwkF2ekE5GGpTmWfTuq7ReZzozcZ\nVMosn3h6RiGELzGDHPvSpQxUA/XIoq8XjPoorkd19WbymcTdiwbDkExN0AWA\nq8VE\r\n=mYWi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDZXT3EK65ynOx7OKmG2RQH3YdLqv6xmBMfJMEB3wh5BAIgPDNJe98PJermg+BVilRCkfzc3KcgkXQQMqZSqfNsm9w="}]},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-call_0.2.7_1538845639471_0.6648546585774313"},"_hasShrinkwrap":false},"0.3.1-alpha":{"name":"react-async-call","version":"0.3.1-alpha","description":"Declarative promise handling in React","main":"lib/index.js","module":"lib/index.es.js","jsnext:main":"lib/index.es.js","umd:main":"lib/index.umd.js","unpkg":"lib/index.umd.js","author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/kuzn-ilya/react-async-call.git"},"license":"MIT","typings":"src/index.d.ts","keywords":["react","reactjs","render","props","promise","fetch"],"bugs":{"url":"https://github.com/kuzn-ilya/react-async-call/issues"},"homepage":"https://github.com/kuzn-ilya/react-async-call#readme","scripts":{"clean":"rimraf lib","build":"npm run clean && npm run rollup && npm run minify","docs":"jsdoc2md --name-format --separators --helper ./docs/helpers/isTypeDefinition.js --partial ./docs/partials/scope.hbs ./docs/partials/body.hbs ./docs/partials/params.hbs --template ./docs/API.hbs --heading-depth 3 ./src/*.js  > docs/API.md","eslint":"eslint ./","minify":"npm run minify:cjs && npm run minify:umd","minify:cjs":"uglifyjs lib/index.js -cm toplevel -o lib/index.js --source-map filename=lib/index.js.map","minify:umd":"uglifyjs lib/index.umd.js -cm toplevel -o lib/index.umd.js --source-map filename=lib/index.umd.js.map","test":"npm run eslint && jest src --coverage","test:watch":"npm run eslint && jest src --watch","format":"prettier --write **/*.{js,jsx,json,d.ts} !lib/** !.vscode/**","rollup":"rollup -c","release":"npm run test && npm run build && npm version patch && npm publish && git push --tags"},"pre-commit":["test"],"dependencies":{"fbjs":"0.8.0","prop-types":"^15.6.2"},"peerDependencies":{"react":"^16.0.0"},"devDependencies":{"@semantic-release/changelog":"3.0.0","@semantic-release/git":"7.0.4","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.2.2","babel-jest":"^22.4.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","codecov":"3.1.0","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","eslint":"4.19.0","eslint-config-react-app":"2.1.0","eslint-plugin-import":"2.9.0","eslint-plugin-react":"7.7.0","jest":"^22.4.2","jest-enzyme":"6.0.1","jsdoc-to-markdown":"4.0.1","pre-commit":"^1.2.2","prettier":"^1.11.1","react":"^16.5.2","react-dom":"^16.5.2","rimraf":"^2.6.2","rollup":"^0.56.5","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"9.1.8","rollup-plugin-node-resolve":"3.4.0","semantic-release":"15.9.16","uglify-js":"^3.4.9"},"jest":{"coverageDirectory":"./coverage/","collectCoverage":true,"coveragePathIgnorePatterns":["/node_modules/","./src/__tests__/setup.js","./src/__tests__/common.js"],"setupTestFrameworkScriptFile":"./src/__tests__/setup.js","testMatch":["**/__tests__/**/*.test.js?(x)"],"testURL":"http://localhost"},"eslintConfig":{"parser":"babel-eslint","env":{"browser":true,"node":true},"plugins":["import","react"],"extends":["eslint:recommended","plugin:import/errors","plugin:react/recommended"]},"eslintIgnore":["lib/**","src/__tests__/**","coverage/**"],"publishConfig":{"tag":"alpha"},"release":{"verifyConditions":["@semantic-release/npm","@semantic-release/github","@semantic-release/git"],"generateNotes":["@semantic-release/release-notes-generator"],"prepare":[{"path":"@semantic-release/changelog","changelogFile":"docs/CHANGELOG.md","changelogTitle":"# Change Log"},"@semantic-release/npm",{"path":"@semantic-release/git","assets":["package.json","docs/CHANGELOG.md","docs/API.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"publish":["@semantic-release/npm","@semantic-release/github"]},"readme":"# React Async Call\r\n\r\n[![npm version][npm-badge]][npm]\r\n[![Build Status][build-badge]][build]\r\n[![Code Coverage][coverage-badge]][coverage]\r\n[![MIT License][license-badge]][license]\r\n[![size][size-badge]][unpkg-dist]\r\n[![gzip size][gzip-badge]][unpkg-dist]\r\n[![module formats: umd, cjs, and es][module-formats-badge]][unpkg-dist]\r\n\r\n## Overview\r\n\r\nDeclarative promise handling in React.\r\n\r\n## Motivation\r\n\r\nHandling promise-returning functions (for example, [`fetch`][fetch-api]) is not hard to do in React application. There are several packages like [holen][holen] or [React Request][react-request] for simplifying such kind of tasks but theirs authors try to impose their own vision on various aspects of data fetching. For instance, [React Request][react-request] has a cache for HTTP requests but what will happen if you decide to change caching strategy? React Async Call tries to sharpen the edges. This is minimalistic package that can be used not only for data fetching but also for handling any promise-returning functions.\r\n\r\n## Install\r\n\r\n### Using npm\r\n\r\n`npm i react-async-call --save`\r\n\r\nThen, use it as usual:\r\n\r\n```JS\r\n// using ES6 modules\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\n// using CommonJS modules\r\nvar createAsyncCallComponent = require('react-async-call').createAsyncCallComponent\r\n```\r\n\r\n### UMD build\r\n\r\nThe UMD build is also available on [unpkg][unpkg]:\r\n\r\n```HTML\r\n<script src=\"https://unpkg.com/react-async-call\"></script>\r\n```\r\n\r\nThe package is avalable on `window.ReactAsyncCall`\r\n\r\n## Usage\r\n\r\n### Basic Usage\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/y7349vl4oj)\r\n* [TypeScript Example](https://codesandbox.io/s/w76rq8jjx8)\r\n\r\n```jsx\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\nconst AsyncCall = createAsyncCallComponent(value => Promise.resolve(42))\r\n\r\nconst Example = () => (\r\n  <AsyncCall>\r\n    <AsyncCall.Running>\r\n      <div>Loading...</div>\r\n    </AsyncCall.Running>\r\n    <AsyncCall.Resolved>{({ result }) => <div>The result of function call is {result}</div>}</AsyncCall.Resolved>\r\n    <AsyncCall.Rejected>{({ rejectReason }) => <div>Error: {rejectReason}</div>}</AsyncCall.Rejected>\r\n  </AsyncCall>\r\n)\r\n```\r\n\r\n### Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/vn8qmr43yy)\r\n* [TypeScript Example](https://codesandbox.io/s/ryxwnkl34)\r\n\r\n### Incremental Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/mzzvlmj65y)\r\n* [TypeScript Example](https://codesandbox.io/s/5y3m6mrx9p)\r\n\r\n## API\r\n\r\n[See API reference here][api]\r\n\r\n## Change Log\r\n\r\n[You can find change log here][changelog]\r\n\r\n## Credits\r\n\r\nGreat thanks to [@kitos](https://github.com/kitos) and [@ventrz](https://github.com/ventrz) for their invaluable help, support and bright ideas!\r\n\r\n[npm-badge]: https://badge.fury.io/js/react-async-call.svg\r\n[npm]: https://www.npmjs.com/package/react-async-call\r\n[build-badge]: https://travis-ci.org/kuzn-ilya/react-async-call.svg?branch=master\r\n[build]: https://travis-ci.org/kuzn-ilya/react-async-call\r\n[coverage-badge]: https://codecov.io/gh/kuzn-ilya/react-async-call/branch/master/graph/badge.svg\r\n[coverage]: https://codecov.io/gh/kuzn-ilya/react-async-call\r\n[license-badge]: https://img.shields.io/npm/l/react-async-call.svg\r\n[license]: https://github.com/kuzn-ilya/react-async-call/blob/master/LICENSE\r\n[size-badge]: http://img.badgesize.io/https://unpkg.com/react-async-call/lib/index.umd.js?label=size\r\n[gzip-badge]: http://img.badgesize.io/https://unpkg.com/react-async-call/lib/index.umd.js?compression=gzip&label=gzip%20size\r\n[module-formats-badge]: https://img.shields.io/badge/module%20formats-umd%2C%20cjs%2C%20es-green.svg\r\n[unpkg-dist]: https://unpkg.com/react-async-call/lib/\r\n[unpkg]: https:/unpkg.com\r\n[changelog]: https://github.com/kuzn-ilya/react-async-call/blob/master/docs/CHANGELOG.md\r\n[api]: https://github.com/kuzn-ilya/react-async-call/blob/master/docs/API.md\r\n[fetch-api]: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API\r\n[holen]: https://github.com/tkh44/holen\r\n[react-request]: https://github.com/jamesplease/react-request","readmeFilename":"README.md","gitHead":"c906754d44e8877db94d35fd549498de988321be","_id":"react-async-call@0.3.1-alpha","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"},"dist":{"integrity":"sha512-9xTUQrMh0TRto9gK1Km5FQbsyW/6zlfI37tW6o5hWcAmrIjx+IkVMfq1e9xFKuSAaf+OfAw9NFBahVanJt+dJQ==","shasum":"ac47666e9ed40bcdb39260d0fc33bd538da0cb60","tarball":"https://registry.npmjs.org/react-async-call/-/react-async-call-0.3.1-alpha.tgz","fileCount":10,"unpackedSize":129497,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbu4TeCRA9TVsSAnZWagAA4MAQAJai5Yp8xpLnMfaFNBGi\n0irLUM4R6YAIXC7pM2gh0+yIluazktyCPH3jDvdQoErMsSWJ0gW512QUJf3U\nGq6FzLBQtdzwt6cVjav+thme6214iG6OE2OOZn4rfNdfECAgoQU49pWgWqd4\nERVUq2JJ6fSRNa/9Pedk/AQXuzK6PLMr/sJYOXHDEg0rM81LmgnrrFSyZQUI\nYMc7m64CLGFljD86wXxVuBxdB2SYUn9y8i+U4f819FnfnG1rclsRQQEqfNqc\nZtVJ4lbY9RwFQsmwjuE7jD8mpevmaMZkGxE9DqqhwOey4NK+DJCZzSRLRnH/\n6Yohqsc+xF8CRht4sVoINKPEYVocWxohPlx0aDNe0IqNg7eP9vvLXrRFBiHi\n5LDufKPrab/6TVIaXOnVFMsvhwCmBT7Gm9rdoTjt59JidPOmql0yJCN7tLSt\n2Z3OWhRk2T6e9xDjjWVdajGovfGrVSMtwaSnMhgbkG6TWIy7HfWSIz1UqYbd\n7qXc4faUa6ZkPRqVQydhZr1O+lRcg11sNcNYOsM7Y+TFuGm/ukEiqHrkHUbk\nCMKQyKLarntHO8putuv8ug87IvHvR4/UI3gwVTQ0z0WM3VRBBLPjy2H3GlYw\nGPHf1zm2C1wX1vvhRNmvgbh67gXkCEGimDtAQed2mW/tVALMAQn7+6z5eUxN\n+/QT\r\n=vTvc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFb6Rp80bJAR3n5vifsim0l6JCBe5U5xXY+r+FuQVDjBAiEAvHmzQhKeC9bQOcf2wv92E3WhPvgdju+uB+W06R0JKAA="}]},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-call_0.3.1-alpha_1539015901431_0.4356936121005053"},"_hasShrinkwrap":false},"0.3.1-alpha.1":{"name":"react-async-call","version":"0.3.1-alpha.1","description":"Declarative promise handling in React","main":"lib/index.js","module":"lib/index.es.js","jsnext:main":"lib/index.es.js","umd:main":"lib/index.umd.js","unpkg":"lib/index.umd.js","author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/kuzn-ilya/react-async-call.git"},"license":"MIT","typings":"src/index.d.ts","keywords":["react","reactjs","render","props","promise","fetch"],"bugs":{"url":"https://github.com/kuzn-ilya/react-async-call/issues"},"homepage":"https://github.com/kuzn-ilya/react-async-call#readme","scripts":{"clean":"rimraf lib","build":"npm run clean && npm run rollup && npm run minify","docs":"jsdoc2md --name-format --separators --helper ./docs/helpers/isTypeDefinition.js --partial ./docs/partials/scope.hbs ./docs/partials/body.hbs ./docs/partials/params.hbs --template ./docs/API.hbs --heading-depth 3 ./src/*.js  > docs/API.md","eslint":"eslint ./","minify":"npm run minify:cjs && npm run minify:umd","minify:cjs":"uglifyjs lib/index.js -cm toplevel -o lib/index.js --source-map filename=lib/index.js.map","minify:umd":"uglifyjs lib/index.umd.js -cm toplevel -o lib/index.umd.js --source-map filename=lib/index.umd.js.map","test":"npm run eslint && jest src --coverage","test:watch":"npm run eslint && jest src --watch","format":"prettier --write **/*.{js,jsx,json,d.ts} !lib/** !.vscode/**","rollup":"rollup -c","release":"npm run test && npm run build && npm version patch && npm publish && git push --tags"},"pre-commit":["test"],"dependencies":{"fbjs":"0.8.0","prop-types":"^15.6.2"},"peerDependencies":{"react":"^16.0.0"},"devDependencies":{"@semantic-release/changelog":"3.0.0","@semantic-release/git":"7.0.4","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.2.2","babel-jest":"^22.4.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","codecov":"3.1.0","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","eslint":"4.19.0","eslint-config-react-app":"2.1.0","eslint-plugin-import":"2.9.0","eslint-plugin-react":"7.7.0","jest":"^22.4.2","jest-enzyme":"6.0.1","jsdoc-to-markdown":"4.0.1","pre-commit":"^1.2.2","prettier":"^1.11.1","react":"^16.5.2","react-dom":"^16.5.2","rimraf":"^2.6.2","rollup":"^0.56.5","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"9.1.8","rollup-plugin-node-resolve":"3.4.0","semantic-release":"15.9.16","uglify-js":"^3.4.9"},"jest":{"coverageDirectory":"./coverage/","collectCoverage":true,"coveragePathIgnorePatterns":["/node_modules/","./src/__tests__/setup.js","./src/__tests__/common.js"],"setupTestFrameworkScriptFile":"./src/__tests__/setup.js","testMatch":["**/__tests__/**/*.test.js?(x)"],"testURL":"http://localhost"},"eslintConfig":{"parser":"babel-eslint","env":{"browser":true,"node":true},"plugins":["import","react"],"extends":["eslint:recommended","plugin:import/errors","plugin:react/recommended"]},"eslintIgnore":["lib/**","src/__tests__/**","coverage/**"],"publishConfig":{"tag":"alpha"},"release":{"verifyConditions":["@semantic-release/npm","@semantic-release/github","@semantic-release/git"],"generateNotes":["@semantic-release/release-notes-generator"],"prepare":[{"path":"@semantic-release/changelog","changelogFile":"docs/CHANGELOG.md","changelogTitle":"# Change Log"},"@semantic-release/npm",{"path":"@semantic-release/git","assets":["package.json","docs/CHANGELOG.md","docs/API.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"publish":["@semantic-release/npm","@semantic-release/github"]},"readme":"# React Async Call\r\n\r\n[![npm version][npm-badge]][npm]\r\n[![Build Status][build-badge]][build]\r\n[![Code Coverage][coverage-badge]][coverage]\r\n[![MIT License][license-badge]][license]\r\n[![size][size-badge]][unpkg-dist]\r\n[![gzip size][gzip-badge]][unpkg-dist]\r\n[![module formats: umd, cjs, and es][module-formats-badge]][unpkg-dist]\r\n\r\n## Overview\r\n\r\nDeclarative promise handling in React.\r\n\r\n## Motivation\r\n\r\nHandling promise-returning functions (for example, [`fetch`][fetch-api]) is not hard to do in React application. There are several packages like [holen][holen] or [React Request][react-request] for simplifying such kind of tasks but theirs authors try to impose their own vision on various aspects of data fetching. For instance, [React Request][react-request] has a cache for HTTP requests but what will happen if you decide to change caching strategy? React Async Call tries to sharpen the edges. This is minimalistic package that can be used not only for data fetching but also for handling any promise-returning functions.\r\n\r\n## Install\r\n\r\n### Using npm\r\n\r\n`npm i react-async-call --save`\r\n\r\nThen, use it as usual:\r\n\r\n```JS\r\n// using ES6 modules\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\n// using CommonJS modules\r\nvar createAsyncCallComponent = require('react-async-call').createAsyncCallComponent\r\n```\r\n\r\n### UMD build\r\n\r\nThe UMD build is also available on [unpkg][unpkg]:\r\n\r\n```HTML\r\n<script src=\"https://unpkg.com/react-async-call\"></script>\r\n```\r\n\r\nThe package is avalable on `window.ReactAsyncCall`\r\n\r\n## Usage\r\n\r\n### Basic Usage\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/y7349vl4oj)\r\n* [TypeScript Example](https://codesandbox.io/s/w76rq8jjx8)\r\n\r\n```jsx\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\nconst AsyncCall = createAsyncCallComponent(value => Promise.resolve(42))\r\n\r\nconst Example = () => (\r\n  <AsyncCall>\r\n    <AsyncCall.Running>\r\n      <div>Loading...</div>\r\n    </AsyncCall.Running>\r\n    <AsyncCall.Resolved>{({ result }) => <div>The result of function call is {result}</div>}</AsyncCall.Resolved>\r\n    <AsyncCall.Rejected>{({ rejectReason }) => <div>Error: {rejectReason}</div>}</AsyncCall.Rejected>\r\n  </AsyncCall>\r\n)\r\n```\r\n\r\n### Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/vn8qmr43yy)\r\n* [TypeScript Example](https://codesandbox.io/s/ryxwnkl34)\r\n\r\n### Incremental Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/mzzvlmj65y)\r\n* [TypeScript Example](https://codesandbox.io/s/5y3m6mrx9p)\r\n\r\n## API\r\n\r\n[See API reference here][api]\r\n\r\n## Change Log\r\n\r\n[You can find change log here][changelog]\r\n\r\n## Credits\r\n\r\nGreat thanks to [@kitos](https://github.com/kitos) and [@ventrz](https://github.com/ventrz) for their invaluable help, support and bright ideas!\r\n\r\n[npm-badge]: https://badge.fury.io/js/react-async-call.svg\r\n[npm]: https://www.npmjs.com/package/react-async-call\r\n[build-badge]: https://travis-ci.org/kuzn-ilya/react-async-call.svg?branch=master\r\n[build]: https://travis-ci.org/kuzn-ilya/react-async-call\r\n[coverage-badge]: https://codecov.io/gh/kuzn-ilya/react-async-call/branch/master/graph/badge.svg\r\n[coverage]: https://codecov.io/gh/kuzn-ilya/react-async-call\r\n[license-badge]: https://img.shields.io/npm/l/react-async-call.svg\r\n[license]: https://github.com/kuzn-ilya/react-async-call/blob/master/LICENSE\r\n[size-badge]: http://img.badgesize.io/https://unpkg.com/react-async-call/lib/index.umd.js?label=size\r\n[gzip-badge]: http://img.badgesize.io/https://unpkg.com/react-async-call/lib/index.umd.js?compression=gzip&label=gzip%20size\r\n[module-formats-badge]: https://img.shields.io/badge/module%20formats-umd%2C%20cjs%2C%20es-green.svg\r\n[unpkg-dist]: https://unpkg.com/react-async-call/lib/\r\n[unpkg]: https:/unpkg.com\r\n[changelog]: https://github.com/kuzn-ilya/react-async-call/blob/master/docs/CHANGELOG.md\r\n[api]: https://github.com/kuzn-ilya/react-async-call/blob/master/docs/API.md\r\n[fetch-api]: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API\r\n[holen]: https://github.com/tkh44/holen\r\n[react-request]: https://github.com/jamesplease/react-request","readmeFilename":"README.md","gitHead":"c906754d44e8877db94d35fd549498de988321be","_id":"react-async-call@0.3.1-alpha.1","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"},"dist":{"integrity":"sha512-UPJVrd3pl3r+3o3mVKLwPZlkOnh2O3JWlPutPFHehaKQUorYWj3UG+bAfZDC8DXiMAwnG6GgAXfHaHIh80R6Ew==","shasum":"ff2842991b3cfb3da0726873d22a078f11b0ef46","tarball":"https://registry.npmjs.org/react-async-call/-/react-async-call-0.3.1-alpha.1.tgz","fileCount":10,"unpackedSize":135283,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbu4ZECRA9TVsSAnZWagAAvMsP/00CDA3c8HkNvr4GaQp3\nn4OCoHiVHZej322nsz32fhpsnH0G4HgNgAgDkHku24TcHv1vbFh7ScJxsGay\nnOLJaQU7vzuTa14cl2wk6qLnbHK7vKEoksVsSM3z9ASGY3fWbWx138tLNcV6\n9xW9b4YtmlZ+F/eGBCxOcqS19QZKYeIgZaXi+KBZ8+kpYEi0PkXAthjjQ0lA\nKi0RX1CVOD7ZkT5Tmy3qBCDHnjmiWLCDix/7Hm35ZFVx8/xwV7tEbnd+Xzzh\njLLbvFJ+O9gZ1NCdN6+cSRkrUmZhkHk40H4wheVrjXpRzv1FjMJT+DAVTG2V\nUzQfF+7KIP2F3AqISdLmMRXDI7yVIcQNmOMN7w13gSKZT9wAtEO5Z8eLUK4D\nVJ95bOxpvvQuoGK05IQR5hVxk38bObXZjxCjIfWS0Kl3P6XAVtsuZLeztN6+\nGnsHTMivgRdqNXIQm7cl2kdSKQ+pInXrn+dUlXYjY3+vfMMQYIEbgAYppP7/\nq+cfF/kGmPeJ8XZ21PkjA2jWnUwQRPEebfa2cO2G7lmQIsPTDF3uZfPVDUmX\n2vrl+lzs6pUi/MG5wULmdiN18czQIWpTtxjLolPdh5GirLdSEPgVcmOdZ0mr\n9U45gYKSPvlcjaeXWlA7UhnEedhuG/s+dMAXo6a2n2EZFcdKmSZkVm0R1TLO\nr71P\r\n=q7cG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGpVgndh6ZGVFBpOdY4QA2xG6u3wdW4wOk8kQ4h/GK7wAiBoEi20cfeFhP+5gCeon9t7tq/hKV31zl8Jt6vqWG7j1A=="}]},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-call_0.3.1-alpha.1_1539016259816_0.06270299993643125"},"_hasShrinkwrap":false},"0.3.1-alpha.2":{"name":"react-async-call","version":"0.3.1-alpha.2","description":"Declarative promise handling in React","main":"lib/index.js","module":"lib/index.es.js","jsnext:main":"lib/index.es.js","umd:main":"lib/index.umd.js","unpkg":"lib/index.umd.js","author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/kuzn-ilya/react-async-call.git"},"license":"MIT","typings":"src/index.d.ts","keywords":["react","reactjs","render","props","promise","fetch"],"bugs":{"url":"https://github.com/kuzn-ilya/react-async-call/issues"},"homepage":"https://github.com/kuzn-ilya/react-async-call#readme","scripts":{"clean":"rimraf lib","build":"npm run clean && npm run rollup && npm run minify","docs":"jsdoc2md --name-format --separators --helper ./docs/helpers/isTypeDefinition.js --partial ./docs/partials/scope.hbs ./docs/partials/body.hbs ./docs/partials/params.hbs --template ./docs/API.hbs --heading-depth 3 ./src/*.js  > docs/API.md","eslint":"eslint ./","minify":"npm run minify:cjs && npm run minify:umd","minify:cjs":"uglifyjs lib/index.js -cm toplevel -o lib/index.js --source-map filename=lib/index.js.map","minify:umd":"uglifyjs lib/index.umd.js -cm toplevel -o lib/index.umd.js --source-map filename=lib/index.umd.js.map","test":"npm run eslint && jest src --coverage","test:watch":"npm run eslint && jest src --watch","format":"prettier --write **/*.{js,jsx,json,d.ts} !lib/** !.vscode/**","rollup":"rollup -c","release":"npm run test && npm run build && npm version patch && npm publish && git push --tags"},"pre-commit":["test"],"dependencies":{"fbjs":"0.8.0","prop-types":"^15.6.2"},"peerDependencies":{"react":"^16.0.0"},"devDependencies":{"@semantic-release/changelog":"3.0.0","@semantic-release/git":"7.0.4","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.2.2","babel-jest":"^22.4.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","codecov":"3.1.0","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","eslint":"4.19.0","eslint-config-react-app":"2.1.0","eslint-plugin-import":"2.9.0","eslint-plugin-react":"7.7.0","jest":"^22.4.2","jest-enzyme":"6.0.1","jsdoc-to-markdown":"4.0.1","pre-commit":"^1.2.2","prettier":"^1.11.1","react":"^16.5.2","react-dom":"^16.5.2","rimraf":"^2.6.2","rollup":"^0.56.5","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"9.1.8","rollup-plugin-node-resolve":"3.4.0","semantic-release":"15.9.16","uglify-js":"^3.4.9"},"jest":{"coverageDirectory":"./coverage/","collectCoverage":true,"coveragePathIgnorePatterns":["/node_modules/","./src/__tests__/setup.js","./src/__tests__/common.js"],"setupTestFrameworkScriptFile":"./src/__tests__/setup.js","testMatch":["**/__tests__/**/*.test.js?(x)"],"testURL":"http://localhost"},"eslintConfig":{"parser":"babel-eslint","env":{"browser":true,"node":true},"plugins":["import","react"],"extends":["eslint:recommended","plugin:import/errors","plugin:react/recommended"]},"eslintIgnore":["lib/**","src/__tests__/**","coverage/**"],"publishConfig":{"tag":"alpha"},"release":{"verifyConditions":["@semantic-release/npm","@semantic-release/github","@semantic-release/git"],"generateNotes":["@semantic-release/release-notes-generator"],"prepare":[{"path":"@semantic-release/changelog","changelogFile":"docs/CHANGELOG.md","changelogTitle":"# Change Log"},"@semantic-release/npm",{"path":"@semantic-release/git","assets":["package.json","docs/CHANGELOG.md","docs/API.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"publish":["@semantic-release/npm","@semantic-release/github"]},"readme":"# React Async Call\r\n\r\n[![npm version][npm-badge]][npm]\r\n[![Build Status][build-badge]][build]\r\n[![Code Coverage][coverage-badge]][coverage]\r\n[![MIT License][license-badge]][license]\r\n[![size][size-badge]][unpkg-dist]\r\n[![gzip size][gzip-badge]][unpkg-dist]\r\n[![module formats: umd, cjs, and es][module-formats-badge]][unpkg-dist]\r\n\r\n## Overview\r\n\r\nDeclarative promise handling in React.\r\n\r\n## Motivation\r\n\r\nHandling promise-returning functions (for example, [`fetch`][fetch-api]) is not hard to do in React application. There are several packages like [holen][holen] or [React Request][react-request] for simplifying such kind of tasks but theirs authors try to impose their own vision on various aspects of data fetching. For instance, [React Request][react-request] has a cache for HTTP requests but what will happen if you decide to change caching strategy? React Async Call tries to sharpen the edges. This is minimalistic package that can be used not only for data fetching but also for handling any promise-returning functions.\r\n\r\n## Install\r\n\r\n### Using npm\r\n\r\n`npm i react-async-call --save`\r\n\r\nThen, use it as usual:\r\n\r\n```JS\r\n// using ES6 modules\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\n// using CommonJS modules\r\nvar createAsyncCallComponent = require('react-async-call').createAsyncCallComponent\r\n```\r\n\r\n### UMD build\r\n\r\nThe UMD build is also available on [unpkg][unpkg]:\r\n\r\n```HTML\r\n<script src=\"https://unpkg.com/react-async-call\"></script>\r\n```\r\n\r\nThe package is avalable on `window.ReactAsyncCall`\r\n\r\n## Usage\r\n\r\n### Basic Usage\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/y7349vl4oj)\r\n* [TypeScript Example](https://codesandbox.io/s/w76rq8jjx8)\r\n\r\n```jsx\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\nconst AsyncCall = createAsyncCallComponent(value => Promise.resolve(42))\r\n\r\nconst Example = () => (\r\n  <AsyncCall>\r\n    <AsyncCall.Running>\r\n      <div>Loading...</div>\r\n    </AsyncCall.Running>\r\n    <AsyncCall.Resolved>{({ result }) => <div>The result of function call is {result}</div>}</AsyncCall.Resolved>\r\n    <AsyncCall.Rejected>{({ rejectReason }) => <div>Error: {rejectReason}</div>}</AsyncCall.Rejected>\r\n  </AsyncCall>\r\n)\r\n```\r\n\r\n### Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/vn8qmr43yy)\r\n* [TypeScript Example](https://codesandbox.io/s/ryxwnkl34)\r\n\r\n### Incremental Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/mzzvlmj65y)\r\n* [TypeScript Example](https://codesandbox.io/s/5y3m6mrx9p)\r\n\r\n## API\r\n\r\n[See API reference here][api]\r\n\r\n## Change Log\r\n\r\n[You can find change log here][changelog]\r\n\r\n## Credits\r\n\r\nGreat thanks to [@kitos](https://github.com/kitos) and [@ventrz](https://github.com/ventrz) for their invaluable help, support and bright ideas!\r\n\r\n[npm-badge]: https://badge.fury.io/js/react-async-call.svg\r\n[npm]: https://www.npmjs.com/package/react-async-call\r\n[build-badge]: https://travis-ci.org/kuzn-ilya/react-async-call.svg?branch=master\r\n[build]: https://travis-ci.org/kuzn-ilya/react-async-call\r\n[coverage-badge]: https://codecov.io/gh/kuzn-ilya/react-async-call/branch/master/graph/badge.svg\r\n[coverage]: https://codecov.io/gh/kuzn-ilya/react-async-call\r\n[license-badge]: https://img.shields.io/npm/l/react-async-call.svg\r\n[license]: https://github.com/kuzn-ilya/react-async-call/blob/master/LICENSE\r\n[size-badge]: http://img.badgesize.io/https://unpkg.com/react-async-call/lib/index.umd.js?label=size\r\n[gzip-badge]: http://img.badgesize.io/https://unpkg.com/react-async-call/lib/index.umd.js?compression=gzip&label=gzip%20size\r\n[module-formats-badge]: https://img.shields.io/badge/module%20formats-umd%2C%20cjs%2C%20es-green.svg\r\n[unpkg-dist]: https://unpkg.com/react-async-call/lib/\r\n[unpkg]: https:/unpkg.com\r\n[changelog]: https://github.com/kuzn-ilya/react-async-call/blob/master/docs/CHANGELOG.md\r\n[api]: https://github.com/kuzn-ilya/react-async-call/blob/master/docs/API.md\r\n[fetch-api]: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API\r\n[holen]: https://github.com/tkh44/holen\r\n[react-request]: https://github.com/jamesplease/react-request","readmeFilename":"README.md","gitHead":"c906754d44e8877db94d35fd549498de988321be","_id":"react-async-call@0.3.1-alpha.2","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"},"dist":{"integrity":"sha512-KutnsGi91QwGz4vPEeFB/zTXjg/pM+dKwjoElEEwFcy4PJL1tvTvnC/bP1SIPwgh/3fQqsfwjtV+qh2UIUQ3Tg==","shasum":"eecff5188e22a1cc07a2feb84e748539d66dc003","tarball":"https://registry.npmjs.org/react-async-call/-/react-async-call-0.3.1-alpha.2.tgz","fileCount":10,"unpackedSize":135233,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbu4c/CRA9TVsSAnZWagAANR0QAIpDRwQMwgoGxxQ52aYA\nzqV+gRLcEGb2NwycYnMtAi/oBbkoNgeje7oCNSsp+E0E0m2kcyA/WDrs/GuJ\nsR5RjRfdL0c5IbzY7PK6C6aHSi2hhSlKUYADy3gPMYGq63pTpGVuox5TVtKG\nqIO4hoCILeG7Lx815TPSUdF5K4cwxW4V89InuuURDLKqb6cjA9b8+geCou7U\nJQAa+luBJQho3zZgBmDLJDfwZafD+OXL+1DOViQ5TzhmrKV5FHovidGs6tw5\nVXrDdT4xgBnZQ9eoaFucfDdPwn4aPAxEXYYiSHbh1//rlABy2x2W27VaLGog\nksL2GV0dzHOIIQbuGify4GJmH90wpTqRsl9J8RP7bXZHqxDxTtgj6m/VFTiP\n9LcsRwmbw9//nji6n+sWKp12i+L++YeiDsEKLzRNDclkPijVA+idZNd448AE\nGCpZUIdhXEvzsqrk6t8lYLqETUcImA7cygTS2Y/hjckClyQCyw42ZMfUvKWm\nVGsPB74zfVQEO6qAeFnDVUcuD29GN6DCPaVaQrSar+X0OZfiUhTrbCiTUvqc\nVjJJ/VxhdQ2CZd9Y2lfG1oxf6rdywcIboOrY/u4w2fFa1DuopjFT6UPvaHHn\nMYOj5eocxcMcQrYNZkMtd2dQ6kCcjOMIhLey0xDiFmnzAGWLx6UFB4IaI27a\na+/U\r\n=lisP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAQ3WWgiaSM7+4AZkHpU1+h7ZAn9p7311Nztz/LybMQhAiEA20SPgzSdZeS8tpwtgKFuXk9NXCk0VvSSgJUy8Ngz5b8="}]},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-call_0.3.1-alpha.2_1539016510639_0.16438097300057586"},"_hasShrinkwrap":false},"0.3.1-alpha.3":{"name":"react-async-call","version":"0.3.1-alpha.3","description":"Declarative promise handling in React","main":"lib/index.js","module":"lib/index.es.js","jsnext:main":"lib/index.es.js","umd:main":"lib/index.umd.js","unpkg":"lib/index.umd.js","author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/kuzn-ilya/react-async-call.git"},"license":"MIT","typings":"src/index.d.ts","keywords":["react","reactjs","render","props","promise","fetch"],"bugs":{"url":"https://github.com/kuzn-ilya/react-async-call/issues"},"homepage":"https://github.com/kuzn-ilya/react-async-call#readme","scripts":{"clean":"rimraf lib","build":"npm run clean && npm run rollup && npm run minify","docs":"jsdoc2md --name-format --separators --helper ./docs/helpers/isTypeDefinition.js --partial ./docs/partials/scope.hbs ./docs/partials/body.hbs ./docs/partials/params.hbs --template ./docs/API.hbs --heading-depth 3 ./src/*.js  > docs/API.md","eslint":"eslint ./","minify":"npm run minify:cjs && npm run minify:umd","minify:cjs":"uglifyjs lib/index.js -cm toplevel -o lib/index.js --source-map filename=lib/index.js.map","minify:umd":"uglifyjs lib/index.umd.js -cm toplevel -o lib/index.umd.js --source-map filename=lib/index.umd.js.map","test":"npm run eslint && jest src --coverage","test:watch":"npm run eslint && jest src --watch","format":"prettier --write **/*.{js,jsx,json,d.ts} !lib/** !.vscode/**","rollup":"rollup -c","release":"npm run test && npm run build && npm version patch && npm publish && git push --tags"},"pre-commit":["test"],"dependencies":{"fbjs":"0.8.0","prop-types":"^15.6.2"},"peerDependencies":{"react":"^16.0.0"},"devDependencies":{"@semantic-release/changelog":"3.0.0","@semantic-release/git":"7.0.4","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.2.2","babel-jest":"^22.4.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","codecov":"3.1.0","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","eslint":"4.19.0","eslint-config-react-app":"2.1.0","eslint-plugin-import":"2.9.0","eslint-plugin-react":"7.7.0","jest":"^22.4.2","jest-enzyme":"6.0.1","jsdoc-to-markdown":"4.0.1","pre-commit":"^1.2.2","prettier":"^1.11.1","react":"^16.5.2","react-dom":"^16.5.2","rimraf":"^2.6.2","rollup":"^0.56.5","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"9.1.8","rollup-plugin-node-resolve":"3.4.0","semantic-release":"15.9.16","uglify-js":"^3.4.9"},"jest":{"coverageDirectory":"./coverage/","collectCoverage":true,"coveragePathIgnorePatterns":["/node_modules/","./src/__tests__/setup.js","./src/__tests__/common.js"],"setupTestFrameworkScriptFile":"./src/__tests__/setup.js","testMatch":["**/__tests__/**/*.test.js?(x)"],"testURL":"http://localhost"},"eslintConfig":{"parser":"babel-eslint","env":{"browser":true,"node":true},"plugins":["import","react"],"extends":["eslint:recommended","plugin:import/errors","plugin:react/recommended"]},"eslintIgnore":["lib/**","src/__tests__/**","coverage/**"],"publishConfig":{"tag":"alpha"},"release":{"verifyConditions":["@semantic-release/npm","@semantic-release/github","@semantic-release/git"],"generateNotes":["@semantic-release/release-notes-generator"],"prepare":[{"path":"@semantic-release/changelog","changelogFile":"docs/CHANGELOG.md","changelogTitle":"# Change Log"},"@semantic-release/npm",{"path":"@semantic-release/git","assets":["package.json","docs/CHANGELOG.md","docs/API.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"publish":["@semantic-release/npm","@semantic-release/github"]},"readme":"# React Async Call\r\n\r\n[![npm version][npm-badge]][npm]\r\n[![Build Status][build-badge]][build]\r\n[![Code Coverage][coverage-badge]][coverage]\r\n[![MIT License][license-badge]][license]\r\n[![size][size-badge]][unpkg-dist]\r\n[![gzip size][gzip-badge]][unpkg-dist]\r\n[![module formats: umd, cjs, and es][module-formats-badge]][unpkg-dist]\r\n\r\n## Overview\r\n\r\nDeclarative promise handling in React.\r\n\r\n## Motivation\r\n\r\nHandling promise-returning functions (for example, [`fetch`][fetch-api]) is not hard to do in React application. There are several packages like [holen][holen] or [React Request][react-request] for simplifying such kind of tasks but theirs authors try to impose their own vision on various aspects of data fetching. For instance, [React Request][react-request] has a cache for HTTP requests but what will happen if you decide to change caching strategy? React Async Call tries to sharpen the edges. This is minimalistic package that can be used not only for data fetching but also for handling any promise-returning functions.\r\n\r\n## Install\r\n\r\n### Using npm\r\n\r\n`npm i react-async-call --save`\r\n\r\nThen, use it as usual:\r\n\r\n```JS\r\n// using ES6 modules\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\n// using CommonJS modules\r\nvar createAsyncCallComponent = require('react-async-call').createAsyncCallComponent\r\n```\r\n\r\n### UMD build\r\n\r\nThe UMD build is also available on [unpkg][unpkg]:\r\n\r\n```HTML\r\n<script src=\"https://unpkg.com/react-async-call\"></script>\r\n```\r\n\r\nThe package is avalable on `window.ReactAsyncCall`\r\n\r\n## Usage\r\n\r\n### Basic Usage\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/y7349vl4oj)\r\n* [TypeScript Example](https://codesandbox.io/s/w76rq8jjx8)\r\n\r\n```jsx\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\nconst AsyncCall = createAsyncCallComponent(value => Promise.resolve(42))\r\n\r\nconst Example = () => (\r\n  <AsyncCall>\r\n    <AsyncCall.Running>\r\n      <div>Loading...</div>\r\n    </AsyncCall.Running>\r\n    <AsyncCall.Resolved>{({ result }) => <div>The result of function call is {result}</div>}</AsyncCall.Resolved>\r\n    <AsyncCall.Rejected>{({ rejectReason }) => <div>Error: {rejectReason}</div>}</AsyncCall.Rejected>\r\n  </AsyncCall>\r\n)\r\n```\r\n\r\n### Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/vn8qmr43yy)\r\n* [TypeScript Example](https://codesandbox.io/s/ryxwnkl34)\r\n\r\n### Incremental Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/mzzvlmj65y)\r\n* [TypeScript Example](https://codesandbox.io/s/5y3m6mrx9p)\r\n\r\n## API\r\n\r\n[See API reference here][api]\r\n\r\n## Change Log\r\n\r\n[You can find change log here][changelog]\r\n\r\n## Credits\r\n\r\nGreat thanks to [@kitos](https://github.com/kitos) and [@ventrz](https://github.com/ventrz) for their invaluable help, support and bright ideas!\r\n\r\n[npm-badge]: https://badge.fury.io/js/react-async-call.svg\r\n[npm]: https://www.npmjs.com/package/react-async-call\r\n[build-badge]: https://travis-ci.org/kuzn-ilya/react-async-call.svg?branch=master\r\n[build]: https://travis-ci.org/kuzn-ilya/react-async-call\r\n[coverage-badge]: https://codecov.io/gh/kuzn-ilya/react-async-call/branch/master/graph/badge.svg\r\n[coverage]: https://codecov.io/gh/kuzn-ilya/react-async-call\r\n[license-badge]: https://img.shields.io/npm/l/react-async-call.svg\r\n[license]: https://github.com/kuzn-ilya/react-async-call/blob/master/LICENSE\r\n[size-badge]: http://img.badgesize.io/https://unpkg.com/react-async-call/lib/index.umd.js?label=size\r\n[gzip-badge]: http://img.badgesize.io/https://unpkg.com/react-async-call/lib/index.umd.js?compression=gzip&label=gzip%20size\r\n[module-formats-badge]: https://img.shields.io/badge/module%20formats-umd%2C%20cjs%2C%20es-green.svg\r\n[unpkg-dist]: https://unpkg.com/react-async-call/lib/\r\n[unpkg]: https:/unpkg.com\r\n[changelog]: https://github.com/kuzn-ilya/react-async-call/blob/master/docs/CHANGELOG.md\r\n[api]: https://github.com/kuzn-ilya/react-async-call/blob/master/docs/API.md\r\n[fetch-api]: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API\r\n[holen]: https://github.com/tkh44/holen\r\n[react-request]: https://github.com/jamesplease/react-request","readmeFilename":"README.md","gitHead":"a22fd0a4336e2698657366d30f96d334ad52c8d7","_id":"react-async-call@0.3.1-alpha.3","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"},"dist":{"integrity":"sha512-QPoXn4K/yHbkbYLBU8XpplIq59CAHFma1Xf33dQo970aida+ixGUCWELfZP8fJdRz+Bg12Vp1g0DCw7G+MXmzA==","shasum":"89833f7247c8a5dd779cf3f0e6592c5b2995bfc4","tarball":"https://registry.npmjs.org/react-async-call/-/react-async-call-0.3.1-alpha.3.tgz","fileCount":10,"unpackedSize":134898,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbu6AXCRA9TVsSAnZWagAAcTcP/0mDBFICg2BjmjM5uaPF\nzDk/mWlpcz4Jl37bhtbIbOc0UL/oEwXwRmjoCWtmP8kI7MUqqyJ8BfzTnicx\nWReGUZkviuA8BKFfIh/5A6bM7r2yneW2GMOBPS0JtfRNpnz0UoDKxiJxrJcn\n9ygbrTrmUk4gwCw7m9i7HBDqzneOb69JbjXTNTDBeKb1dj3RyGIer2JGcM/G\nOoLWWXmOQb9DVjIMtx7AFFRU+AFY1PkE1kRubZpI2ogQq6OZrGzxya7rKBx/\ndaMME0st/ExC2OGbp1ZaGbjuFDJ8fJm1+CHGk5Wto4gmGuoY7Zx4tPfMTIBa\n+O/LwjeuWeh/a5UU7gW/XxvjipTQMicyWL19QJ0T8Y1gV8itDixrsE1UqQH1\nJtr2+kXmYvu0lVBVoKA0Wf8UkRZm9rgIAjLYq0xdef1JHBlcAAr4IhKnm8WH\nDBe3xia9uHnU2OCq+RWnM24+ZjABDxU/3DEhb+8Jgm56rA/Iyp10LX73XggC\nokiyMVgO6tUDmprCCulaUbFqSxX0YmoPEkCRoZOCC7hr+YhW7oJOq2RbMjKJ\n32Doh0eCEAaBy22vWRp2Joc6uymk0m4IS3mMaeUerWUaQSJ0SyFL/hqANuBM\nfOcKWpI1a/BuBGyVShy6rkeTh6PfHIxOvU2Tarcj3MPHE+X74L1hWkoZU+3U\nufM2\r\n=FeUX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC5f6K06hNF6OZdd+D1b9NydrOx2dJd3j1eCdz+tOuoiAIgW4J8s8vgb5NvXr3afqS4iXTtTHOKIsOpr/n2RslwLB8="}]},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-call_0.3.1-alpha.3_1539022869126_0.9764954564108876"},"_hasShrinkwrap":false},"0.3.1-alpha.4":{"name":"react-async-call","version":"0.3.1-alpha.4","description":"Declarative promise handling in React","main":"lib/index.js","module":"lib/index.es.js","jsnext:main":"lib/index.es.js","umd:main":"lib/index.umd.js","unpkg":"lib/index.umd.js","author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/kuzn-ilya/react-async-call.git"},"license":"MIT","typings":"src/index.d.ts","keywords":["react","reactjs","render","props","promise","fetch"],"bugs":{"url":"https://github.com/kuzn-ilya/react-async-call/issues"},"homepage":"https://github.com/kuzn-ilya/react-async-call#readme","scripts":{"clean":"rimraf lib","build":"npm run clean && npm run rollup && npm run minify","docs":"jsdoc2md --name-format --separators --helper ./docs/helpers/isTypeDefinition.js --partial ./docs/partials/scope.hbs ./docs/partials/body.hbs ./docs/partials/params.hbs --template ./docs/API.hbs --heading-depth 3 ./src/*.js  > docs/API.md","eslint":"eslint ./","minify":"npm run minify:cjs && npm run minify:umd","minify:cjs":"uglifyjs lib/index.js -cm toplevel -o lib/index.js --source-map filename=lib/index.js.map","minify:umd":"uglifyjs lib/index.umd.js -cm toplevel -o lib/index.umd.js --source-map filename=lib/index.umd.js.map","test":"npm run eslint && jest src --coverage","test:watch":"npm run eslint && jest src --watch","format":"prettier --write **/*.{js,jsx,json,d.ts} !lib/** !.vscode/**","rollup":"rollup -c","release":"npm run test && npm run build && npm version patch && npm publish && git push --tags"},"pre-commit":["test"],"dependencies":{"fbjs":"0.8.0","prop-types":"^15.6.2"},"peerDependencies":{"react":"^16.0.0"},"devDependencies":{"@semantic-release/changelog":"3.0.0","@semantic-release/git":"7.0.4","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.2.2","babel-jest":"^22.4.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","codecov":"3.1.0","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","eslint":"4.19.0","eslint-config-react-app":"2.1.0","eslint-plugin-import":"2.9.0","eslint-plugin-react":"7.7.0","jest":"^22.4.2","jest-enzyme":"6.0.1","jsdoc-to-markdown":"4.0.1","pre-commit":"^1.2.2","prettier":"^1.11.1","react":"^16.5.2","react-dom":"^16.5.2","rimraf":"^2.6.2","rollup":"^0.56.5","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"9.1.8","rollup-plugin-node-resolve":"3.4.0","semantic-release":"15.9.16","uglify-js":"^3.4.9"},"jest":{"coverageDirectory":"./coverage/","collectCoverage":true,"coveragePathIgnorePatterns":["/node_modules/","./src/__tests__/setup.js","./src/__tests__/common.js"],"setupTestFrameworkScriptFile":"./src/__tests__/setup.js","testMatch":["**/__tests__/**/*.test.js?(x)"],"testURL":"http://localhost"},"eslintConfig":{"parser":"babel-eslint","env":{"browser":true,"node":true},"plugins":["import","react"],"extends":["eslint:recommended","plugin:import/errors","plugin:react/recommended"]},"eslintIgnore":["lib/**","src/__tests__/**","coverage/**"],"publishConfig":{"tag":"alpha"},"release":{"verifyConditions":["@semantic-release/npm","@semantic-release/github","@semantic-release/git"],"generateNotes":["@semantic-release/release-notes-generator"],"prepare":[{"path":"@semantic-release/changelog","changelogFile":"docs/CHANGELOG.md","changelogTitle":"# Change Log"},"@semantic-release/npm",{"path":"@semantic-release/git","assets":["package.json","docs/CHANGELOG.md","docs/API.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"publish":["@semantic-release/npm","@semantic-release/github"]},"readme":"# React Async Call\r\n\r\n[![npm version][npm-badge]][npm]\r\n[![Build Status][build-badge]][build]\r\n[![Code Coverage][coverage-badge]][coverage]\r\n[![MIT License][license-badge]][license]\r\n[![size][size-badge]][unpkg-dist]\r\n[![gzip size][gzip-badge]][unpkg-dist]\r\n[![module formats: umd, cjs, and es][module-formats-badge]][unpkg-dist]\r\n\r\n## Overview\r\n\r\nDeclarative promise handling in React.\r\n\r\n## Motivation\r\n\r\nHandling promise-returning functions (for example, [`fetch`][fetch-api]) is not hard to do in React application. There are several packages like [holen][holen] or [React Request][react-request] for simplifying such kind of tasks but theirs authors try to impose their own vision on various aspects of data fetching. For instance, [React Request][react-request] has a cache for HTTP requests but what will happen if you decide to change caching strategy? React Async Call tries to sharpen the edges. This is minimalistic package that can be used not only for data fetching but also for handling any promise-returning functions.\r\n\r\n## Install\r\n\r\n### Using npm\r\n\r\n`npm i react-async-call --save`\r\n\r\nThen, use it as usual:\r\n\r\n```JS\r\n// using ES6 modules\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\n// using CommonJS modules\r\nvar createAsyncCallComponent = require('react-async-call').createAsyncCallComponent\r\n```\r\n\r\n### UMD build\r\n\r\nThe UMD build is also available on [unpkg][unpkg]:\r\n\r\n```HTML\r\n<script src=\"https://unpkg.com/react-async-call\"></script>\r\n```\r\n\r\nThe package is avalable on `window.ReactAsyncCall`\r\n\r\n## Usage\r\n\r\n### Basic Usage\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/y7349vl4oj)\r\n* [TypeScript Example](https://codesandbox.io/s/w76rq8jjx8)\r\n\r\n```jsx\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\nconst AsyncCall = createAsyncCallComponent(value => Promise.resolve(42))\r\n\r\nconst Example = () => (\r\n  <AsyncCall>\r\n    <AsyncCall.Running>\r\n      <div>Loading...</div>\r\n    </AsyncCall.Running>\r\n    <AsyncCall.Resolved>{({ result }) => <div>The result of function call is {result}</div>}</AsyncCall.Resolved>\r\n    <AsyncCall.Rejected>{({ rejectReason }) => <div>Error: {rejectReason}</div>}</AsyncCall.Rejected>\r\n  </AsyncCall>\r\n)\r\n```\r\n\r\n### Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/vn8qmr43yy)\r\n* [TypeScript Example](https://codesandbox.io/s/ryxwnkl34)\r\n\r\n### Incremental Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/mzzvlmj65y)\r\n* [TypeScript Example](https://codesandbox.io/s/5y3m6mrx9p)\r\n\r\n## API\r\n\r\n[See API reference here][api]\r\n\r\n## Change Log\r\n\r\n[You can find change log here][changelog]\r\n\r\n## Credits\r\n\r\nGreat thanks to [@kitos](https://github.com/kitos) and [@ventrz](https://github.com/ventrz) for their invaluable help, support and bright ideas!\r\n\r\n[npm-badge]: https://badge.fury.io/js/react-async-call.svg\r\n[npm]: https://www.npmjs.com/package/react-async-call\r\n[build-badge]: https://travis-ci.org/kuzn-ilya/react-async-call.svg?branch=master\r\n[build]: https://travis-ci.org/kuzn-ilya/react-async-call\r\n[coverage-badge]: https://codecov.io/gh/kuzn-ilya/react-async-call/branch/master/graph/badge.svg\r\n[coverage]: https://codecov.io/gh/kuzn-ilya/react-async-call\r\n[license-badge]: https://img.shields.io/npm/l/react-async-call.svg\r\n[license]: https://github.com/kuzn-ilya/react-async-call/blob/master/LICENSE\r\n[size-badge]: http://img.badgesize.io/https://unpkg.com/react-async-call/lib/index.umd.js?label=size\r\n[gzip-badge]: http://img.badgesize.io/https://unpkg.com/react-async-call/lib/index.umd.js?compression=gzip&label=gzip%20size\r\n[module-formats-badge]: https://img.shields.io/badge/module%20formats-umd%2C%20cjs%2C%20es-green.svg\r\n[unpkg-dist]: https://unpkg.com/react-async-call/lib/\r\n[unpkg]: https:/unpkg.com\r\n[changelog]: https://github.com/kuzn-ilya/react-async-call/blob/master/docs/CHANGELOG.md\r\n[api]: https://github.com/kuzn-ilya/react-async-call/blob/master/docs/API.md\r\n[fetch-api]: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API\r\n[holen]: https://github.com/tkh44/holen\r\n[react-request]: https://github.com/jamesplease/react-request","readmeFilename":"README.md","gitHead":"8cd56b83fe22f7291723ce9653a9613e9e173a7f","_id":"react-async-call@0.3.1-alpha.4","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"},"dist":{"integrity":"sha512-Vz7OZx0OyKjudCHi3uMYvsMRdaEvy1/iZtp0oLhandV6xvpBYsYoWjj8S6F7h9zTaSWGaombUhB8jhb5gyh6Ng==","shasum":"efc34af992a4316e24f206b3560aff58b0ab1214","tarball":"https://registry.npmjs.org/react-async-call/-/react-async-call-0.3.1-alpha.4.tgz","fileCount":10,"unpackedSize":134898,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbvHq5CRA9TVsSAnZWagAAHP8QAJajgwkXl8LaGqLoEP8h\nP+TBmZyulCv+By/VWe8NTUyw0GwIkcwB/ArAq78Mvw2xwyo+Sh4ohyl14UkX\ntTDv/T7z4NBGvriI3X5oNkfuTVyLAmTurgsajnQY6NNj30/6xSbBGW/vnUEO\nJ7HNPOmuJ+pm8NMcaFBdTZLqWWOuITlB+QMnHP34iQ0ZaHxB5XsuuGrVDn37\nsEHtONKV59es8s6y/zi0YvzxOUxmfGWDzTqazC8cw9yxlqlHaB8/ta+RKQrf\nxxmkW7scqtCQ84wFUOEvij1w2KGdX9pF3sRNUn0q2HA4ljLYW3BQfKlQa9LO\npBJqyUQM9sDoE6EoS1ptewa5j27NlkopquuVaQJj94Qc24HHsTHDH2HoEY7k\ndEzmJwUXKzWd7Ao2wHWX7XWqfF7Nxfl9qZTEFp7R0IodqfuJBChXPFOHSWsd\n3Zxi/rZfxfpo8z5sY11AVoL+aLty6RPmM+FWDI/ak1Wb+Nvpap3G0PFsQPU6\nveMDUZcEtW5GKBCHkTVVwMNIEBJWeouhGhanXsh3MtZyTHABqGE2Y+HXtDh3\nc4erDAZBivbDMs/jt6o3ujzkTGFPn8w97xUUqz912NOWdzT+Mrbe9gErQX2W\nUxtU5MocB4efOuZbh8gp3tZr+mGsngIEVgwijlF1ZL1EI1EpjHofMxFpA+CY\nUDr5\r\n=qRXO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCjfm52GYjoTuNatU3x3NpaB3z3o3wQWAzbKDYNd9ukwwIgIJ1LgiKPFx1zFsIgvGUyeuJBvegnMPjeKWDdwZ7TIxc="}]},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-call_0.3.1-alpha.4_1539078840388_0.031954458565245814"},"_hasShrinkwrap":false},"0.3.1-alpha.5":{"name":"react-async-call","version":"0.3.1-alpha.5","description":"Declarative promise handling in React","main":"lib/index.js","module":"lib/index.es.js","jsnext:main":"lib/index.es.js","umd:main":"lib/index.umd.js","unpkg":"lib/index.umd.js","author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/kuzn-ilya/react-async-call.git"},"license":"MIT","typings":"src/index.d.ts","keywords":["react","reactjs","render","props","promise","fetch"],"bugs":{"url":"https://github.com/kuzn-ilya/react-async-call/issues"},"homepage":"https://github.com/kuzn-ilya/react-async-call#readme","scripts":{"clean":"rimraf lib","build":"npm run clean && npm run rollup && npm run minify","docs":"jsdoc2md --name-format --separators --helper ./docs/helpers/isTypeDefinition.js --partial ./docs/partials/scope.hbs ./docs/partials/body.hbs ./docs/partials/params.hbs --template ./docs/API.hbs --heading-depth 3 ./src/*.js  > docs/API.md","eslint":"eslint ./","minify":"npm run minify:cjs && npm run minify:umd","minify:cjs":"uglifyjs lib/index.js -cm toplevel -o lib/index.js --source-map filename=lib/index.js.map","minify:umd":"uglifyjs lib/index.umd.js -cm toplevel -o lib/index.umd.js --source-map filename=lib/index.umd.js.map","test":"npm run eslint && jest src --coverage","test:watch":"npm run eslint && jest src --watch","format":"prettier --write **/*.{js,jsx,json,d.ts} !lib/** !.vscode/**","rollup":"rollup -c","release":"npm run test && npm run build && npm version patch && npm publish && git push --tags"},"pre-commit":["test"],"dependencies":{"fbjs":"0.8.0","prop-types":"^15.6.2"},"peerDependencies":{"react":"^16.0.0"},"devDependencies":{"@semantic-release/changelog":"3.0.0","@semantic-release/git":"7.0.4","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.2.2","babel-jest":"^22.4.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","codecov":"3.1.0","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","eslint":"4.19.0","eslint-config-react-app":"2.1.0","eslint-plugin-import":"2.9.0","eslint-plugin-react":"7.7.0","jest":"^22.4.2","jest-enzyme":"6.0.1","jsdoc-to-markdown":"4.0.1","pre-commit":"^1.2.2","prettier":"^1.11.1","react":"^16.5.2","react-dom":"^16.5.2","rimraf":"^2.6.2","rollup":"^0.56.5","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"9.1.8","rollup-plugin-node-resolve":"3.4.0","semantic-release":"15.9.16","uglify-js":"^3.4.9"},"jest":{"coverageDirectory":"./coverage/","collectCoverage":true,"coveragePathIgnorePatterns":["/node_modules/","./src/__tests__/setup.js","./src/__tests__/common.js"],"setupTestFrameworkScriptFile":"./src/__tests__/setup.js","testMatch":["**/__tests__/**/*.test.js?(x)"],"testURL":"http://localhost"},"eslintConfig":{"parser":"babel-eslint","env":{"browser":true,"node":true},"plugins":["import","react"],"extends":["eslint:recommended","plugin:import/errors","plugin:react/recommended"]},"eslintIgnore":["lib/**","src/__tests__/**","coverage/**"],"publishConfig":{"tag":"alpha"},"release":{"verifyConditions":["@semantic-release/npm","@semantic-release/github","@semantic-release/git"],"generateNotes":["@semantic-release/release-notes-generator"],"prepare":[{"path":"@semantic-release/changelog","changelogFile":"docs/CHANGELOG.md","changelogTitle":"# Change Log"},"@semantic-release/npm",{"path":"@semantic-release/git","assets":["package.json","docs/CHANGELOG.md","docs/API.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"publish":["@semantic-release/npm","@semantic-release/github"]},"readme":"# React Async Call\r\n\r\n[![npm version][npm-badge]][npm]\r\n[![Build Status][build-badge]][build]\r\n[![Code Coverage][coverage-badge]][coverage]\r\n[![MIT License][license-badge]][license]\r\n[![size][size-badge]][unpkg-dist]\r\n[![gzip size][gzip-badge]][unpkg-dist]\r\n[![module formats: umd, cjs, and es][module-formats-badge]][unpkg-dist]\r\n\r\n## Overview\r\n\r\nDeclarative promise handling in React.\r\n\r\n## Motivation\r\n\r\nHandling promise-returning functions (for example, [`fetch`][fetch-api]) is not hard to do in React application. There are several packages like [holen][holen] or [React Request][react-request] for simplifying such kind of tasks but theirs authors try to impose their own vision on various aspects of data fetching. For instance, [React Request][react-request] has a cache for HTTP requests but what will happen if you decide to change caching strategy? React Async Call tries to sharpen the edges. This is minimalistic package that can be used not only for data fetching but also for handling any promise-returning functions.\r\n\r\n## Install\r\n\r\n### Using npm\r\n\r\n`npm i react-async-call --save`\r\n\r\nThen, use it as usual:\r\n\r\n```JS\r\n// using ES6 modules\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\n// using CommonJS modules\r\nvar createAsyncCallComponent = require('react-async-call').createAsyncCallComponent\r\n```\r\n\r\n### UMD build\r\n\r\nThe UMD build is also available on [unpkg][unpkg]:\r\n\r\n```HTML\r\n<script src=\"https://unpkg.com/react-async-call\"></script>\r\n```\r\n\r\nThe package is avalable on `window.ReactAsyncCall`\r\n\r\n## Usage\r\n\r\n### Basic Usage\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/y7349vl4oj)\r\n* [TypeScript Example](https://codesandbox.io/s/w76rq8jjx8)\r\n\r\n```jsx\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\nconst AsyncCall = createAsyncCallComponent(value => Promise.resolve(42))\r\n\r\nconst Example = () => (\r\n  <AsyncCall>\r\n    <AsyncCall.Running>\r\n      <div>Loading...</div>\r\n    </AsyncCall.Running>\r\n    <AsyncCall.Resolved>{({ result }) => <div>The result of function call is {result}</div>}</AsyncCall.Resolved>\r\n    <AsyncCall.Rejected>{({ rejectReason }) => <div>Error: {rejectReason}</div>}</AsyncCall.Rejected>\r\n  </AsyncCall>\r\n)\r\n```\r\n\r\n### Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/vn8qmr43yy)\r\n* [TypeScript Example](https://codesandbox.io/s/ryxwnkl34)\r\n\r\n### Incremental Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/mzzvlmj65y)\r\n* [TypeScript Example](https://codesandbox.io/s/5y3m6mrx9p)\r\n\r\n## API\r\n\r\n[See API reference here][api]\r\n\r\n## Change Log\r\n\r\n[You can find change log here][changelog]\r\n\r\n## Credits\r\n\r\nGreat thanks to [@kitos](https://github.com/kitos) and [@ventrz](https://github.com/ventrz) for their invaluable help, support and bright ideas!\r\n\r\n[npm-badge]: https://badge.fury.io/js/react-async-call.svg\r\n[npm]: https://www.npmjs.com/package/react-async-call\r\n[build-badge]: https://travis-ci.org/kuzn-ilya/react-async-call.svg?branch=master\r\n[build]: https://travis-ci.org/kuzn-ilya/react-async-call\r\n[coverage-badge]: https://codecov.io/gh/kuzn-ilya/react-async-call/branch/master/graph/badge.svg\r\n[coverage]: https://codecov.io/gh/kuzn-ilya/react-async-call\r\n[license-badge]: https://img.shields.io/npm/l/react-async-call.svg\r\n[license]: https://github.com/kuzn-ilya/react-async-call/blob/master/LICENSE\r\n[size-badge]: http://img.badgesize.io/https://unpkg.com/react-async-call/lib/index.umd.js?label=size\r\n[gzip-badge]: http://img.badgesize.io/https://unpkg.com/react-async-call/lib/index.umd.js?compression=gzip&label=gzip%20size\r\n[module-formats-badge]: https://img.shields.io/badge/module%20formats-umd%2C%20cjs%2C%20es-green.svg\r\n[unpkg-dist]: https://unpkg.com/react-async-call/lib/\r\n[unpkg]: https:/unpkg.com\r\n[changelog]: https://github.com/kuzn-ilya/react-async-call/blob/master/docs/CHANGELOG.md\r\n[api]: https://github.com/kuzn-ilya/react-async-call/blob/master/docs/API.md\r\n[fetch-api]: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API\r\n[holen]: https://github.com/tkh44/holen\r\n[react-request]: https://github.com/jamesplease/react-request","readmeFilename":"README.md","gitHead":"8cd56b83fe22f7291723ce9653a9613e9e173a7f","_id":"react-async-call@0.3.1-alpha.5","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"},"dist":{"integrity":"sha512-cAwhsGDz0HFoHJmIP4LWxnXukhiXbk5UR0OVKlfxlwh7ogHKOu8cP/Kr7FEACjPqH8r9g/FTf/2WSoMsJG5Gkw==","shasum":"e4ddcc24e2b6f8576f2a2a54ce50fd366528c975","tarball":"https://registry.npmjs.org/react-async-call/-/react-async-call-0.3.1-alpha.5.tgz","fileCount":10,"unpackedSize":137091,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbvHwnCRA9TVsSAnZWagAAcasP/2mZL45lpKhCVxuRtmUt\nZvXQNDLzlpz7QCLfx3HwgY+im/CGTkszIDTwtzg7dHOYmFBdUnrvsDbm3q2B\nLUJQ6ZQanOI52c6gAZxYkGD8q3V8eVU4lRctYpfMxtnJ7B/vgA+O1DyUeuVm\nvRVfTHrTm1S10p8rNCKcRNbU1bIOmV04Xor/7Yn8jBMRDHn2MDX2F3CZgNUM\nW2pClcK5UK0obfH0DDuOlNL6p4QkaPkF+vjJtxo7R1Giv1J9xD9CcPcnWJSL\njsDacSIPYJ3E8n3wv6MdXwbYHHYBKf0fH8LowDJ/SNmAfD5WLAvDS66rgFZH\nY7WoWMWDySxcshEufyswtOE6ke9Uz6bhpUNhOqJRXN5cH6yrv2e7c9vUALe/\nl1SYFf2V6cI0K5I/q+dcyTtE59Ts5Cc7N7+p2MT7IXyOgfXjAmdZx9axn7M0\n4SfDFcE5hpY9RKUw7CtFZ1z15Q4Hg3cU1gMurzHJhPolzQkKa1GDnhJQfhil\n+UnYg8X4HXRVTplpil6F7XEmSmUjRFO90VpVFJZwgs59+wqiwFjIqmZ+/8bJ\nMSHzhXP82bSSd6MPiNZLJUG8tJztuwBsC7OwTVV5TOPQYBQIEgQZ4mpfenI1\nVPjDwy1lU1RX9wmExSGSx9rRyF8LHKKLqrzhLrTFTbNbbcyC+y8w5MZ+yOlX\nUMdO\r\n=L80G\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC1WoKlj8G9aw+M+DcPAdYId4vKX+cAZYcgzdWFxoS7/QIhAJ3Nr8AoZ34btkENxEZ0CQlgbtGR+eb+TxeUyAARgO2H"}]},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-call_0.3.1-alpha.5_1539079206429_0.49806112756869547"},"_hasShrinkwrap":false},"0.3.1-alpha.6":{"name":"react-async-call","version":"0.3.1-alpha.6","description":"Declarative promise handling in React","main":"lib/index.js","module":"lib/index.es.js","jsnext:main":"lib/index.es.js","umd:main":"lib/index.umd.js","unpkg":"lib/index.umd.js","author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/kuzn-ilya/react-async-call.git"},"license":"MIT","typings":"src/index.d.ts","keywords":["react","reactjs","render","props","promise","fetch"],"bugs":{"url":"https://github.com/kuzn-ilya/react-async-call/issues"},"homepage":"https://github.com/kuzn-ilya/react-async-call#readme","scripts":{"clean":"rimraf lib","build":"npm run clean && npm run rollup && npm run minify","docs":"jsdoc2md --name-format --separators --helper ./docs/helpers/isTypeDefinition.js --partial ./docs/partials/scope.hbs ./docs/partials/body.hbs ./docs/partials/params.hbs --template ./docs/API.hbs --heading-depth 3 ./src/*.js  > docs/API.md","eslint":"eslint ./","minify":"npm run minify:cjs && npm run minify:umd","minify:cjs":"uglifyjs lib/index.js -cm toplevel -o lib/index.js --source-map filename=lib/index.js.map","minify:umd":"uglifyjs lib/index.umd.js -cm toplevel -o lib/index.umd.js --source-map filename=lib/index.umd.js.map","test":"npm run eslint && jest src --coverage","test:watch":"npm run eslint && jest src --watch","format":"prettier --write **/*.{js,jsx,json,d.ts} !lib/** !.vscode/**","rollup":"rollup -c","release":"npm run test && npm run build && npm version patch && npm publish && git push --tags"},"pre-commit":["test"],"dependencies":{"fbjs":"0.8.0","prop-types":"^15.6.2"},"peerDependencies":{"react":"^16.0.0"},"devDependencies":{"@semantic-release/changelog":"3.0.0","@semantic-release/git":"7.0.4","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.2.2","babel-jest":"^22.4.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","codecov":"3.1.0","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","eslint":"4.19.0","eslint-config-react-app":"2.1.0","eslint-plugin-import":"2.9.0","eslint-plugin-react":"7.7.0","jest":"^22.4.2","jest-enzyme":"6.0.1","jsdoc-to-markdown":"4.0.1","pre-commit":"^1.2.2","prettier":"^1.11.1","react":"^16.5.2","react-dom":"^16.5.2","rimraf":"^2.6.2","rollup":"^0.56.5","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"9.1.8","rollup-plugin-node-resolve":"3.4.0","semantic-release":"15.9.16","uglify-js":"^3.4.9"},"jest":{"coverageDirectory":"./coverage/","collectCoverage":true,"coveragePathIgnorePatterns":["/node_modules/","./src/__tests__/setup.js","./src/__tests__/common.js"],"setupTestFrameworkScriptFile":"./src/__tests__/setup.js","testMatch":["**/__tests__/**/*.test.js?(x)"],"testURL":"http://localhost"},"eslintConfig":{"parser":"babel-eslint","env":{"browser":true,"node":true},"plugins":["import","react"],"extends":["eslint:recommended","plugin:import/errors","plugin:react/recommended"]},"eslintIgnore":["lib/**","src/__tests__/**","coverage/**"],"publishConfig":{"tag":"alpha"},"release":{"verifyConditions":["@semantic-release/npm","@semantic-release/github","@semantic-release/git"],"generateNotes":["@semantic-release/release-notes-generator"],"prepare":[{"path":"@semantic-release/changelog","changelogFile":"docs/CHANGELOG.md","changelogTitle":"# Change Log"},"@semantic-release/npm",{"path":"@semantic-release/git","assets":["package.json","docs/CHANGELOG.md","docs/API.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"publish":["@semantic-release/npm","@semantic-release/github"]},"readme":"# React Async Call\r\n\r\n[![npm version][npm-badge]][npm]\r\n[![Build Status][build-badge]][build]\r\n[![Code Coverage][coverage-badge]][coverage]\r\n[![MIT License][license-badge]][license]\r\n[![size][size-badge]][unpkg-dist]\r\n[![gzip size][gzip-badge]][unpkg-dist]\r\n[![module formats: umd, cjs, and es][module-formats-badge]][unpkg-dist]\r\n\r\n## Overview\r\n\r\nDeclarative promise handling in React.\r\n\r\n## Motivation\r\n\r\nHandling promise-returning functions (for example, [`fetch`][fetch-api]) is not hard to do in React application. There are several packages like [holen][holen] or [React Request][react-request] for simplifying such kind of tasks but theirs authors try to impose their own vision on various aspects of data fetching. For instance, [React Request][react-request] has a cache for HTTP requests but what will happen if you decide to change caching strategy? React Async Call tries to sharpen the edges. This is minimalistic package that can be used not only for data fetching but also for handling any promise-returning functions.\r\n\r\n## Install\r\n\r\n### Using npm\r\n\r\n`npm i react-async-call --save`\r\n\r\nThen, use it as usual:\r\n\r\n```JS\r\n// using ES6 modules\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\n// using CommonJS modules\r\nvar createAsyncCallComponent = require('react-async-call').createAsyncCallComponent\r\n```\r\n\r\n### UMD build\r\n\r\nThe UMD build is also available on [unpkg][unpkg]:\r\n\r\n```HTML\r\n<script src=\"https://unpkg.com/react-async-call\"></script>\r\n```\r\n\r\nThe package is avalable on `window.ReactAsyncCall`\r\n\r\n## Usage\r\n\r\n### Basic Usage\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/y7349vl4oj)\r\n* [TypeScript Example](https://codesandbox.io/s/w76rq8jjx8)\r\n\r\n```jsx\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\nconst AsyncCall = createAsyncCallComponent(value => Promise.resolve(42))\r\n\r\nconst Example = () => (\r\n  <AsyncCall>\r\n    <AsyncCall.Running>\r\n      <div>Loading...</div>\r\n    </AsyncCall.Running>\r\n    <AsyncCall.Resolved>{({ result }) => <div>The result of function call is {result}</div>}</AsyncCall.Resolved>\r\n    <AsyncCall.Rejected>{({ rejectReason }) => <div>Error: {rejectReason}</div>}</AsyncCall.Rejected>\r\n  </AsyncCall>\r\n)\r\n```\r\n\r\n### Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/vn8qmr43yy)\r\n* [TypeScript Example](https://codesandbox.io/s/ryxwnkl34)\r\n\r\n### Incremental Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/mzzvlmj65y)\r\n* [TypeScript Example](https://codesandbox.io/s/5y3m6mrx9p)\r\n\r\n## API\r\n\r\n[See API reference here][api]\r\n\r\n## Change Log\r\n\r\n[You can find change log here][changelog]\r\n\r\n## Credits\r\n\r\nGreat thanks to [@kitos](https://github.com/kitos) and [@ventrz](https://github.com/ventrz) for their invaluable help, support and bright ideas!\r\n\r\n[npm-badge]: https://badge.fury.io/js/react-async-call.svg\r\n[npm]: https://www.npmjs.com/package/react-async-call\r\n[build-badge]: https://travis-ci.org/kuzn-ilya/react-async-call.svg?branch=master\r\n[build]: https://travis-ci.org/kuzn-ilya/react-async-call\r\n[coverage-badge]: https://codecov.io/gh/kuzn-ilya/react-async-call/branch/master/graph/badge.svg\r\n[coverage]: https://codecov.io/gh/kuzn-ilya/react-async-call\r\n[license-badge]: https://img.shields.io/npm/l/react-async-call.svg\r\n[license]: https://github.com/kuzn-ilya/react-async-call/blob/master/LICENSE\r\n[size-badge]: http://img.badgesize.io/https://unpkg.com/react-async-call/lib/index.umd.js?label=size\r\n[gzip-badge]: http://img.badgesize.io/https://unpkg.com/react-async-call/lib/index.umd.js?compression=gzip&label=gzip%20size\r\n[module-formats-badge]: https://img.shields.io/badge/module%20formats-umd%2C%20cjs%2C%20es-green.svg\r\n[unpkg-dist]: https://unpkg.com/react-async-call/lib/\r\n[unpkg]: https:/unpkg.com\r\n[changelog]: https://github.com/kuzn-ilya/react-async-call/blob/master/docs/CHANGELOG.md\r\n[api]: https://github.com/kuzn-ilya/react-async-call/blob/master/docs/API.md\r\n[fetch-api]: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API\r\n[holen]: https://github.com/tkh44/holen\r\n[react-request]: https://github.com/jamesplease/react-request","readmeFilename":"README.md","gitHead":"8cd56b83fe22f7291723ce9653a9613e9e173a7f","_id":"react-async-call@0.3.1-alpha.6","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"},"dist":{"integrity":"sha512-10dzkN53O6ejHGIAy2e17woh3ceqRZeu+F7/Ry+MQ5gqzHrKlfGC6CqjMw7VLFW4mWhZ4OcKdnaxyc83nhLxfg==","shasum":"2c9d699b126f5bafcaad33ced52b6ae50ca4458f","tarball":"https://registry.npmjs.org/react-async-call/-/react-async-call-0.3.1-alpha.6.tgz","fileCount":10,"unpackedSize":137152,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbvH2MCRA9TVsSAnZWagAAH8kP/A6/M4mphPe5tAT0Xb+R\nIS4m2LjME/VWNdV7u9UpS5S3oK93p89GDBSnxtvKfw4DFBaP4CBT141+XzHK\n+VYdf2y/EpPrhV8kU9x7sb1+W2q+0hdLyfd5UekdcJYm1UhL9OD226gi4OMx\nDatTA1BDlrw0nKZhMG9vHZx05zozLqQzq8Idbw6dMnBq69ly44FmQlL9jNGU\nN/Ko9F8i09KNYR+2WWmw7Xsdvqq6IvGkysX80cwIgs1NdOdP2J1+SaZtv8px\nFmZhXWU0/5SqsbX4WxiE9/GZuK344VUThPf0cWh3NDZNlnhRmS2PrIFsfMuH\nVD+3xQ6zVaRNthXeIb2AdmpzMgKbmIijDmSIueA0PZPwr9sHtqdKnt2zb5x0\nj62lUpe8lB0P9BvJsCPC+MEKR6msVM+BjhJxzfaYtNcmB/oLl6KKsGW5G4lK\ntCYl7Nii0+edQjudhyz6CiK2VMjT71nsVjBqym/1VKU/nXb0iWPfKzNV1FyF\n8B2m/jk7WZcpJCfSAVflxceg3+5dTK/ZYb1Ijc3pt8U6MBiTjP5pEJIKlx6e\nmt0sFT3QUba3qJ/PNCUcQK4TlmGh8anKUP+EuareP8BpaRrTC+LzLeTD0L/h\n0rk6Ckan+n1GElCjVooc+6GKwbmq7XRitzA0GIL+VjuwlcA+LLAANTxcOifU\nZe0F\r\n=H4oY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHiYUCAVMANXQuvPySVNFSnjzPz8fMC3gNljagF72c7OAiBTGgnimfVmmE0gklEvCD+8Oy3SlxgBYILrj1KlI8xoJA=="}]},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-call_0.3.1-alpha.6_1539079564214_0.27910584436554875"},"_hasShrinkwrap":false},"0.3.1-alpha.7":{"name":"react-async-call","version":"0.3.1-alpha.7","description":"Declarative promise handling in React","main":"lib/index.js","module":"lib/index.es.js","jsnext:main":"lib/index.es.js","umd:main":"lib/index.umd.js","unpkg":"lib/index.umd.js","author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/kuzn-ilya/react-async-call.git"},"license":"MIT","typings":"src/index.d.ts","keywords":["react","reactjs","render","props","promise","fetch"],"bugs":{"url":"https://github.com/kuzn-ilya/react-async-call/issues"},"homepage":"https://github.com/kuzn-ilya/react-async-call#readme","scripts":{"clean":"rimraf lib","build":"npm run clean && npm run rollup && npm run minify","docs":"jsdoc2md --name-format --separators --helper ./docs/helpers/isTypeDefinition.js --partial ./docs/partials/scope.hbs ./docs/partials/body.hbs ./docs/partials/params.hbs --template ./docs/API.hbs --heading-depth 3 ./src/*.js  > docs/API.md","eslint":"eslint ./","minify":"npm run minify:cjs && npm run minify:umd","minify:cjs":"uglifyjs lib/index.js -cm toplevel -o lib/index.js --source-map filename=lib/index.js.map","minify:umd":"uglifyjs lib/index.umd.js -cm toplevel -o lib/index.umd.js --source-map filename=lib/index.umd.js.map","test":"npm run eslint && jest src --coverage","test:watch":"npm run eslint && jest src --watch","format":"prettier --write **/*.{js,jsx,json,d.ts} !lib/** !.vscode/**","rollup":"rollup -c","release":"npm run test && npm run build && npm version patch && npm publish && git push --tags"},"pre-commit":["test"],"dependencies":{"fbjs":"0.8.0","prop-types":"^15.6.2"},"peerDependencies":{"react":"^16.0.0"},"devDependencies":{"@semantic-release/changelog":"3.0.0","@semantic-release/git":"7.0.4","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.2.2","babel-jest":"^22.4.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","codecov":"3.1.0","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","eslint":"4.19.0","eslint-config-react-app":"2.1.0","eslint-plugin-import":"2.9.0","eslint-plugin-react":"7.7.0","jest":"^22.4.2","jest-enzyme":"6.0.1","jsdoc-to-markdown":"4.0.1","pre-commit":"^1.2.2","prettier":"^1.11.1","react":"^16.5.2","react-dom":"^16.5.2","rimraf":"^2.6.2","rollup":"^0.56.5","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"9.1.8","rollup-plugin-node-resolve":"3.4.0","semantic-release":"15.9.16","uglify-js":"^3.4.9"},"jest":{"coverageDirectory":"./coverage/","collectCoverage":true,"coveragePathIgnorePatterns":["/node_modules/","./src/__tests__/setup.js","./src/__tests__/common.js"],"setupTestFrameworkScriptFile":"./src/__tests__/setup.js","testMatch":["**/__tests__/**/*.test.js?(x)"],"testURL":"http://localhost"},"eslintConfig":{"parser":"babel-eslint","env":{"browser":true,"node":true},"plugins":["import","react"],"extends":["eslint:recommended","plugin:import/errors","plugin:react/recommended"]},"eslintIgnore":["lib/**","src/__tests__/**","coverage/**"],"publishConfig":{"tag":"alpha"},"release":{"verifyConditions":["@semantic-release/npm","@semantic-release/github","@semantic-release/git"],"generateNotes":["@semantic-release/release-notes-generator"],"prepare":[{"path":"@semantic-release/changelog","changelogFile":"docs/CHANGELOG.md","changelogTitle":"# Change Log"},"@semantic-release/npm",{"path":"@semantic-release/git","assets":["package.json","docs/CHANGELOG.md","docs/API.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"publish":["@semantic-release/npm","@semantic-release/github"]},"readme":"# React Async Call\r\n\r\n[![npm version][npm-badge]][npm]\r\n[![Build Status][build-badge]][build]\r\n[![Code Coverage][coverage-badge]][coverage]\r\n[![MIT License][license-badge]][license]\r\n[![size][size-badge]][unpkg-dist]\r\n[![gzip size][gzip-badge]][unpkg-dist]\r\n[![module formats: umd, cjs, and es][module-formats-badge]][unpkg-dist]\r\n\r\n## Overview\r\n\r\nDeclarative promise handling in React.\r\n\r\n## Motivation\r\n\r\nHandling promise-returning functions (for example, [`fetch`][fetch-api]) is not hard to do in React application. There are several packages like [holen][holen] or [React Request][react-request] for simplifying such kind of tasks but theirs authors try to impose their own vision on various aspects of data fetching. For instance, [React Request][react-request] has a cache for HTTP requests but what will happen if you decide to change caching strategy? React Async Call tries to sharpen the edges. This is minimalistic package that can be used not only for data fetching but also for handling any promise-returning functions.\r\n\r\n## Install\r\n\r\n### Using npm\r\n\r\n`npm i react-async-call --save`\r\n\r\nThen, use it as usual:\r\n\r\n```JS\r\n// using ES6 modules\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\n// using CommonJS modules\r\nvar createAsyncCallComponent = require('react-async-call').createAsyncCallComponent\r\n```\r\n\r\n### UMD build\r\n\r\nThe UMD build is also available on [unpkg][unpkg]:\r\n\r\n```HTML\r\n<script src=\"https://unpkg.com/react-async-call\"></script>\r\n```\r\n\r\nThe package is avalable on `window.ReactAsyncCall`\r\n\r\n## Usage\r\n\r\n### Basic Usage\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/y7349vl4oj)\r\n* [TypeScript Example](https://codesandbox.io/s/w76rq8jjx8)\r\n\r\n```jsx\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\nconst AsyncCall = createAsyncCallComponent(value => Promise.resolve(42))\r\n\r\nconst Example = () => (\r\n  <AsyncCall>\r\n    <AsyncCall.Running>\r\n      <div>Loading...</div>\r\n    </AsyncCall.Running>\r\n    <AsyncCall.Resolved>{({ result }) => <div>The result of function call is {result}</div>}</AsyncCall.Resolved>\r\n    <AsyncCall.Rejected>{({ rejectReason }) => <div>Error: {rejectReason}</div>}</AsyncCall.Rejected>\r\n  </AsyncCall>\r\n)\r\n```\r\n\r\n### Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/vn8qmr43yy)\r\n* [TypeScript Example](https://codesandbox.io/s/ryxwnkl34)\r\n\r\n### Incremental Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/mzzvlmj65y)\r\n* [TypeScript Example](https://codesandbox.io/s/5y3m6mrx9p)\r\n\r\n## API\r\n\r\n[See API reference here][api]\r\n\r\n## Change Log\r\n\r\n[You can find change log here][changelog]\r\n\r\n## Credits\r\n\r\nGreat thanks to [@kitos](https://github.com/kitos) and [@ventrz](https://github.com/ventrz) for their invaluable help, support and bright ideas!\r\n\r\n[npm-badge]: https://badge.fury.io/js/react-async-call.svg\r\n[npm]: https://www.npmjs.com/package/react-async-call\r\n[build-badge]: https://travis-ci.org/kuzn-ilya/react-async-call.svg?branch=master\r\n[build]: https://travis-ci.org/kuzn-ilya/react-async-call\r\n[coverage-badge]: https://codecov.io/gh/kuzn-ilya/react-async-call/branch/master/graph/badge.svg\r\n[coverage]: https://codecov.io/gh/kuzn-ilya/react-async-call\r\n[license-badge]: https://img.shields.io/npm/l/react-async-call.svg\r\n[license]: https://github.com/kuzn-ilya/react-async-call/blob/master/LICENSE\r\n[size-badge]: http://img.badgesize.io/https://unpkg.com/react-async-call/lib/index.umd.js?label=size\r\n[gzip-badge]: http://img.badgesize.io/https://unpkg.com/react-async-call/lib/index.umd.js?compression=gzip&label=gzip%20size\r\n[module-formats-badge]: https://img.shields.io/badge/module%20formats-umd%2C%20cjs%2C%20es-green.svg\r\n[unpkg-dist]: https://unpkg.com/react-async-call/lib/\r\n[unpkg]: https:/unpkg.com\r\n[changelog]: https://github.com/kuzn-ilya/react-async-call/blob/master/docs/CHANGELOG.md\r\n[api]: https://github.com/kuzn-ilya/react-async-call/blob/master/docs/API.md\r\n[fetch-api]: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API\r\n[holen]: https://github.com/tkh44/holen\r\n[react-request]: https://github.com/jamesplease/react-request","readmeFilename":"README.md","gitHead":"8cd56b83fe22f7291723ce9653a9613e9e173a7f","_id":"react-async-call@0.3.1-alpha.7","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"},"dist":{"integrity":"sha512-HT5yqXoO90D+C3oCin4657lbdQMYRhMEVX+RzglV88szil42D/VFC5Z1Rg2ffKRY/FOAvqfhAKytEaJPAmstuA==","shasum":"a44912cf9dd0e02caeb1b182aebd67dd7705b5fe","tarball":"https://registry.npmjs.org/react-async-call/-/react-async-call-0.3.1-alpha.7.tgz","fileCount":10,"unpackedSize":137083,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbvH7SCRA9TVsSAnZWagAAqEgP/0OEqt77ZrRW4xavIHvn\nN2M9nLCBRbU0i+wNDZEixULXcEkdaEj+XQMntv72qtw4/aZ51eDg15saa2D2\nFjgICD3ruqn35yQo5sylykSowExNS/YJ6AS6q2kjlnhiFmugDBzhHqM3+tLD\nTF1w79rRWpOTeb5AJkSPUMpfy2E7IgO5KUpA7+WrHaLhYUFfgpo7sXPIZ34k\nYnYW8ocBmF86IV19myVGMjk6IFikMHWpu2BdJ8xROgqU0ONzokIgc0iAh5XI\npf6IGxEJyz527YYPuooy2pYOPZPi7joKWYQdAu/4Jn+rLIdHbLoPl7xkZrkN\nS8U/TqY4K/JPKDl5J5oxRlT5K/KEnEAQ+09CP4ZRJKaf+oJkIzKFBQfY1d7q\nry6rGA9eHDfYFB/N8mJJK9YB1IEAKembDCqS9xD42qwAR+NVdYx4XSEn86Vd\nba39arE0/5wuFZS/OGWNdn6BpKH43DmZ9UpRA6bD1TMjlUgWqg5cNYf5SgXB\nbsRCxYD+r/La5aS9vQfIa1jt+y8FNcXiK/7W2Rf1OGNYTJXCwNSZCpB4l1s4\nx1aXDylaYty5Ks5dsm3ElTn73YyIEfI3dUCFLC3TM+BG2gAM7dZ+D7ZtdObp\ncYEveCfnrQrxevRaRpIYX2pNu3FbkOvGXBgtvEGetaE4du6VK+GuvLTnN7Nh\nOZCF\r\n=NJjl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDz1ldOiW+7ciIBm7LXIRAyB29fbTTETi+UYJs3VaX0swIhAMsndayywMc8X5ElOAbChmLPBlux4wMdtcqY+RCSOMIN"}]},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-call_0.3.1-alpha.7_1539079889637_0.544671626896879"},"_hasShrinkwrap":false},"0.3.1-alpha.8":{"name":"react-async-call","version":"0.3.1-alpha.8","description":"Declarative promise handling in React","main":"lib/index.js","module":"lib/index.es.js","jsnext:main":"lib/index.es.js","umd:main":"lib/index.umd.js","unpkg":"lib/index.umd.js","author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/kuzn-ilya/react-async-call.git"},"license":"MIT","typings":"src/index.d.ts","keywords":["react","reactjs","render","props","promise","fetch"],"bugs":{"url":"https://github.com/kuzn-ilya/react-async-call/issues"},"homepage":"https://github.com/kuzn-ilya/react-async-call#readme","scripts":{"clean":"rimraf lib","build":"npm run clean && npm run rollup && npm run minify","docs":"jsdoc2md --name-format --separators --helper ./docs/helpers/isTypeDefinition.js --partial ./docs/partials/scope.hbs ./docs/partials/body.hbs ./docs/partials/params.hbs --template ./docs/API.hbs --heading-depth 3 ./src/*.js  > docs/API.md","eslint":"eslint ./","minify":"npm run minify:cjs && npm run minify:umd","minify:cjs":"uglifyjs lib/index.js -cm toplevel -o lib/index.js --source-map filename=lib/index.js.map","minify:umd":"uglifyjs lib/index.umd.js -cm toplevel -o lib/index.umd.js --source-map filename=lib/index.umd.js.map","test":"npm run eslint && jest src --coverage","test:watch":"npm run eslint && jest src --watch","format":"prettier --write **/*.{js,jsx,json,d.ts} !lib/** !.vscode/**","rollup":"rollup -c","release":"npm run test && npm run build && npm version patch && npm publish && git push --tags"},"pre-commit":["test"],"dependencies":{"fbjs":"0.8.0","prop-types":"^15.6.2"},"peerDependencies":{"react":"^16.0.0"},"devDependencies":{"@semantic-release/changelog":"3.0.0","@semantic-release/git":"7.0.4","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.2.2","babel-jest":"^22.4.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","codecov":"3.1.0","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","eslint":"4.19.0","eslint-config-react-app":"2.1.0","eslint-plugin-import":"2.9.0","eslint-plugin-react":"7.7.0","jest":"^22.4.2","jest-enzyme":"6.0.1","jsdoc-to-markdown":"4.0.1","pre-commit":"^1.2.2","prettier":"^1.11.1","react":"^16.5.2","react-dom":"^16.5.2","rimraf":"^2.6.2","rollup":"^0.56.5","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"9.1.8","rollup-plugin-node-resolve":"3.4.0","semantic-release":"15.9.16","uglify-js":"^3.4.9"},"jest":{"coverageDirectory":"./coverage/","collectCoverage":true,"coveragePathIgnorePatterns":["/node_modules/","./src/__tests__/setup.js","./src/__tests__/common.js"],"setupTestFrameworkScriptFile":"./src/__tests__/setup.js","testMatch":["**/__tests__/**/*.test.js?(x)"],"testURL":"http://localhost"},"eslintConfig":{"parser":"babel-eslint","env":{"browser":true,"node":true},"plugins":["import","react"],"extends":["eslint:recommended","plugin:import/errors","plugin:react/recommended"]},"eslintIgnore":["lib/**","src/__tests__/**","coverage/**"],"publishConfig":{"tag":"alpha"},"release":{"verifyConditions":["@semantic-release/npm","@semantic-release/github","@semantic-release/git"],"generateNotes":["@semantic-release/release-notes-generator"],"prepare":[{"path":"@semantic-release/changelog","changelogFile":"docs/CHANGELOG.md","changelogTitle":"# Change Log"},"@semantic-release/npm",{"path":"@semantic-release/git","assets":["package.json","docs/CHANGELOG.md","docs/API.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"publish":["@semantic-release/npm","@semantic-release/github"]},"readme":"# React Async Call\r\n\r\n[![npm version][npm-badge]][npm]\r\n[![Build Status][build-badge]][build]\r\n[![Code Coverage][coverage-badge]][coverage]\r\n[![MIT License][license-badge]][license]\r\n[![size][size-badge]][unpkg-dist]\r\n[![gzip size][gzip-badge]][unpkg-dist]\r\n[![module formats: umd, cjs, and es][module-formats-badge]][unpkg-dist]\r\n\r\n## Overview\r\n\r\nDeclarative promise handling in React.\r\n\r\n## Motivation\r\n\r\nHandling promise-returning functions (for example, [`fetch`][fetch-api]) is not hard to do in React application. There are several packages like [holen][holen] or [React Request][react-request] for simplifying such kind of tasks but theirs authors try to impose their own vision on various aspects of data fetching. For instance, [React Request][react-request] has a cache for HTTP requests but what will happen if you decide to change caching strategy? React Async Call tries to sharpen the edges. This is minimalistic package that can be used not only for data fetching but also for handling any promise-returning functions.\r\n\r\n## Install\r\n\r\n### Using npm\r\n\r\n`npm i react-async-call --save`\r\n\r\nThen, use it as usual:\r\n\r\n```JS\r\n// using ES6 modules\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\n// using CommonJS modules\r\nvar createAsyncCallComponent = require('react-async-call').createAsyncCallComponent\r\n```\r\n\r\n### UMD build\r\n\r\nThe UMD build is also available on [unpkg][unpkg]:\r\n\r\n```HTML\r\n<script src=\"https://unpkg.com/react-async-call\"></script>\r\n```\r\n\r\nThe package is avalable on `window.ReactAsyncCall`\r\n\r\n## Usage\r\n\r\n### Basic Usage\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/y7349vl4oj)\r\n* [TypeScript Example](https://codesandbox.io/s/w76rq8jjx8)\r\n\r\n```jsx\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\nconst AsyncCall = createAsyncCallComponent(value => Promise.resolve(42))\r\n\r\nconst Example = () => (\r\n  <AsyncCall>\r\n    <AsyncCall.Running>\r\n      <div>Loading...</div>\r\n    </AsyncCall.Running>\r\n    <AsyncCall.Resolved>{({ result }) => <div>The result of function call is {result}</div>}</AsyncCall.Resolved>\r\n    <AsyncCall.Rejected>{({ rejectReason }) => <div>Error: {rejectReason}</div>}</AsyncCall.Rejected>\r\n  </AsyncCall>\r\n)\r\n```\r\n\r\n### Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/vn8qmr43yy)\r\n* [TypeScript Example](https://codesandbox.io/s/ryxwnkl34)\r\n\r\n### Incremental Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/mzzvlmj65y)\r\n* [TypeScript Example](https://codesandbox.io/s/5y3m6mrx9p)\r\n\r\n## API\r\n\r\n[See API reference here][api]\r\n\r\n## Change Log\r\n\r\n[You can find change log here][changelog]\r\n\r\n## Credits\r\n\r\nGreat thanks to [@kitos](https://github.com/kitos) and [@ventrz](https://github.com/ventrz) for their invaluable help, support and bright ideas!\r\n\r\n[npm-badge]: https://badge.fury.io/js/react-async-call.svg\r\n[npm]: https://www.npmjs.com/package/react-async-call\r\n[build-badge]: https://travis-ci.org/kuzn-ilya/react-async-call.svg?branch=master\r\n[build]: https://travis-ci.org/kuzn-ilya/react-async-call\r\n[coverage-badge]: https://codecov.io/gh/kuzn-ilya/react-async-call/branch/master/graph/badge.svg\r\n[coverage]: https://codecov.io/gh/kuzn-ilya/react-async-call\r\n[license-badge]: https://img.shields.io/npm/l/react-async-call.svg\r\n[license]: https://github.com/kuzn-ilya/react-async-call/blob/master/LICENSE\r\n[size-badge]: http://img.badgesize.io/https://unpkg.com/react-async-call/lib/index.umd.js?label=size\r\n[gzip-badge]: http://img.badgesize.io/https://unpkg.com/react-async-call/lib/index.umd.js?compression=gzip&label=gzip%20size\r\n[module-formats-badge]: https://img.shields.io/badge/module%20formats-umd%2C%20cjs%2C%20es-green.svg\r\n[unpkg-dist]: https://unpkg.com/react-async-call/lib/\r\n[unpkg]: https:/unpkg.com\r\n[changelog]: https://github.com/kuzn-ilya/react-async-call/blob/master/docs/CHANGELOG.md\r\n[api]: https://github.com/kuzn-ilya/react-async-call/blob/master/docs/API.md\r\n[fetch-api]: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API\r\n[holen]: https://github.com/tkh44/holen\r\n[react-request]: https://github.com/jamesplease/react-request","readmeFilename":"README.md","gitHead":"8cd56b83fe22f7291723ce9653a9613e9e173a7f","_id":"react-async-call@0.3.1-alpha.8","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"},"dist":{"integrity":"sha512-qcAH47ZFxvQzKZduZGTl4pDGCKljK2OJXJ0BXUnluUOGX9i2ZJycvwaAKGwRpFPlaFDInICTA7TU2nzgxAGuWw==","shasum":"914c38a002c804fcb19d9e1410aad3a8da115760","tarball":"https://registry.npmjs.org/react-async-call/-/react-async-call-0.3.1-alpha.8.tgz","fileCount":10,"unpackedSize":137354,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbvICCCRA9TVsSAnZWagAAIAIQAKMMc1UWZEH8a9yd39Yt\n0tpiUQ6GjD3/S8rUyJIg13LelE/IhirtrAKjtblWvBM9LgB++wixRdU9tjK3\n2CMELwdfC8HngwW6Axjodbr49f1adu6Qyu8n2pY7iFZ2jW/gVQIup/gPzzcJ\ngVjqKH4pwGItemehhG/E0SdE/GVW9iB3dn75rTgvHoOCS2PEBecBnNOdEMjs\nHMouV5exP6w2ottsna/Mrro6NQjSsfVXCQmb0B4QVdC7eY2mStRrnDDTwEgc\nO23MBcy4P674vieZXhOmN1Dl6Qs+mgpjD8AWVncfpt4GG3WwnlB9clUWZo7l\nDIiuyjm+J6R0HxL6TmrXtsHRWKYRCUmN+wTyIDO1ynDCjbO5OrA+WreAx3Sz\nR/cZToRNNGO6T+39mC8q0S1wPwsY4yWEBtiW5GDacXsahZByFzbBMoeL5aVQ\nYH/dkqBtU+XmBBSv0jTnpRgbsdDu5GsVlfK3cvJFaPpi44AOLUEdqGf0JQze\n8Z5cZoqavCYCrhVIztdcfDv8sCcdCC2eIh9GuHsSFyr0CwfdxRNdwxPCfrvi\nUzATgxVBA4G80dIIoHIUatrtpuxpJc2kvoCmB5ogJw8J8wL1mt+0XnMlNvs/\n4YWUQdWTiFJBmUDjcsjUcoKmQhlv2XAc9L+9ihS6u4kvkNvKLfwFSjZlMYxZ\nkQF+\r\n=yYNc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAwl79WvkN5Y7B7EapUz9SdmzHsdURjGr5blBqARKP+VAiEAuLjoQWB++Gw3WmxOzLzDFk6mS9FHm0Gru6CCvb7DxLQ="}]},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-call_0.3.1-alpha.8_1539080321562_0.583599212318989"},"_hasShrinkwrap":false},"0.3.1-alpha.9":{"name":"react-async-call","version":"0.3.1-alpha.9","description":"Declarative promise handling in React","main":"lib/index.js","module":"lib/index.es.js","jsnext:main":"lib/index.es.js","umd:main":"lib/index.umd.js","unpkg":"lib/index.umd.js","author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/kuzn-ilya/react-async-call.git"},"license":"MIT","typings":"src/index.d.ts","keywords":["react","reactjs","render","props","promise","fetch"],"bugs":{"url":"https://github.com/kuzn-ilya/react-async-call/issues"},"homepage":"https://github.com/kuzn-ilya/react-async-call#readme","scripts":{"clean":"rimraf lib","build":"npm run clean && npm run rollup && npm run minify","docs":"jsdoc2md --name-format --separators --helper ./docs/helpers/isTypeDefinition.js --partial ./docs/partials/scope.hbs ./docs/partials/body.hbs ./docs/partials/params.hbs --template ./docs/API.hbs --heading-depth 3 ./src/*.js  > docs/API.md","eslint":"eslint ./","minify":"npm run minify:cjs && npm run minify:umd","minify:cjs":"uglifyjs lib/index.js -cm toplevel -o lib/index.js --source-map filename=lib/index.js.map","minify:umd":"uglifyjs lib/index.umd.js -cm toplevel -o lib/index.umd.js --source-map filename=lib/index.umd.js.map","test":"npm run eslint && jest src --coverage","test:watch":"npm run eslint && jest src --watch","format":"prettier --write **/*.{js,jsx,json,d.ts} !lib/** !.vscode/**","rollup":"rollup -c","release":"npm run test && npm run build && npm version patch && npm publish && git push --tags"},"pre-commit":["test"],"dependencies":{"fbjs":"0.8.0","prop-types":"^15.6.2"},"peerDependencies":{"react":"^16.0.0"},"devDependencies":{"@semantic-release/changelog":"3.0.0","@semantic-release/git":"7.0.4","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.2.2","babel-jest":"^22.4.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","codecov":"3.1.0","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","eslint":"4.19.0","eslint-config-react-app":"2.1.0","eslint-plugin-import":"2.9.0","eslint-plugin-react":"7.7.0","jest":"^22.4.2","jest-enzyme":"6.0.1","jsdoc-to-markdown":"4.0.1","pre-commit":"^1.2.2","prettier":"^1.11.1","react":"^16.5.2","react-dom":"^16.5.2","rimraf":"^2.6.2","rollup":"^0.56.5","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"9.1.8","rollup-plugin-node-resolve":"3.4.0","semantic-release":"15.9.16","uglify-js":"^3.4.9"},"jest":{"coverageDirectory":"./coverage/","collectCoverage":true,"coveragePathIgnorePatterns":["/node_modules/","./src/__tests__/setup.js","./src/__tests__/common.js"],"setupTestFrameworkScriptFile":"./src/__tests__/setup.js","testMatch":["**/__tests__/**/*.test.js?(x)"],"testURL":"http://localhost"},"eslintConfig":{"parser":"babel-eslint","env":{"browser":true,"node":true},"plugins":["import","react"],"extends":["eslint:recommended","plugin:import/errors","plugin:react/recommended"]},"eslintIgnore":["lib/**","src/__tests__/**","coverage/**"],"publishConfig":{"tag":"alpha"},"release":{"verifyConditions":["@semantic-release/npm","@semantic-release/github","@semantic-release/git"],"generateNotes":["@semantic-release/release-notes-generator"],"prepare":[{"path":"@semantic-release/changelog","changelogFile":"docs/CHANGELOG.md","changelogTitle":"# Change Log"},"@semantic-release/npm",{"path":"@semantic-release/git","assets":["package.json","docs/CHANGELOG.md","docs/API.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"publish":["@semantic-release/npm","@semantic-release/github"]},"readme":"# React Async Call\r\n\r\n[![npm version][npm-badge]][npm]\r\n[![Build Status][build-badge]][build]\r\n[![Code Coverage][coverage-badge]][coverage]\r\n[![MIT License][license-badge]][license]\r\n[![size][size-badge]][unpkg-dist]\r\n[![gzip size][gzip-badge]][unpkg-dist]\r\n[![module formats: umd, cjs, and es][module-formats-badge]][unpkg-dist]\r\n\r\n## Overview\r\n\r\nDeclarative promise handling in React.\r\n\r\n## Motivation\r\n\r\nHandling promise-returning functions (for example, [`fetch`][fetch-api]) is not hard to do in React application. There are several packages like [holen][holen] or [React Request][react-request] for simplifying such kind of tasks but theirs authors try to impose their own vision on various aspects of data fetching. For instance, [React Request][react-request] has a cache for HTTP requests but what will happen if you decide to change caching strategy? React Async Call tries to sharpen the edges. This is minimalistic package that can be used not only for data fetching but also for handling any promise-returning functions.\r\n\r\n## Install\r\n\r\n### Using npm\r\n\r\n`npm i react-async-call --save`\r\n\r\nThen, use it as usual:\r\n\r\n```JS\r\n// using ES6 modules\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\n// using CommonJS modules\r\nvar createAsyncCallComponent = require('react-async-call').createAsyncCallComponent\r\n```\r\n\r\n### UMD build\r\n\r\nThe UMD build is also available on [unpkg][unpkg]:\r\n\r\n```HTML\r\n<script src=\"https://unpkg.com/react-async-call\"></script>\r\n```\r\n\r\nThe package is avalable on `window.ReactAsyncCall`\r\n\r\n## Usage\r\n\r\n### Basic Usage\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/y7349vl4oj)\r\n* [TypeScript Example](https://codesandbox.io/s/w76rq8jjx8)\r\n\r\n```jsx\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\nconst AsyncCall = createAsyncCallComponent(value => Promise.resolve(42))\r\n\r\nconst Example = () => (\r\n  <AsyncCall>\r\n    <AsyncCall.Running>\r\n      <div>Loading...</div>\r\n    </AsyncCall.Running>\r\n    <AsyncCall.Resolved>{({ result }) => <div>The result of function call is {result}</div>}</AsyncCall.Resolved>\r\n    <AsyncCall.Rejected>{({ rejectReason }) => <div>Error: {rejectReason}</div>}</AsyncCall.Rejected>\r\n  </AsyncCall>\r\n)\r\n```\r\n\r\n### Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/vn8qmr43yy)\r\n* [TypeScript Example](https://codesandbox.io/s/ryxwnkl34)\r\n\r\n### Incremental Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/mzzvlmj65y)\r\n* [TypeScript Example](https://codesandbox.io/s/5y3m6mrx9p)\r\n\r\n## API\r\n\r\n[See API reference here][api]\r\n\r\n## Change Log\r\n\r\n[You can find change log here][changelog]\r\n\r\n## Credits\r\n\r\nGreat thanks to [@kitos](https://github.com/kitos) and [@ventrz](https://github.com/ventrz) for their invaluable help, support and bright ideas!\r\n\r\n[npm-badge]: https://badge.fury.io/js/react-async-call.svg\r\n[npm]: https://www.npmjs.com/package/react-async-call\r\n[build-badge]: https://travis-ci.org/kuzn-ilya/react-async-call.svg?branch=master\r\n[build]: https://travis-ci.org/kuzn-ilya/react-async-call\r\n[coverage-badge]: https://codecov.io/gh/kuzn-ilya/react-async-call/branch/master/graph/badge.svg\r\n[coverage]: https://codecov.io/gh/kuzn-ilya/react-async-call\r\n[license-badge]: https://img.shields.io/npm/l/react-async-call.svg\r\n[license]: https://github.com/kuzn-ilya/react-async-call/blob/master/LICENSE\r\n[size-badge]: http://img.badgesize.io/https://unpkg.com/react-async-call/lib/index.umd.js?label=size\r\n[gzip-badge]: http://img.badgesize.io/https://unpkg.com/react-async-call/lib/index.umd.js?compression=gzip&label=gzip%20size\r\n[module-formats-badge]: https://img.shields.io/badge/module%20formats-umd%2C%20cjs%2C%20es-green.svg\r\n[unpkg-dist]: https://unpkg.com/react-async-call/lib/\r\n[unpkg]: https:/unpkg.com\r\n[changelog]: https://github.com/kuzn-ilya/react-async-call/blob/master/docs/CHANGELOG.md\r\n[api]: https://github.com/kuzn-ilya/react-async-call/blob/master/docs/API.md\r\n[fetch-api]: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API\r\n[holen]: https://github.com/tkh44/holen\r\n[react-request]: https://github.com/jamesplease/react-request","readmeFilename":"README.md","gitHead":"f6f90962fc849991ff879fce9418b5e0c751a183","_id":"react-async-call@0.3.1-alpha.9","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"},"dist":{"integrity":"sha512-8t3p0oP+fV2FmHFZ2O592RjNgIJz5LOPpZqkInIKtffcF07U8BJt/OkdHgbxb2CFAQv49sT2p6CseNaBjddDPw==","shasum":"3a0c131f0e3b4233beb421727efb52bcb03cff87","tarball":"https://registry.npmjs.org/react-async-call/-/react-async-call-0.3.1-alpha.9.tgz","fileCount":10,"unpackedSize":137704,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbvIsQCRA9TVsSAnZWagAAVRMP/0PEFBuXqMKLaX779Kcd\nQpM5FOR7kepvKDrwIOgctjS4LPGFoCSluHxA5pt0qNTh0hG0kXtkdarCvjQp\nUEYq7t0Mgadttlaw5oDd3sKEWlFdMvlh/iFEa8tT01aHj4O86aPrtfEya/vF\ndOQGscElOAre3vtmLGOf8tB5rGRINpIn56dY53ovKlSxT+R8HJkmkp/3uY0x\nKItcnzkshe72WutCAvTlhGbL0lSbUzTStLGtsGvt6Aj2ZLYWRCqMqKgduCfc\nolr+wkTMfcPUubvP74MCaX2cBfT+op0Xfuym6tRppoSfD4KSe5FSnjZ8SdFh\nek4KQa1JJTUMVNKSqUiq2T+ZJX4hyG5HrjM5Jwtlt7obLOD9ByII7msjQJPg\nV5GvY3QVnBKrTUsKnA5+oHDwSpffr1Ho8eC6OVKsVGa88FXT2yLsGqQLSZGW\n8W/fWaLo1GjIYCNgQzgUlHiT3z1QBCw3fdki85kD8VY18yhC5v+rhvGpNE1G\nn5ZMUKcz2jU9XVrvF1KoPgjUXMFa47PPbIEePoFIRbu0M0O4s/PFA6H77sXC\nm16eMCXP3W/y+1oJnUYNepWT97bUovGmEGgejnXOqup1BJZ/Qzp48DirgVxA\nH9CetEW9uP7ve9nt6RQRIO/6UxO1bIH2r+4GDRxp8B7PQ80GSaYkEN51y+Yr\nrgr9\r\n=97HB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCqqiGIcyVNU7E4E2T2VlBHQWqohTfx79dFRRxbD58qPQIhALe+SSJoMoHhFeYS1RGDkCL7DAURs4wB5UQr99F/NCgU"}]},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-call_0.3.1-alpha.9_1539083023721_0.012274350369121168"},"_hasShrinkwrap":false},"0.3.1-alpha.10":{"name":"react-async-call","version":"0.3.1-alpha.10","description":"Declarative promise handling in React","main":"lib/index.js","module":"lib/index.es.js","jsnext:main":"lib/index.es.js","umd:main":"lib/index.umd.js","unpkg":"lib/index.umd.js","author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/kuzn-ilya/react-async-call.git"},"license":"MIT","typings":"src/index.d.ts","keywords":["react","reactjs","render","props","promise","fetch"],"bugs":{"url":"https://github.com/kuzn-ilya/react-async-call/issues"},"homepage":"https://github.com/kuzn-ilya/react-async-call#readme","scripts":{"clean":"rimraf lib","build":"npm run clean && npm run rollup && npm run minify","docs":"jsdoc2md --name-format --separators --helper ./docs/helpers/isTypeDefinition.js --partial ./docs/partials/scope.hbs ./docs/partials/body.hbs ./docs/partials/params.hbs --template ./docs/API.hbs --heading-depth 3 ./src/*.js  > docs/API.md","eslint":"eslint ./","minify":"npm run minify:cjs && npm run minify:umd","minify:cjs":"uglifyjs lib/index.js -cm toplevel -o lib/index.js --source-map filename=lib/index.js.map","minify:umd":"uglifyjs lib/index.umd.js -cm toplevel -o lib/index.umd.js --source-map filename=lib/index.umd.js.map","test":"npm run eslint && jest src --coverage","test:watch":"npm run eslint && jest src --watch","format":"prettier --write **/*.{js,jsx,json,d.ts} !lib/** !.vscode/**","rollup":"rollup -c","release":"npm run test && npm run build && npm version patch && npm publish && git push --tags"},"pre-commit":["test"],"dependencies":{"fbjs":"0.8.0","prop-types":"^15.6.2"},"peerDependencies":{"react":"^16.0.0"},"devDependencies":{"@semantic-release/changelog":"3.0.0","@semantic-release/git":"7.0.4","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.2.2","babel-jest":"^22.4.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","codecov":"3.1.0","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","eslint":"4.19.0","eslint-config-react-app":"2.1.0","eslint-plugin-import":"2.9.0","eslint-plugin-react":"7.7.0","jest":"^22.4.2","jest-enzyme":"6.0.1","jsdoc-to-markdown":"4.0.1","pre-commit":"^1.2.2","prettier":"^1.11.1","react":"^16.5.2","react-dom":"^16.5.2","rimraf":"^2.6.2","rollup":"^0.56.5","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"9.1.8","rollup-plugin-node-resolve":"3.4.0","semantic-release":"15.9.16","uglify-js":"^3.4.9"},"jest":{"coverageDirectory":"./coverage/","collectCoverage":true,"coveragePathIgnorePatterns":["/node_modules/","./src/__tests__/setup.js","./src/__tests__/common.js"],"setupTestFrameworkScriptFile":"./src/__tests__/setup.js","testMatch":["**/__tests__/**/*.test.js?(x)"],"testURL":"http://localhost"},"eslintConfig":{"parser":"babel-eslint","env":{"browser":true,"node":true},"plugins":["import","react"],"extends":["eslint:recommended","plugin:import/errors","plugin:react/recommended"]},"eslintIgnore":["lib/**","src/__tests__/**","coverage/**"],"publishConfig":{"tag":"alpha"},"release":{"verifyConditions":["@semantic-release/npm","@semantic-release/github","@semantic-release/git"],"generateNotes":["@semantic-release/release-notes-generator"],"prepare":[{"path":"@semantic-release/changelog","changelogFile":"docs/CHANGELOG.md","changelogTitle":"# Change Log"},"@semantic-release/npm",{"path":"@semantic-release/git","assets":["package.json","docs/CHANGELOG.md","docs/API.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"publish":["@semantic-release/npm","@semantic-release/github"]},"readme":"# React Async Call\r\n\r\n[![npm version][npm-badge]][npm]\r\n[![Build Status][build-badge]][build]\r\n[![Code Coverage][coverage-badge]][coverage]\r\n[![MIT License][license-badge]][license]\r\n[![size][size-badge]][unpkg-dist]\r\n[![gzip size][gzip-badge]][unpkg-dist]\r\n[![module formats: umd, cjs, and es][module-formats-badge]][unpkg-dist]\r\n\r\n## Overview\r\n\r\nDeclarative promise handling in React.\r\n\r\n## Motivation\r\n\r\nHandling promise-returning functions (for example, [`fetch`][fetch-api]) is not hard to do in React application. There are several packages like [holen][holen] or [React Request][react-request] for simplifying such kind of tasks but theirs authors try to impose their own vision on various aspects of data fetching. For instance, [React Request][react-request] has a cache for HTTP requests but what will happen if you decide to change caching strategy? React Async Call tries to sharpen the edges. This is minimalistic package that can be used not only for data fetching but also for handling any promise-returning functions.\r\n\r\n## Install\r\n\r\n### Using npm\r\n\r\n`npm i react-async-call --save`\r\n\r\nThen, use it as usual:\r\n\r\n```JS\r\n// using ES6 modules\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\n// using CommonJS modules\r\nvar createAsyncCallComponent = require('react-async-call').createAsyncCallComponent\r\n```\r\n\r\n### UMD build\r\n\r\nThe UMD build is also available on [unpkg][unpkg]:\r\n\r\n```HTML\r\n<script src=\"https://unpkg.com/react-async-call\"></script>\r\n```\r\n\r\nThe package is avalable on `window.ReactAsyncCall`\r\n\r\n## Usage\r\n\r\n### Basic Usage\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/y7349vl4oj)\r\n* [TypeScript Example](https://codesandbox.io/s/w76rq8jjx8)\r\n\r\n```jsx\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\nconst AsyncCall = createAsyncCallComponent(value => Promise.resolve(42))\r\n\r\nconst Example = () => (\r\n  <AsyncCall>\r\n    <AsyncCall.Running>\r\n      <div>Loading...</div>\r\n    </AsyncCall.Running>\r\n    <AsyncCall.Resolved>{({ result }) => <div>The result of function call is {result}</div>}</AsyncCall.Resolved>\r\n    <AsyncCall.Rejected>{({ rejectReason }) => <div>Error: {rejectReason}</div>}</AsyncCall.Rejected>\r\n  </AsyncCall>\r\n)\r\n```\r\n\r\n### Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/vn8qmr43yy)\r\n* [TypeScript Example](https://codesandbox.io/s/ryxwnkl34)\r\n\r\n### Incremental Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/mzzvlmj65y)\r\n* [TypeScript Example](https://codesandbox.io/s/5y3m6mrx9p)\r\n\r\n## API\r\n\r\n[See API reference here][api]\r\n\r\n## Change Log\r\n\r\n[You can find change log here][changelog]\r\n\r\n## Credits\r\n\r\nGreat thanks to [@kitos](https://github.com/kitos) and [@ventrz](https://github.com/ventrz) for their invaluable help, support and bright ideas!\r\n\r\n[npm-badge]: https://badge.fury.io/js/react-async-call.svg\r\n[npm]: https://www.npmjs.com/package/react-async-call\r\n[build-badge]: https://travis-ci.org/kuzn-ilya/react-async-call.svg?branch=master\r\n[build]: https://travis-ci.org/kuzn-ilya/react-async-call\r\n[coverage-badge]: https://codecov.io/gh/kuzn-ilya/react-async-call/branch/master/graph/badge.svg\r\n[coverage]: https://codecov.io/gh/kuzn-ilya/react-async-call\r\n[license-badge]: https://img.shields.io/npm/l/react-async-call.svg\r\n[license]: https://github.com/kuzn-ilya/react-async-call/blob/master/LICENSE\r\n[size-badge]: http://img.badgesize.io/https://unpkg.com/react-async-call/lib/index.umd.js?label=size\r\n[gzip-badge]: http://img.badgesize.io/https://unpkg.com/react-async-call/lib/index.umd.js?compression=gzip&label=gzip%20size\r\n[module-formats-badge]: https://img.shields.io/badge/module%20formats-umd%2C%20cjs%2C%20es-green.svg\r\n[unpkg-dist]: https://unpkg.com/react-async-call/lib/\r\n[unpkg]: https:/unpkg.com\r\n[changelog]: https://github.com/kuzn-ilya/react-async-call/blob/master/docs/CHANGELOG.md\r\n[api]: https://github.com/kuzn-ilya/react-async-call/blob/master/docs/API.md\r\n[fetch-api]: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API\r\n[holen]: https://github.com/tkh44/holen\r\n[react-request]: https://github.com/jamesplease/react-request","readmeFilename":"README.md","gitHead":"f6f90962fc849991ff879fce9418b5e0c751a183","_id":"react-async-call@0.3.1-alpha.10","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"},"dist":{"integrity":"sha512-/WpxlyEQMVMOPAudD8h+CvJTZgm1ypREwVDcESEN6o7qAibs1dqen2+/wo8GbkdGDa7pznGt//Jmu7taZOoStA==","shasum":"a257ac33596f594169e2a1e69218e0738c90b764","tarball":"https://registry.npmjs.org/react-async-call/-/react-async-call-0.3.1-alpha.10.tgz","fileCount":10,"unpackedSize":137830,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbvI+PCRA9TVsSAnZWagAAsBoP/2z405vVbjkFeSBDMPTn\nQ5epfhpddXWrUChypXe0zCXjtnF1s1y8gF3hmD72X+pWY2cpo+ROZD3dOD/l\ngP5y/kRGYQiELZbnqKeIsJGsH/R4u8V05tZi/xVlqj8ShM3HnbFtzAE2uhBU\neVE5TQ4Vi4YP554koi4VZT/BLpGUJVR1qQVo0db0nDBNlfUjB5/Mh9Qvbqk+\nxjpdB8WwqlYFk440p2zSlRctGIeeoiNEY61vNPd0wVW/WIHKHm7oK69KGjim\nprXmHhdzmz8hQNKUPL09f6bGoArOCkt0WUQvDL2uO4IsDeoP3dRqRfxrL1FV\ne0nMEZzcqtmn2vpVVe8SVqFl4t+KbFcNzFp6n2m/hmUJhcVHvHzKrsfKKmK7\n0CHBwTvoe93rZ892Bv5mqD0idoyjjzvKGDvh86d4krjhTdkvmDEWI/sV4SoZ\nOCCAU/XYUomznw0yk79mF9xBjBya8n7NLzwUIwLDshZ62PoOjP2WLOM4IiWh\ndp4CRX5VJeDXpOvM2wxzMbX0b5rkcWRIdE5AqYZsoyFJfzo42RJTkapZUdvm\nGrX1ckb0bvh+o8vGq/3LDqcxGnKk3Z1ICi9TjgJLn75jFGNGbFynvkO2K8Oz\n/8vbMaF5tRkQsHHkak0suYfbSSgXB9diqOtlfZzwT+UyFMMjYLMb6kDvV0VG\nE6sa\r\n=y8kY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD8hAVWUnFFzFKDi0Y83axGihOdy9hJUpVZ2zufMvv65wIgUO+i1AuKPk6teXnyr0v/M2yO4J3zISrfyyEgi/9iAhU="}]},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-call_0.3.1-alpha.10_1539084174821_0.854849634164339"},"_hasShrinkwrap":false},"0.3.1-alpha.11":{"name":"react-async-call","version":"0.3.1-alpha.11","description":"Declarative promise handling in React","main":"lib/index.js","module":"lib/index.es.js","jsnext:main":"lib/index.es.js","umd:main":"lib/index.umd.js","unpkg":"lib/index.umd.js","author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/kuzn-ilya/react-async-call.git"},"license":"MIT","typings":"src/index.d.ts","keywords":["react","reactjs","render","props","promise","fetch"],"bugs":{"url":"https://github.com/kuzn-ilya/react-async-call/issues"},"homepage":"https://github.com/kuzn-ilya/react-async-call#readme","scripts":{"clean":"rimraf lib","build":"npm run clean && npm run rollup && npm run minify","docs":"jsdoc2md --name-format --separators --helper ./docs/helpers/isTypeDefinition.js --partial ./docs/partials/scope.hbs ./docs/partials/body.hbs ./docs/partials/params.hbs --template ./docs/templates/README.hbs --heading-depth 3 ./src/*.js  > ./README.md","eslint":"eslint ./","minify":"npm run minify:cjs && npm run minify:umd","minify:cjs":"uglifyjs lib/index.js -cm toplevel -o lib/index.js --source-map filename=lib/index.js.map","minify:umd":"uglifyjs lib/index.umd.js -cm toplevel -o lib/index.umd.js --source-map filename=lib/index.umd.js.map","test":"npm run eslint && jest src --coverage","test:watch":"npm run eslint && jest src --watch","format":"prettier --write **/*.{js,jsx,json,d.ts} !lib/** !.vscode/**","rollup":"rollup -c","release":"npm run test && npm run build && npm version patch && npm publish && git push --tags"},"pre-commit":["test"],"dependencies":{"fbjs":"0.8.0","prop-types":"^15.6.2"},"peerDependencies":{"react":"^16.0.0"},"devDependencies":{"@semantic-release/changelog":"3.0.0","@semantic-release/git":"7.0.4","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.2.2","babel-jest":"^22.4.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","codecov":"3.1.0","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","eslint":"4.19.0","eslint-config-react-app":"2.1.0","eslint-plugin-import":"2.9.0","eslint-plugin-react":"7.7.0","jest":"^22.4.2","jest-enzyme":"6.0.1","jsdoc-to-markdown":"4.0.1","pre-commit":"^1.2.2","prettier":"^1.11.1","react":"^16.5.2","react-dom":"^16.5.2","rimraf":"^2.6.2","rollup":"^0.56.5","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"9.1.8","rollup-plugin-node-resolve":"3.4.0","semantic-release":"15.9.16","uglify-js":"^3.4.9"},"jest":{"coverageDirectory":"./coverage/","collectCoverage":true,"coveragePathIgnorePatterns":["/node_modules/","./src/__tests__/setup.js","./src/__tests__/common.js"],"setupTestFrameworkScriptFile":"./src/__tests__/setup.js","testMatch":["**/__tests__/**/*.test.js?(x)"],"testURL":"http://localhost"},"eslintConfig":{"parser":"babel-eslint","env":{"browser":true,"node":true},"plugins":["import","react"],"extends":["eslint:recommended","plugin:import/errors","plugin:react/recommended"]},"eslintIgnore":["lib/**","src/__tests__/**","coverage/**"],"release":{"verifyConditions":["@semantic-release/npm","@semantic-release/github","@semantic-release/git"],"generateNotes":["@semantic-release/release-notes-generator"],"prepare":[{"path":"@semantic-release/changelog","changelogFile":"docs/CHANGELOG.md","changelogTitle":"# Change Log"},"@semantic-release/npm",{"path":"@semantic-release/git","assets":["package.json","docs/CHANGELOG.md","./README.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"publish":["@semantic-release/npm","@semantic-release/github"]},"gitHead":"7c77f9b696e71f111760b1855e28f084c194b7fa","_id":"react-async-call@0.3.1-alpha.11","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"},"dist":{"integrity":"sha512-lKuGTdqUm9QxsdM9IEEi2KPZo4AFTwkpdkLtu31HddyC3UlTYFrVJ+ivgjKqHb2yDoOWEDX/Vc8MCE0O7IifvA==","shasum":"4f9e1bf36623537c812766510f319b94027300af","tarball":"https://registry.npmjs.org/react-async-call/-/react-async-call-0.3.1-alpha.11.tgz","fileCount":10,"unpackedSize":167562,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbvL0hCRA9TVsSAnZWagAA1xMQAI+3ComhfnHpD0STWoWX\n+6RtP+UMNais9QWVDZXEbkvIsaOSWWxfcTYr/5udC7ZQwRkYvKu1cF339EoJ\nWTKyrq2S/kixMM0nOe1GOUdtgLW2gFNj1qGMWFpcTEzXmhElZwve9dahjQJE\nu+GTDGzavuYBygS9+1ebRf+6dGTtd2abSvtO0rMWSDFbeltyAN5oxJ/cgCQX\nqqQ7qXd9Gk4FfivJP2SqEyWtNKE6cNXOraZ6C1fDBlYJ7XVn6TKqbBnULkV8\nsbdy9NkEK9DaEfNis83hCng0SfqwILpp6gny/MPBwuFLDR9AFMEKyc0O3++W\nAahotTP79fwurmjtpb/+kEpaloU7yrj5N28chtwthWAAYOigqxOi+ITkN+yO\nIJfn+sSmGg8mC5jKVajH3dZV6fYeeggiVcv6loTCICS7Cn+9zIltv2/OB1Wg\n+E5ULAzgbBBsm0Kb6VLiFSbnvBJvF9n+Cvw8hpjH6elmignoHODwfTtZEIq/\nn1Kj+4Q4Jy0RmbZC87CMb1FeUSdB1iHMZcjaojwIW4lmF80BS4yuoujP8AJD\nCThT0X5R10Z67pz3uGlN1Hiw5Z93Ap6nNAFTs2pXsy2iguTovIdbqViYHp78\n1s8Nw/VkHPLqBiAlEVlm/BIq+qiGH4Z0oDFO5aSpgMgU+rQMx/YY9oopbJ6s\nHl83\r\n=XlIb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDi0uVvtV91yEJsnU5e25bLZ1uEokcwrhylVjeThARQ8QIgTeOXBVjui+OmosT7yp2WfbSK09EpYybMZrqWatDKdBY="}]},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-call_0.3.1-alpha.11_1539095840479_0.6136144231625293"},"_hasShrinkwrap":false},"0.3.1":{"name":"react-async-call","version":"0.3.1","description":"Declarative promise handling in React","main":"lib/index.js","module":"lib/index.es.js","jsnext:main":"lib/index.es.js","umd:main":"lib/index.umd.js","unpkg":"lib/index.umd.js","author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/kuzn-ilya/react-async-call.git"},"license":"MIT","typings":"src/index.d.ts","keywords":["react","reactjs","render","props","promise","fetch"],"bugs":{"url":"https://github.com/kuzn-ilya/react-async-call/issues"},"homepage":"https://github.com/kuzn-ilya/react-async-call#readme","scripts":{"clean":"rimraf lib","build":"npm run clean && npm run rollup && npm run minify","docs":"jsdoc2md --name-format --separators --helper ./docs/helpers/isTypeDefinition.js --partial ./docs/partials/scope.hbs ./docs/partials/body.hbs ./docs/partials/params.hbs --template ./docs/templates/README.hbs --heading-depth 3 ./src/*.js  > ./README.md","eslint":"eslint ./","minify":"npm run minify:cjs && npm run minify:umd","minify:cjs":"uglifyjs lib/index.js -cm toplevel -o lib/index.js --source-map filename=lib/index.js.map","minify:umd":"uglifyjs lib/index.umd.js -cm toplevel -o lib/index.umd.js --source-map filename=lib/index.umd.js.map","test":"npm run eslint && jest src --coverage","test:watch":"npm run eslint && jest src --watch","format":"prettier --write **/*.{js,jsx,json,d.ts} !lib/** !.vscode/**","rollup":"rollup -c","release":"npm run test && npm run build && npm version patch && npm publish && git push --tags"},"pre-commit":["test"],"dependencies":{"fbjs":"0.8.0","prop-types":"^15.6.2"},"peerDependencies":{"react":"^16.0.0"},"devDependencies":{"@semantic-release/changelog":"3.0.0","@semantic-release/git":"7.0.4","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.2.2","babel-jest":"^22.4.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","codecov":"3.1.0","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","eslint":"4.19.0","eslint-config-react-app":"2.1.0","eslint-plugin-import":"2.9.0","eslint-plugin-react":"7.7.0","jest":"^22.4.2","jest-enzyme":"6.0.1","jsdoc-to-markdown":"4.0.1","pre-commit":"^1.2.2","prettier":"^1.11.1","react":"^16.5.2","react-dom":"^16.5.2","rimraf":"^2.6.2","rollup":"^0.56.5","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"9.1.8","rollup-plugin-node-resolve":"3.4.0","semantic-release":"15.9.16","uglify-js":"^3.4.9"},"jest":{"coverageDirectory":"./coverage/","collectCoverage":true,"coveragePathIgnorePatterns":["/node_modules/","./src/__tests__/setup.js","./src/__tests__/common.js"],"setupTestFrameworkScriptFile":"./src/__tests__/setup.js","testMatch":["**/__tests__/**/*.test.js?(x)"],"testURL":"http://localhost"},"eslintConfig":{"parser":"babel-eslint","env":{"browser":true,"node":true},"plugins":["import","react"],"extends":["eslint:recommended","plugin:import/errors","plugin:react/recommended"]},"eslintIgnore":["lib/**","src/__tests__/**","coverage/**"],"release":{"verifyConditions":["@semantic-release/npm","@semantic-release/github","@semantic-release/git"],"generateNotes":["@semantic-release/release-notes-generator"],"prepare":[{"path":"@semantic-release/changelog","changelogFile":"docs/CHANGELOG.md","changelogTitle":"# Change Log"},"@semantic-release/npm",{"path":"@semantic-release/git","assets":["package.json","docs/CHANGELOG.md","./README.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"publish":["@semantic-release/npm","@semantic-release/github"]},"gitHead":"4255a96ea88f85d696c44ee589e8728e8860d5f4","_id":"react-async-call@0.3.1","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"},"dist":{"integrity":"sha512-wDQn5RTlgeZO71Xr+p5l6qotG3o0o0vRotHAxVE4p6LH/+7IDjcHYYDyfc+aMQms5h9ANlEhEMFn3opFAtvScg==","shasum":"15c1fb9d95f8bfc50a254cec5b7cebbb6fc0a36d","tarball":"https://registry.npmjs.org/react-async-call/-/react-async-call-0.3.1.tgz","fileCount":10,"unpackedSize":168010,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbvMSXCRA9TVsSAnZWagAAbFAP/AgQ7JMKsBKlQ6eReOwn\nyOocCOPqh+2GH7XdmLWPO8Ofah3rF2K4sY94jLuadUbVTzZ0nn1JBdUuD2gC\nNjp0E9hsLg0EK76KQ5e5/XlUj3LyQK0+LF/4H3x5Bwvxodm4pv4EDNCZ3Nkk\nAT8GHcLywF8UjhKktApZBJw+JsjR+l1eJDkLvVQDMyrQTPQDyOhxjYXRSpq3\nzwcrV/kBBJqJ+7eHq56flLPBsQLA1hWQDVa2rI2W/tt7Q2l93l+u8NCqJ5Ig\noBIBsoQHoEnt+I3Cq9p/b8BT8vsLZN+xQ/U5SiAtEl/5LmoYKec1sbTiBxiy\nJslJ/NtGIgQp/CuXOGRbq0WuSrrP0vKbAiytm08q2B2xM7ddU7OPSqWFvR/4\nWZyumvd2/mI1rTKcKhBMFVcIPGFK33jKKhl8jGx/pHZnAA4qxt1SkXH4F5Xt\n5Sw89OgVe9GOUyAk2ecbQBFJjJWYRi1AtTlJzdDtmmuzh5l/lUMoUOjhm+Na\nUV8tekYopqlyjj1/ZuUjMHPwbIw1H2tmUoqDqDAUc5Agh4d9E83B6P5k1Gpf\nDjEVogr/iwKuZSRJv58GVj0Jn4Nf3+9HlpqLiP02Oepo5V7tIaiZfZRv4yBx\np1coV/2ZJgWPEfZchpEmG0Nc6BJ7vrwAi+VT64RStW1OKiurYt2TmxwQVvH7\nhREE\r\n=ogSt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCXAKSrqo4h2XA6jmeS3MaKBY2fCuhNRlMs70DxUHVHCQIgHUpq54V1DHes4V28wktU57gAbcz4hZBsXVSRpSGboAs="}]},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-call_0.3.1_1539097750617_0.952955092832912"},"_hasShrinkwrap":false},"0.4.0-alpha.1":{"name":"react-async-call","version":"0.4.0-alpha.1","description":"Declarative promise handling in React","main":"index.js","unpkg":"umd/react-async-call.production.min.js","author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/kuzn-ilya/react-async-call.git"},"license":"MIT","typings":"index.d.ts","keywords":["react","reactjs","render","props","promise","fetch"],"bugs":{"url":"https://github.com/kuzn-ilya/react-async-call/issues"},"homepage":"https://github.com/kuzn-ilya/react-async-call#readme","scripts":{"clean":"rimraf build","build":"npm run eslint && npm run test && npm run docs && node ./scripts/build.js","docs":"jsdoc2md --name-format --separators --helper ./docs/helpers/isTypeDefinition.js --partial ./docs/partials/scope.hbs ./docs/partials/body.hbs ./docs/partials/params.hbs --template ./docs/templates/README.hbs --heading-depth 3 ./src/*.js  > ./README.md","eslint":"eslint ./","test":"jest src --coverage","format":"prettier --write **/*.{js,jsx,json,d.ts} !build/** !.vscode/**","release":"npm run test && npm run build && npm version patch && npm publish && git push --tags"},"pre-commit":["test"],"dependencies":{"fbjs":"0.8.0","prop-types":"^15.6.2"},"peerDependencies":{"react":"^16.0.0"},"devDependencies":{"@semantic-release/changelog":"3.0.0","@semantic-release/git":"7.0.4","babel-cli":"^6.26.0","babel-code-frame":"6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.2.2","babel-jest":"^22.4.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","chalk":"2.4.1","codecov":"3.1.0","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","eslint":"4.19.0","eslint-config-react-app":"3.0.3","eslint-plugin-import":"2.14.0","eslint-plugin-react":"7.7.0","jest":"^22.4.2","jest-enzyme":"6.0.1","jsdoc-to-markdown":"4.0.1","mkdirp":"0.5.1","ncp":"2.0.0","pre-commit":"^1.2.2","prettier":"^1.11.1","react":"^16.5.2","react-dom":"^16.5.2","rimraf":"^2.6.2","rollup":"0.66.5","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"9.1.8","rollup-plugin-node-resolve":"3.4.0","rollup-plugin-replace":"2.1.0","rollup-plugin-uglify":"6.0.0","semantic-release":"15.9.16","uglify-js":"^3.4.9"},"jest":{"coverageDirectory":"../coverage/","collectCoverage":true,"coveragePathIgnorePatterns":["/node_modules/","./__tests__/setup.js","./__tests__/common.js"],"setupTestFrameworkScriptFile":"./__tests__/setup.js","testMatch":["**/__tests__/**/*.test.js?(x)"],"rootDir":"./src","testURL":"http://localhost"},"eslintConfig":{"parser":"babel-eslint","env":{"browser":true,"node":true},"plugins":["import","react"],"extends":["eslint:recommended","plugin:import/errors","plugin:react/recommended"]},"eslintIgnore":["build/**","npm/**","src/__tests__/**","coverage/**","scripts/**"],"release":{"verifyConditions":[{"path":"@semantic-release/npm","pkgRoot":"./build"},"@semantic-release/github","@semantic-release/git"],"generateNotes":["@semantic-release/release-notes-generator"],"prepare":[{"path":"@semantic-release/changelog","changelogFile":"docs/CHANGELOG.md","changelogTitle":"# Change Log"},{"path":"@semantic-release/npm","pkgRoot":"./build"},{"path":"@semantic-release/git","assets":["package.json","docs/CHANGELOG.md","./README.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"publish":[{"path":"@semantic-release/npm","pkgRoot":"./build"},"@semantic-release/github"]},"readme":"# React Async Call\r\n\r\n[![npm version][npm-badge]][npm]\r\n[![Build Status][build-badge]][build]\r\n[![Code Coverage][coverage-badge]][coverage]\r\n[![MIT License][license-badge]][license]\r\n[![size][size-badge]][unpkg-dist]\r\n[![gzip size][gzip-badge]][unpkg-dist]\r\n[![module formats: umd, cjs, and es][module-formats-badge]][unpkg-dist]\r\n\r\nDeclarative promise handling in React.\r\n\r\n## Table of Content\r\n  * [Motivation](#motivation)\r\n  * [Install](#install)\r\n  * [Usage](#usage)\r\n    * [Basic Usage](#basic-usage)\r\n    * [Data Fetching](#data-fetching)\r\n    * [Incremental Data Fetching](#incremental-data-fetching)\r\n  * [API Reference](#api-reference)\r\n  * [Change Log](#change-log)\r\n  * [Credits](#credits)\r\n\r\n## Motivation\r\n\r\nHandling promise-returning functions (for example, [`fetch`][fetch-api]) is not hard to do in React application. There are several packages like [holen][holen] or [React Request][react-request] for simplifying such kind of tasks but theirs authors try to impose their own vision on various aspects of data fetching. For instance, [React Request][react-request] has a cache for HTTP requests but what will happen if you decide to change caching strategy? React Async Call tries to sharpen the edges. This is minimalistic package that can be used not only for data fetching but also for handling any promise-returning functions.\r\n\r\n## Install\r\n\r\n### Using npm\r\n\r\n`npm i react-async-call --save`\r\n\r\nThen, use it as usual:\r\n\r\n```JS\r\n// using ES6 modules\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\n// using CommonJS modules\r\nvar createAsyncCallComponent = require('react-async-call').createAsyncCallComponent\r\n```\r\n\r\n### UMD build\r\n\r\nThe UMD build is also available on [unpkg][unpkg]:\r\n\r\n```HTML\r\n<script src=\"https://unpkg.com/react-async-call\"></script>\r\n```\r\n\r\nThe package is avalable on `window.ReactAsyncCall`\r\n\r\n## Usage\r\n\r\n### Basic Usage\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/y7349vl4oj)\r\n* [TypeScript Example](https://codesandbox.io/s/w76rq8jjx8)\r\n\r\n```jsx\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\nconst AsyncCall = createAsyncCallComponent(value => Promise.resolve(42))\r\n\r\nconst Example = () => (\r\n  <AsyncCall>\r\n    <AsyncCall.Running>\r\n      <div>Loading...</div>\r\n    </AsyncCall.Running>\r\n    <AsyncCall.Resolved>{({ result }) => <div>The result of function call is {result}</div>}</AsyncCall.Resolved>\r\n    <AsyncCall.Rejected>{({ rejectReason }) => <div>Error: {rejectReason}</div>}</AsyncCall.Rejected>\r\n  </AsyncCall>\r\n)\r\n```\r\n\r\n### Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/vn8qmr43yy)\r\n* [TypeScript Example](https://codesandbox.io/s/ryxwnkl34)\r\n\r\n### Incremental Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/mzzvlmj65y)\r\n* [TypeScript Example](https://codesandbox.io/s/5y3m6mrx9p)\r\n\r\n# API Reference\r\n\r\n## Exported Members\r\n\r\n<a name=\"createAsyncCallComponent\"></a>\n\n### `createAsyncCallComponent(fn, [displayName])` ⇒ [<code>AsyncCall</code>](#AsyncCall)\nA factory function that creates React component class and binds async operation to it:\r```jsx\rconst Fetcher = createAsyncCallComponent(() => fetch('https://api.github.com/repositories').then(data => data.json()))\r```\r\rAfter calling of this function you can use returned component and its static sub-components to hook async operation lifecycle:\r\r```jsx\r// Start executing async operation on Fetcher mount\r<Fetcher>\r  <Fetcher.Running>\r    Renders only if async operation is executing\r  </Fetcher.Running>\r\r  <Fetcher.Resolved>\r    {({ result }) => (\r      <div>\r        Renders if async operation has been executed successfully\r        <pre>{JSON.stringify(result)}></pre>\r      </div>\r    )}}\r  </Fetcher.Resolved>\r\r  <Fetcher.Rejected>\r    Renders only if async operation failed\r  </Fetcher.Rejected>\r</Fetcher>\r```\r\r`createAsyncCallComponent` is the only member exported by react-async-call package.\n\n**Kind**: global function  \r\n**Params**\r\n\r\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| fn | [<code>AsyncFunction</code>](#AsyncFunction) |  | See [`AsyncFunction` signature](#AsyncFunction) for details. |\n| [displayName] | <code>String</code> | <code>&quot;AsyncCall&quot;</code> | Component name (visible, for example, in React extension of Chrome Dev Tools). |\n\n**Returns**: [<code>AsyncCall</code>](#AsyncCall) - Returns React [component class `AsyncCall`](#AsyncCall) for the further usage.\rThis class contains extra component classes [`Running`](#AsyncCall.Running),\r[`Rejected`](#AsyncCall.Rejected), [`Resolved`](#AsyncCall.Resolved),\r[`Completed`](#AsyncCall.Completed), [`ResultStore`](#AsyncCall.ResultStore),\r[`Executor`](#AsyncCall.Executor) and [`State`](#AsyncCall.State) which can be used as children\r(direct or indirect) of `AsyncCall`.  \n\n* * *\n\n## React Components\r\n\r\n<a name=\"AsyncCall\"></a>\n\n### AsyncCall ⇐ <code>React.Component</code>\nReact Component. This class is returned by call of [createAsyncCallComponent](#createAsyncCallComponent) and this is the only way to get it.\n\n**Kind**: global class  \r\n**Extends**: <code>React.Component</code>  \n**Properties**\n\n| Name | Type | Default | Description |\n| --- | --- | --- | --- |\n| children | <code>ReactNode</code> \\| [<code>AsyncCallChildrenFunction</code>](#AsyncCallChildrenFunction) |  | Property `children` can be either a ReactNode or a function that receives an object as its only argument and return ReactNode. `AsyncCall` component **always** renders its children. We recommend to use [the first form of using `children` property](https://github.com/kuzn-ilya/react-async-call/blob/master/README.md#basic-usage) and respond to async operation execution results using *static sub-components* (like [`Running`](#AsyncCall.Running), [`Rejected`](#AsyncCall.Rejected), [`Resolved`](#AsyncCall.Resolved), [`Completed`](#AsyncCall.Completed), [`ResultStore`](#AsyncCall.ResultStore), [`Executor`](#AsyncCall.Executor) and [`State`](#AsyncCall.State)). |\n| params | <code>any</code> |  | A value that will be passed as a single argument into async function. Every time when change of this property occurs, asyncronous operation restarts. |\n| [lazy] | <code>Boolean</code> | <code>false</code> | If `true`, component will not start execution of asynchronous operation during component mount phase and on `params` property change. You should start async operation manualy by calling [`execute` method](#AsyncCall+execute) or via [`Executor`](#AsyncCall.Executor). |\n\n\n* [AsyncCall](#AsyncCall) ⇐ <code>React.Component</code>\n    * _instance_\n        * [`.execute()`](#AsyncCall+execute)\n    * _static_\n        * [.Completed](#AsyncCall.Completed) ⇐ <code>React.StatelessComponent</code>\n        * [.Executor](#AsyncCall.Executor) ⇐ <code>React.StatelessComponent</code>\n        * [.Rejected](#AsyncCall.Rejected) ⇐ <code>React.StatelessComponent</code>\n        * [.Resolved](#AsyncCall.Resolved) ⇐ <code>React.StatelessComponent</code>\n        * [.ResultStore](#AsyncCall.ResultStore) ⇐ <code>React.Component</code>\n            * _instance_\n                * [`.reset([execute])`](#AsyncCall.ResultStore+reset)\n            * _static_\n                * [.HasResult](#AsyncCall.ResultStore.HasResult) ⇐ <code>React.StatelessComponent</code>\n                * [.Resetter](#AsyncCall.ResultStore.Resetter) ⇐ <code>React.StatelessComponent</code>\n        * [.Running](#AsyncCall.Running) ⇐ <code>React.StatelessComponent</code>\n        * [.State](#AsyncCall.State) ⇐ <code>React.StatelessComponent</code>\n\n\n* * *\n\n<a name=\"AsyncCall+execute\"></a>\n\n#### `asyncCall.execute()`\nMethod for executing async operation manually.\rIt is recommended to use [`<Executor>` component](#AsyncCall.Executor) instead.\n\n**Kind**: instance method of [<code>AsyncCall</code>](#AsyncCall)  \r\n\n* * *\n\n<a name=\"AsyncCall.Completed\"></a>\n\n#### AsyncCall.Completed ⇐ <code>React.StatelessComponent</code>\nReact Component. Renders its children whenever async operation has been completed (successfully or not),\rbut is still not started again. Otherwise renders nothing.\r\r```jsx\r<AsyncCall.Completed>\r  Async operation completed\r</AsyncCall.Completed>\r```\n\n**Kind**: static class of [<code>AsyncCall</code>](#AsyncCall)  \r\n**Extends**: <code>React.StatelessComponent</code>  \n**Properties**\n\n| Name | Type | Description |\n| --- | --- | --- |\n| [children] | <code>ReactNode</code> | React children to be rendered whenever async operation is completed. |\n\n\n* * *\n\n<a name=\"AsyncCall.Executor\"></a>\n\n#### AsyncCall.Executor ⇐ <code>React.StatelessComponent</code>\nReact Component. Renders its children always. Property `children` must be a function with the only argument receiving an object\rwith a function for manual execution of async operation.\n\n**Kind**: static class of [<code>AsyncCall</code>](#AsyncCall)  \r\n**Extends**: <code>React.StatelessComponent</code>  \n**Properties**\n\n| Name | Type |\n| --- | --- |\n| children | [<code>ExecutorChildrenFunction</code>](#ExecutorChildrenFunction) | \n\n\n* * *\n\n<a name=\"AsyncCall.Rejected\"></a>\n\n#### AsyncCall.Rejected ⇐ <code>React.StatelessComponent</code>\nReact Component. Renders its children whenever async operation has been completed with failure (promise was rejected),\rbut is still not started again. Otherwise renders nothing.\rProperty `children` can be either React node(s) or children function with the only argument receiving object with the only field `rejectReason`\r(promise reject reason).\n\n**Kind**: static class of [<code>AsyncCall</code>](#AsyncCall)  \r\n**Extends**: <code>React.StatelessComponent</code>  \n**Properties**\n\n| Name | Type |\n| --- | --- |\n| children | <code>ReactNode</code> \\| [<code>RejectedChildrenFunction</code>](#RejectedChildrenFunction) | \n\n\n* * *\n\n<a name=\"AsyncCall.Resolved\"></a>\n\n#### AsyncCall.Resolved ⇐ <code>React.StatelessComponent</code>\nReact Component. Renders its children whenever async operation has been completed successfully (promise was resolved),\rbut is still not started again. Otherwise renders nothing.\rProperty `children` can be either React node(s) or children function with the only argument receiving object with the only field `result`.\n\n**Kind**: static class of [<code>AsyncCall</code>](#AsyncCall)  \r\n**Extends**: <code>React.StatelessComponent</code>  \n**Properties**\n\n| Name | Type |\n| --- | --- |\n| children | <code>ReactNode</code> \\| [<code>ResolvedChildrenFunction</code>](#ResolvedChildrenFunction) | \n\n\n* * *\n\n<a name=\"AsyncCall.ResultStore\"></a>\n\n#### AsyncCall.ResultStore ⇐ <code>React.Component</code>\nReact Component. Implements store of results of sequential async calls.\rUseful when you need to accumulate results of async calls (e.g., to glue together sequential calls of server API).\n\n**Kind**: static class of [<code>AsyncCall</code>](#AsyncCall)  \r\n**Extends**: <code>React.Component</code>  \n**Properties**\n\n| Name | Type | Default | Description |\n| --- | --- | --- | --- |\n| children | [<code>ResultStoreChildrenFunction</code>](#ResultStoreChildrenFunction) \\| <code>ReactNode</code> |  | React children or function that returns rendered result depending on `hasResult` flag and `result`. |\n| reduce | [<code>ReduceFunction</code>](#ReduceFunction) |  | Function from previousResult and currentResult to a new result. Useful, for example, when you need to accumulate sequential async calls (e.g. for fetching data for infinte page scroll). |\n| [initialValue] | <code>any</code> |  | Optional initial value for the result store. If value is provided, result store will have result always. |\n| [reset] | <code>boolean</code> | <code>false</code> | @deprecated If `true`, clears the store (**Deprecated, will be removed in version 1.0.0. Use [Resetter](#AsyncCall.ResultStore.Resetter) instead**). |\n\n\n* [.ResultStore](#AsyncCall.ResultStore) ⇐ <code>React.Component</code>\n    * _instance_\n        * [`.reset([execute])`](#AsyncCall.ResultStore+reset)\n    * _static_\n        * [.HasResult](#AsyncCall.ResultStore.HasResult) ⇐ <code>React.StatelessComponent</code>\n        * [.Resetter](#AsyncCall.ResultStore.Resetter) ⇐ <code>React.StatelessComponent</code>\n\n\n* * *\n\n<a name=\"AsyncCall.ResultStore+reset\"></a>\n\n##### `resultStore.reset([execute])`\nResets result store to its intial state.\n\n**Kind**: instance method of [<code>ResultStore</code>](#AsyncCall.ResultStore)  \r\n**Params**\r\n\r\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| [execute] | <code>bool</code> | <code>true</code> | Wether execute promise-returning function after resetting or not. |\n\n\n* * *\n\n<a name=\"AsyncCall.ResultStore.HasResult\"></a>\n\n##### ResultStore.HasResult ⇐ <code>React.StatelessComponent</code>\nReact Component. Renders its children whenever result store is not empty (has result).\rProperty `children` must be a function with the only argument receiving object with the only field `result`.\n\n**Kind**: static class of [<code>ResultStore</code>](#AsyncCall.ResultStore)  \r\n**Extends**: <code>React.StatelessComponent</code>  \n**Properties**\n\n| Name | Type |\n| --- | --- |\n| children | [<code>HasResultChildrenFunction</code>](#HasResultChildrenFunction) | \n\n\n* * *\n\n<a name=\"AsyncCall.ResultStore.Resetter\"></a>\n\n##### ResultStore.Resetter ⇐ <code>React.StatelessComponent</code>\nReact Component. Renders its children always. Property `children` must be a function with the only argument receiving an object\rwith a function for manual reset of [ResultStore](#AsyncCall.ResultStore).\n\n**Kind**: static class of [<code>ResultStore</code>](#AsyncCall.ResultStore)  \r\n**Extends**: <code>React.StatelessComponent</code>  \n**Properties**\n\n| Name | Type |\n| --- | --- |\n| children | [<code>ResetterChildrenFunction</code>](#ResetterChildrenFunction) | \n\n\n* * *\n\n<a name=\"AsyncCall.Running\"></a>\n\n#### AsyncCall.Running ⇐ <code>React.StatelessComponent</code>\nReact Component. Renders its children whenever async operation was started but is still executing. Otherwise renders nothing.\n\n**Kind**: static class of [<code>AsyncCall</code>](#AsyncCall)  \r\n**Extends**: <code>React.StatelessComponent</code>  \n**Properties**\n\n| Name | Type |\n| --- | --- |\n| children | <code>ReactNode</code> | \n\n\n* * *\n\n<a name=\"AsyncCall.State\"></a>\n\n#### AsyncCall.State ⇐ <code>React.StatelessComponent</code>\nReact Component. Renders its children always. Property `children` must be a function\rwith the only argument receiving an object ([see description of `StateChildrenFunction`](#StateChildrenFunction))\rwith the state of async operation. `State` component is handy for complicated UI cases when none of static components of [AsyncCall](#AsyncCall) suits you.\n\n**Kind**: static class of [<code>AsyncCall</code>](#AsyncCall)  \r\n**Extends**: <code>React.StatelessComponent</code>  \n**Properties**\n\n| Name | Type |\n| --- | --- |\n| children | [<code>StateChildrenFunction</code>](#StateChildrenFunction) | \n\n\n* * *\n\n## Function Signatures\r\n\r\n<a name=\"AsyncFunction\"></a>\n\n### `AsyncFunction(params)` ⇒ <code>Promise</code>\nAsynchronous function (aka asynchronous operation or promise-returning function)\rwhich returns promise based on supplied parameter.\n\n**Params**\r\n\r\n\n| Param | Type | Description |\n| --- | --- | --- |\n| params | <code>any</code> | Parameters, based on which function should return promise. |\n\n**Returns**: <code>Promise</code> - Promise object that represents asynchronous operation result.  \n**Example**  \nThe function below returns result (`Promise` object) of getting user data from GitHub API by his/her GitHub login:\r```\rconst getGitHubUserData = userName => fetch(`https://api.github.com/users/${userName}`).then(data => data.json())\r```\n\n* * *\n\n<a name=\"ExecuteFunction\"></a>\n\n### `ExecuteFunction()` ⇒ <code>void</code>\nExecute function\n\n\n* * *\n\n<a name=\"AsyncCallChildrenFunction\"></a>\n\n### `AsyncCallChildrenFunction(params)` ⇒ <code>ReactNode</code>\nType of children function for [AsyncCall](#AsyncCall)\n\n**Params**\r\n\r\n\n| Param | Type | Description |\n| --- | --- | --- |\n| params | <code>object</code> | Represents current status of asynchronous operation. |\n| params.running | <code>boolean</code> | Indicates whether asynchronous operation is executing or not. |\n| params.rejected | <code>boolean</code> | Indicates whether asynchronous operation was failed when it was called last time. If `true`, result of promise rejection (error) can be found in the `params.rejectReason`. |\n| params.resolved | <code>boolean</code> | Indicates whether asynchronous operation was succeeded when it was called last time. If `true`, result of promise resolving can be found in the `params.result`. |\n| [params.result] | <code>any</code> | Contains result of promise (returned by async function) resolving if function call was successful. `undefined` if asynchronous operation is running or promise was rejected. |\n| [params.rejectReason] | <code>any</code> | Contains result of promise (returned by async function) rejection if function call was unsuccessful. `undefined` if asynchronous operation is running or promise was resolved. |\n| params.execute | [<code>ExecuteFunction</code>](#ExecuteFunction) | Function for manual execution of asynchronous operation. |\n\n**Returns**: <code>ReactNode</code> - Should return rendered React component(s) depending on supplied params.  \n\n* * *\n\n<a name=\"ExecutorChildrenFunction\"></a>\n\n### `ExecutorChildrenFunction(params)` ⇒ <code>ReactNode</code>\nType of children function for [Executor](#AsyncCall.Executor)\n\n**Params**\r\n\r\n\n| Param | Type | Description |\n| --- | --- | --- |\n| params | <code>object</code> |  |\n| params.execute | [<code>ExecuteFunction</code>](#ExecuteFunction) | Function for manual execution of asynchronous operation. |\n\n**Returns**: <code>ReactNode</code> - Should return rendered React component(s) depending on supplied params.  \n\n* * *\n\n<a name=\"HasResultChildrenFunction\"></a>\n\n### `HasResultChildrenFunction(params)` ⇒ <code>ReactNode</code>\nType of children function for [HasResult](#AsyncCall.ResultStore.HasResult)\n\n**Params**\r\n\r\n\n| Param | Type |\n| --- | --- |\n| params | <code>object</code> | \n| params.result | <code>any</code> | \n\n**Returns**: <code>ReactNode</code> - Should return rendered React component(s) depending on supplied params.  \n\n* * *\n\n<a name=\"RejectedChildrenFunction\"></a>\n\n### `RejectedChildrenFunction(params)` ⇒ <code>ReactNode</code>\nType of children function for [Rejected](#AsyncCall.Rejected)\n\n**Params**\r\n\r\n\n| Param | Type |\n| --- | --- |\n| params | <code>object</code> | \n| params.rejectReason | <code>any</code> | \n\n**Returns**: <code>ReactNode</code> - Should return rendered React component(s) depending on supplied params.  \n\n* * *\n\n<a name=\"ResetFunction\"></a>\n\n### `ResetFunction([execute])`\nReset function\n\n**Params**\r\n\r\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| [execute] | <code>bool</code> | <code>false</code> | Wether execute promise-returning function after resetting or not. |\n\n\n* * *\n\n<a name=\"ResetterChildrenFunction\"></a>\n\n### `ResetterChildrenFunction(params)` ⇒ <code>ReactNode</code>\nType of children function for [Resetter](#AsyncCall.ResultStore.Resetter)\n\n**Params**\r\n\r\n\n| Param | Type | Description |\n| --- | --- | --- |\n| params | <code>object</code> |  |\n| params.reset | [<code>ResetFunction</code>](#ResetFunction) | Function for manual clearing of [ResultStore](#AsyncCall.ResultStore). |\n\n**Returns**: <code>ReactNode</code> - Should return rendered React component(s) depending on supplied params.  \n\n* * *\n\n<a name=\"ResolvedChildrenFunction\"></a>\n\n### `ResolvedChildrenFunction()` ⇒ <code>ReactNode</code>\nType of children function for [Resolved](#AsyncCall.Resolved)\n\n**Params**\r\n\r\n\n| Param | Type |\n| --- | --- |\n|  | <code>object</code> | \n| params.result | <code>any</code> | \n\n**Returns**: <code>ReactNode</code> - Should return rendered React component(s) depending on supplied params.  \n\n* * *\n\n<a name=\"ResultStoreChildrenFunction\"></a>\n\n### `ResultStoreChildrenFunction(params)` ⇒ <code>ReactNode</code>\nType of `children` function of a [ResultStore](#AsyncCall.ResultStore) component.\n\n**Params**\r\n\r\n\n| Param | Type | Description |\n| --- | --- | --- |\n| params | <code>object</code> |  |\n| params.hasResult | <code>boolean</code> |  |\n| [params.result] | <code>any</code> |  |\n| params.reset | [<code>ResetFunction</code>](#ResetFunction) | Function for manual store cleaning. |\n\n**Returns**: <code>ReactNode</code> - Should return rendered React component(s) depending on supplied params.  \n\n* * *\n\n<a name=\"ReduceFunction\"></a>\n\n### `ReduceFunction(previousResult, currentResult)` ⇒ <code>any</code>\nType of `reduce` property of a [ResultStore](#AsyncCall.ResultStore) component.\n\n**Params**\r\n\r\n\n| Param | Type |\n| --- | --- |\n| previousResult | <code>any</code> | \n| currentResult | <code>any</code> | \n\n\n* * *\n\n<a name=\"StateChildrenFunction\"></a>\n\n### `StateChildrenFunction(params)` ⇒ <code>ReactNode</code>\nType of children function for [State](#AsyncCall.State)\n\n**Params**\r\n\r\n\n| Param | Type | Description |\n| --- | --- | --- |\n| params | <code>object</code> |  |\n| params.running | <code>boolean</code> | Whether async opertation is executing or not. If you only need to process `running`, use either [Running](#AsyncCall.Running) or [Completed](#AsyncCall.Completed) component instead. |\n| params.resolved | <code>boolean</code> | Whether async opertation was completed successfully last time or not. If you only need to process `resolved` and `result`, [Resolved](#AsyncCall.Resolved) component instead. |\n| params.rejected | <code>boolean</code> | Whether async opertation failed last time or not. If you only need to process `rejected` and `rejectedStatus`, use [Rejected](#AsyncCall.Rejected) component instead. |\n| [params.rejectReason] | <code>any</code> | Contains reject reason if async opertation failed last time. If you only need to process `rejected` and `rejectedReason`, use [Rejected](#AsyncCall.Rejected) component instead. |\n| [params.result] | <code>any</code> | Contains result of last successful async operation call. If you only need to process `resolved` and `result`, use [Resolved](#AsyncCall.Resolved) component instead. If you need to accumulate result, consider [ResultStore](#AsyncCall.ResultStore) usage. |\n| params.execute | [<code>ExecuteFunction</code>](#ExecuteFunction) | Callback for manual execution of async operation. If you only need to execute async operation manualy, use [Executor](#AsyncCall.Executor) component instead.                               | |\n\n**Returns**: <code>ReactNode</code> - Should return rendered React component(s) depending on supplied params.  \n\n* * *\n\n## Change Log\r\n\r\n[You can find change log here][changelog]\r\n\r\n## Credits\r\n\r\nGreat thanks to [@kitos](https://github.com/kitos) and [@ventrz](https://github.com/ventrz) for their invaluable help, support and bright ideas!\r\n\r\n[npm-badge]: https://badge.fury.io/js/react-async-call.svg\r\n[npm]: https://www.npmjs.com/package/react-async-call\r\n[build-badge]: https://travis-ci.org/kuzn-ilya/react-async-call.svg?branch=master\r\n[build]: https://travis-ci.org/kuzn-ilya/react-async-call\r\n[coverage-badge]: https://codecov.io/gh/kuzn-ilya/react-async-call/branch/master/graph/badge.svg\r\n[coverage]: https://codecov.io/gh/kuzn-ilya/react-async-call\r\n[license-badge]: https://img.shields.io/npm/l/react-async-call.svg\r\n[license]: https://github.com/kuzn-ilya/react-async-call/blob/master/LICENSE\r\n[size-badge]: http://img.badgesize.io/https://unpkg.com/react-async-call/lib/index.umd.js?label=size\r\n[gzip-badge]: http://img.badgesize.io/https://unpkg.com/react-async-call/lib/index.umd.js?compression=gzip&label=gzip%20size\r\n[module-formats-badge]: https://img.shields.io/badge/module%20formats-umd%2C%20cjs%2C%20es-green.svg\r\n[unpkg-dist]: https://unpkg.com/react-async-call/lib/\r\n[unpkg]: https:/unpkg.com\r\n[changelog]: https://github.com/kuzn-ilya/react-async-call/blob/master/docs/CHANGELOG.md\r\n[fetch-api]: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API\r\n[holen]: https://github.com/tkh44/holen\r\n[react-request]: https://github.com/jamesplease/react-request","readmeFilename":"README.md","_id":"react-async-call@0.4.0-alpha.1","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"},"dist":{"integrity":"sha512-5KRio5gT6zlwdOnaJ/LEkBcdB8eoy0lTp9RXWqadBLNjF5jFIZlrZw5N0Xy75ChPq/YcGKukX4Rrsg3kb8DQxg==","shasum":"28add737d7aa4dbba5511b70d0f5206df4d4e8de","tarball":"https://registry.npmjs.org/react-async-call/-/react-async-call-0.4.0-alpha.1.tgz","fileCount":14,"unpackedSize":419157,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbvjNYCRA9TVsSAnZWagAAHfAP/RMBVQu9Zo2PQpX8N5mr\n7S0ThmT0r2j+x5mEGTn/wEXf6aR2aqcBBmfHPIyg8BsQqxqR45cSThtj+vy3\n8KenvschN8AFKmb2r98Nl2iJROLoPKkSqGaxxDqTptcf7IBb6P634TAo4+TV\nO6SVSzcFJOdEOchPJI2M0CSR8wo3e8U1wSJ6I5UCPx+vknjSKqLx9mz7FQRj\naE2tWygc1fT0lC6khWdTFqSJUoU+UtE+o3Iu5eAkuIcpx9MmK0h2ljeeDKAN\nrjqsNzMaDRZPunKhJJsHldqU6ocBbV0nUfZirk5oMDZYvBUb0VhdieVqyDQp\nYTTrpjMlcqMxnE7MnzBjU0+u78G2mM5fhe/y+L1OnhlVak/yGekrt5H7D5Re\npUkYzpjKgvQBoxfI8rm4GkNCEK6bVE20RHDQOF3B1w962xT0Bd2U08B+lXuH\n0qsiW58OFi4TeXwMtSCWv8bIiIw3aECV021OZaQYUCcKFJfeR5bYNg2F0E8V\nIS7UgxBXDZ91f+6ZajeTP2emdY9EJeFfXJvi9THio08inuPdTyHOj+ePY3wB\nosawyfckkr5qbz5guG+i37xIewNxpXYqqrV88XrJ6cdJUzNY7mXpZKQx6gBj\nxHm+obvvDX4iBq5QCZcUcvHDrJS95w1oVAH/FpAVTchZhQo3z2Prj4fziAq4\nc27A\r\n=5jzA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDbJkFWT+briiS7zvo8SbMxa+Kn0js5EQud6xrvmobgFAiB3KyhrPcV1tBULTtmERwmX27p+XLV9HY6nwgsgo4fRog=="}]},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-call_0.4.0-alpha.1_1539191639345_0.6952233965840657"},"_hasShrinkwrap":false},"0.4.0":{"name":"react-async-call","version":"0.4.0","description":"Declarative promise handling in React","main":"index.js","unpkg":"umd/react-async-call.production.min.js","author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/kuzn-ilya/react-async-call.git"},"license":"MIT","typings":"index.d.ts","keywords":["react","reactjs","render","props","promise","fetch"],"bugs":{"url":"https://github.com/kuzn-ilya/react-async-call/issues"},"homepage":"https://github.com/kuzn-ilya/react-async-call#readme","scripts":{"clean":"rimraf build","build":"npm run eslint && npm run test && npm run docs && node ./scripts/build.js","docs":"jsdoc2md --name-format --separators --helper ./docs/helpers/isTypeDefinition.js --partial ./docs/partials/scope.hbs ./docs/partials/body.hbs ./docs/partials/params.hbs --template ./docs/templates/README.hbs --heading-depth 3 ./src/*.js  > ./README.md","eslint":"eslint ./","test":"jest src --coverage","format":"prettier --write **/*.{js,jsx,json,d.ts} !build/** !.vscode/**","release":"npm run test && npm run build && npm version patch && npm publish && git push --tags"},"pre-commit":["test"],"dependencies":{"fbjs":"0.8.0","prop-types":"^15.6.2"},"peerDependencies":{"react":"^16.0.0"},"devDependencies":{"@semantic-release/changelog":"3.0.0","@semantic-release/git":"7.0.4","babel-cli":"^6.26.0","babel-code-frame":"6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.2.2","babel-jest":"^22.4.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","chalk":"2.4.1","codecov":"3.1.0","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","eslint":"4.19.0","eslint-config-react-app":"3.0.3","eslint-plugin-import":"2.14.0","eslint-plugin-react":"7.7.0","jest":"^22.4.2","jest-enzyme":"6.0.1","jsdoc-to-markdown":"4.0.1","mkdirp":"0.5.1","ncp":"2.0.0","pre-commit":"^1.2.2","prettier":"^1.11.1","react":"^16.5.2","react-dom":"^16.5.2","rimraf":"^2.6.2","rollup":"0.66.5","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"9.1.8","rollup-plugin-node-resolve":"3.4.0","rollup-plugin-replace":"2.1.0","rollup-plugin-uglify":"6.0.0","semantic-release":"15.9.16","uglify-js":"^3.4.9"},"jest":{"coverageDirectory":"../coverage/","collectCoverage":true,"coveragePathIgnorePatterns":["/node_modules/","./__tests__/setup.js","./__tests__/common.js"],"setupTestFrameworkScriptFile":"./__tests__/setup.js","testMatch":["**/__tests__/**/*.test.js?(x)"],"rootDir":"./src","testURL":"http://localhost"},"eslintConfig":{"parser":"babel-eslint","env":{"browser":true,"node":true},"plugins":["import","react"],"extends":["eslint:recommended","plugin:import/errors","plugin:react/recommended"]},"eslintIgnore":["build/**","npm/**","src/__tests__/**","coverage/**","scripts/**"],"release":{"verifyConditions":[{"path":"@semantic-release/npm","pkgRoot":"./build"},"@semantic-release/github","@semantic-release/git"],"generateNotes":["@semantic-release/release-notes-generator"],"prepare":[{"path":"@semantic-release/changelog","changelogFile":"docs/CHANGELOG.md","changelogTitle":"# Change Log"},{"path":"@semantic-release/npm","pkgRoot":"./build"},{"path":"@semantic-release/git","assets":["package.json","docs/CHANGELOG.md","./README.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"publish":[{"path":"@semantic-release/npm","pkgRoot":"./build"},"@semantic-release/github"]},"_id":"react-async-call@0.4.0","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"},"dist":{"integrity":"sha512-Dj3x29j+9qHOXH6Hg0idXehQpNMQIJDVGU8SL04LDyoiEJ0xjeKWtXjDZnwTgV1yn85N55U9Kf6iwA1CMxUxIQ==","shasum":"2890a643227c1f52bc59f6d29bce4d2e7bd26ab4","tarball":"https://registry.npmjs.org/react-async-call/-/react-async-call-0.4.0.tgz","fileCount":14,"unpackedSize":408600,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbvjx+CRA9TVsSAnZWagAAaxcP/3FWfAvFAU6VrETI+EYs\n3xJIwcxZKpfKvT0NQMzbTUuWNkKd9LmSIfBHgUC937TxqZxCa6AVZlXIMDHb\ndXsFdylTa5FKqRydlCpKfAE20zx4++tZVvvj3Apb0LWlWUVbC71Ts4nOydzn\nYNY84VVhdL+AvWoR3gKe4zVBg29KzxD7VySjVccO5a9Fv9n+Q9F+rB5RsK8I\n7Yda9XBudldM257+s0khDph5cj+/8nfdjrrKsjusbD5/+pK/F0ik4Ya4vdS9\nfJmnucpGRLqy9kUB45JDO/eUfZwHsVIL/2F3h+e4Fwia9QIA0Th+C70ccyRn\nZkDt2WS0c+qN9oyEkYZnLMd9cyRQcfAty1W6a+I1YcNC+i1C249r4K2KgD4d\nC+f7akHWcgsu6s5fH/cKnGD4B0iirX7MCtFhMccgtNomXCQs568h8tiGmHbU\nQvSgmHr15sHsi/LsjvsQeFjssaiNloSlue3Jnpxlg53zQqJr61C+p4ApoxT7\nYKWfKVJxisPUzINJfJg+VA4vMF/kape/EIY0ZnEv5t5e+CSsCgiuu7X2uxeP\nvX0vtDrf1h8xA9ZzOhdoehK5cbqMjB+opxuYjTVoghLOoY8HvFgWJW/Vub2e\nhDl8wgb9hu9hRkL8QOO3XfXX0anqn6N43yn/BfRnPkv2eyihdElv8f9Wt9tg\nvH2H\r\n=8h+v\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDA85IH1YrZD0LSZ9P39cChF6nB7fFAFvW0PKsPKfuQqAiBQIJu/X1lKpNC8uPDJhLsy0jyS8R0kwyKt5QqEsX6Xbw=="}]},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-call_0.4.0_1539193981542_0.639070596038968"},"_hasShrinkwrap":false},"0.5.0":{"name":"react-async-call","version":"0.5.0","description":"Declarative promise handling in React","main":"index.js","unpkg":"umd/react-async-call.production.min.js","author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/kuzn-ilya/react-async-call.git"},"license":"MIT","typings":"index.d.ts","keywords":["react","reactjs","render","props","promise","fetch"],"bugs":{"url":"https://github.com/kuzn-ilya/react-async-call/issues"},"homepage":"https://github.com/kuzn-ilya/react-async-call#readme","scripts":{"clean":"rimraf build","build":"npm run eslint && npm run test && npm run docs && node ./scripts/build.js","docs":"jsdoc2md --name-format --separators --helper ./docs/helpers/isTypeDefinition.js --partial ./docs/partials/scope.hbs ./docs/partials/body.hbs ./docs/partials/params.hbs --template ./docs/templates/README.hbs --heading-depth 3 ./src/*.js  > ./README.md","eslint":"eslint ./","test":"jest src --coverage","format":"prettier --write **/*.{js,jsx,json,d.ts} !build/** !.vscode/**","release":"npm run test && npm run build && npm version patch && npm publish && git push --tags"},"pre-commit":["test"],"dependencies":{"fbjs":"0.8.0","prop-types":"^15.6.2"},"peerDependencies":{"react":"^16.0.0"},"devDependencies":{"@semantic-release/changelog":"3.0.0","@semantic-release/git":"7.0.4","babel-cli":"^6.26.0","babel-code-frame":"6.26.0","babel-core":"^6.26.0","babel-eslint":"^8.2.2","babel-jest":"^22.4.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","chalk":"2.4.1","codecov":"3.1.0","create-react-context":"0.2.3","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","eslint":"4.19.0","eslint-config-react-app":"3.0.3","eslint-plugin-import":"2.14.0","eslint-plugin-react":"7.7.0","jest":"^22.4.2","jest-enzyme":"6.0.1","jsdoc-to-markdown":"4.0.1","mkdirp":"0.5.1","ncp":"2.0.0","pre-commit":"^1.2.2","prettier":"^1.11.1","react":"^16.5.2","react-dom":"^16.5.2","rimraf":"^2.6.2","rollup":"0.66.5","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"9.1.8","rollup-plugin-node-resolve":"3.4.0","rollup-plugin-replace":"2.1.0","rollup-plugin-uglify":"6.0.0","semantic-release":"15.9.16","uglify-js":"^3.4.9"},"jest":{"coverageDirectory":"../coverage/","collectCoverage":true,"coveragePathIgnorePatterns":["/node_modules/","./__tests__/setup.js","./__tests__/common.js"],"setupTestFrameworkScriptFile":"./__tests__/setup.js","testMatch":["**/__tests__/**/*.test.js?(x)"],"rootDir":"./src","testURL":"http://localhost"},"eslintConfig":{"parser":"babel-eslint","env":{"browser":true,"node":true},"plugins":["import","react"],"extends":["eslint:recommended","plugin:import/errors","plugin:react/recommended"]},"eslintIgnore":["build/**","npm/**","src/__tests__/**","coverage/**","scripts/**"],"release":{"verifyConditions":[{"path":"@semantic-release/npm","pkgRoot":"./build"},"@semantic-release/github","@semantic-release/git"],"generateNotes":["@semantic-release/release-notes-generator"],"prepare":[{"path":"@semantic-release/changelog","changelogFile":"docs/CHANGELOG.md","changelogTitle":"# Change Log"},{"path":"@semantic-release/npm","pkgRoot":"./build"},{"path":"@semantic-release/git","assets":["package.json","docs/CHANGELOG.md","./README.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"publish":[{"path":"@semantic-release/npm","pkgRoot":"./build"},"@semantic-release/github"]},"_id":"react-async-call@0.5.0","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"},"dist":{"integrity":"sha512-efLmDr5X8axG3raSorRmcmQf2TRU5ZZBixzCm2rEiFutx4S+2OTrLGPi8FtUY0hg38VkEWnRNEsHW93NnUy9Jw==","shasum":"bddc83721c984f0b4ac328c9b2c32276cd930a64","tarball":"https://registry.npmjs.org/react-async-call/-/react-async-call-0.5.0.tgz","fileCount":15,"unpackedSize":497105,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbv4NqCRA9TVsSAnZWagAAxngP/2GF8Gd7L0uEZC0aEAiY\nr9PAD4fVeq8G8I3KI3hDTBPOMG6itzjH7FjC9u+rCHehYPK/r/pR8VZhRF9i\nD8Sg5NDi5CA3Y3oaafpBbWrXUbOUis8ABlgtq0iFYIeDW4WAg4t3w3HxOZAL\n59RgEzIQJCmXdmT0Vh93ujCV3soyyXRmK92KfVSlgmk72LzZmYNaz9W6+kZv\nDoppbxJSu+DHJm5k5tnbiCM7C5ElHTvsrt/29jwhnG13A0X+3NGIhzjce6Ty\nJhbaoA6RC6gZYJ826BVmFJmGTJab2MX+D0SzaWZUGelVBA8CEiHGBeJ/irnX\nAU1myEr95SgPKvc1WH1O53rtUae+UPSGsPQHc/DI3/UazLpP97x8f/BsxC0x\nm+r0NNUBrp+HVdKQJzhQ8YQDBZJqw25Stcm1aYmPPKYJWpelSx6a6N28qwLT\nCWheROmeUxAJkF9DxJMxOCUUdj0J5qOOOd3yR7dx4z88VmnA5DyMcdSv98kZ\ncpdTDX9F6fADCf/t0UKTfBDcC4O/jtPTIbH225QLQpbw2CJLccxIrHYybOzq\nDky3RA003HlEUzrsWcMmBOwD3rP81CbE89CJBMrQn1i4Y4S6fi4M6E6ZT96T\nAMSrGWfPoYfWYsaU8F/v0Iaj0R2/j/zV8Mp68aqAckzXWRffJjbilcbaKZ4Y\no18+\r\n=ziU2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCqqOajO4l05qQyfU8WuIfzvq72Kz74b0p4A4jfvUf6NAIgLF14Rqxz6/FJv0K8JU7YG7RqpiWa377kejmM2/Dvju8="}]},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-call_0.5.0_1539277673899_0.5807707557520403"},"_hasShrinkwrap":false},"0.5.1-alpha":{"name":"react-async-call","version":"0.5.1-alpha","description":"Declarative promise handling in React","main":"index.js","unpkg":"umd/react-async-call.production.min.js","author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/kuzn-ilya/react-async-call.git"},"license":"MIT","typings":"index.d.ts","keywords":["react","reactjs","render","props","promise","fetch"],"bugs":{"url":"https://github.com/kuzn-ilya/react-async-call/issues"},"homepage":"https://github.com/kuzn-ilya/react-async-call#readme","scripts":{"clean":"rimraf build","build":"npm run eslint && npm run test && npm run docs && npm run rollup","docs":"jsdoc2md --name-format --separators --helper ./docs/helpers/isTypeDefinition.js --partial ./docs/partials/scope.hbs ./docs/partials/body.hbs ./docs/partials/params.hbs --template ./docs/templates/README.hbs --heading-depth 3 ./src/*.js  > ./README.md","eslint":"eslint ./","test":"cross-env NODE_ENV=development jest src --coverage","format":"prettier --write **/*.{js,jsx,json,d.ts} !build/** !.vscode/**","release":"npm run test && npm run build && npm version patch && npm publish && git push --tags","rollup":"node ./scripts/build.js"},"pre-commit":["test"],"dependencies":{"create-react-context":"0.2.3","fbjs":"0.8.0","react-lifecycles-compat":"3.0.4"},"peerDependencies":{"react":"^16.0.0","prop-types":"^15.6.2"},"devDependencies":{"@semantic-release/changelog":"3.0.0","@semantic-release/git":"7.0.4","babel-cli":"6.26.0","babel-code-frame":"6.26.0","babel-core":"6.26.3","babel-eslint":"10.0.1","babel-jest":"23.6.0","babel-plugin-external-helpers":"6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"6.23.0","babel-preset-env":"1.7.0","babel-preset-react":"6.24.1","chalk":"2.4.1","cli-table":"0.3.1","codecov":"3.1.0","cross-env":"5.2.0","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","eslint":"4.19.0","eslint-config-react-app":"3.0.3","eslint-plugin-import":"2.14.0","eslint-plugin-react":"7.7.0","gzip-size":"5.0.0","jest":"23.6.0","jest-enzyme":"6.0.1","jsdoc-to-markdown":"4.0.1","mkdirp":"0.5.1","ncp":"2.0.0","pre-commit":"^1.2.2","prettier":"^1.11.1","react":"^16.5.2","react-dom":"^16.5.2","rimraf":"^2.6.2","rollup":"0.66.5","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"9.1.8","rollup-plugin-node-resolve":"3.4.0","rollup-plugin-replace":"2.1.0","rollup-plugin-uglify":"6.0.0","semantic-release":"15.9.16","uglify-js":"^3.4.9"},"jest":{"coverageDirectory":"../coverage/","collectCoverage":true,"coveragePathIgnorePatterns":["/node_modules/","./__tests__/setup.js","./__tests__/common.js"],"setupTestFrameworkScriptFile":"./__tests__/setup.js","testMatch":["**/__tests__/**/*.test.js?(x)"],"transform":{"^.+\\.jsx?$":"../jest/transform.js"},"rootDir":"./src","testURL":"http://localhost"},"eslintConfig":{"parser":"babel-eslint","env":{"browser":true,"node":true},"plugins":["import","react"],"extends":["eslint:recommended","plugin:import/errors","plugin:react/recommended"]},"eslintIgnore":["build/**","npm/**","src/__tests__/**","coverage/**","scripts/**"],"release":{"verifyConditions":[{"path":"@semantic-release/npm","pkgRoot":"./build"},"@semantic-release/github","@semantic-release/git"],"generateNotes":["@semantic-release/release-notes-generator"],"prepare":[{"path":"@semantic-release/changelog","changelogFile":"docs/CHANGELOG.md","changelogTitle":"# Change Log"},{"path":"@semantic-release/npm","pkgRoot":"./build"},{"path":"@semantic-release/git","assets":["package.json","docs/CHANGELOG.md","./README.md","scripts/stats.json"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"publish":[{"path":"@semantic-release/npm","pkgRoot":"./build"},"@semantic-release/github"]},"readme":"# React Async Call\r\n\r\n[![npm version][npm-badge]][npm]\r\n[![Build Status][build-badge]][build]\r\n[![Code Coverage][coverage-badge]][coverage]\r\n[![MIT License][license-badge]][license]\r\n[![size][size-badge]][unpkg-dist]\r\n[![gzip size][gzip-badge]][unpkg-dist]\r\n[![module formats: umd, cjs, and es][module-formats-badge]][unpkg-dist]\r\n\r\nDeclarative promise handling in React.\r\n\r\n## Table of Content\r\n  * [Motivation](#motivation)\r\n  * [Install](#install)\r\n  * [Usage](#usage)\r\n    * [Basic Usage](#basic-usage)\r\n    * [Data Fetching](#data-fetching)\r\n    * [Incremental Data Fetching](#incremental-data-fetching)\r\n  * [API Reference](#api-reference)\r\n  * [Change Log](#change-log)\r\n  * [Credits](#credits)\r\n\r\n## Motivation\r\n\r\nHandling promise-returning functions (for example, [`fetch`][fetch-api]) is not hard to do in React application. There are several packages like [holen][holen] or [React Request][react-request] for simplifying such kind of tasks but theirs authors try to impose their own vision on various aspects of data fetching. For instance, [React Request][react-request] has a cache for HTTP requests but what will happen if you decide to change caching strategy? React Async Call tries to sharpen the edges. This is minimalistic package that can be used not only for data fetching but also for handling any promise-returning functions.\r\n\r\n## Install\r\n\r\n### Using npm\r\n\r\n`npm i react-async-call --save`\r\n\r\nThen, use it as usual:\r\n\r\n```JS\r\n// using ES6 modules\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\n// using CommonJS modules\r\nvar createAsyncCallComponent = require('react-async-call').createAsyncCallComponent\r\n```\r\n\r\n### UMD build\r\n\r\nThe UMD build is also available on [unpkg][unpkg]:\r\n\r\n```HTML\r\n<script src=\"https://unpkg.com/react-async-call\"></script>\r\n```\r\n\r\nThe package is avalable on `window.ReactAsyncCall`\r\n\r\n## Usage\r\n\r\n### Basic Usage\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/y7349vl4oj)\r\n* [TypeScript Example](https://codesandbox.io/s/w76rq8jjx8)\r\n\r\n```jsx\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\nconst AsyncCall = createAsyncCallComponent(value => Promise.resolve(42))\r\n\r\nconst Example = () => (\r\n  <AsyncCall>\r\n    <AsyncCall.Running>\r\n      <div>Loading...</div>\r\n    </AsyncCall.Running>\r\n    <AsyncCall.Resolved>{({ result }) => <div>The result of function call is {result}</div>}</AsyncCall.Resolved>\r\n    <AsyncCall.Rejected>{({ rejectReason }) => <div>Error: {rejectReason}</div>}</AsyncCall.Rejected>\r\n  </AsyncCall>\r\n)\r\n```\r\n\r\n### Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/vn8qmr43yy)\r\n* [TypeScript Example](https://codesandbox.io/s/ryxwnkl34)\r\n\r\n### Incremental Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/mzzvlmj65y)\r\n* [TypeScript Example](https://codesandbox.io/s/5y3m6mrx9p)\r\n\r\n# API Reference\r\n\r\n## Exported Members\r\n\r\n<a name=\"createAsyncCallComponent\"></a>\n\n### `createAsyncCallComponent(fn, [displayName])` ⇒ [<code>AsyncCall</code>](#AsyncCall)\nA factory function that creates React component class and binds async operation to it:\r```jsx\rconst Fetcher = createAsyncCallComponent(() => fetch('https://api.github.com/repositories').then(data => data.json()))\r```\r\rAfter calling of this function you can use returned component and its static sub-components to hook async operation lifecycle:\r\r```jsx\r// Start executing async operation on Fetcher mount\r<Fetcher>\r  <Fetcher.Running>\r    Renders only if async operation is executing\r  </Fetcher.Running>\r\r  <Fetcher.Resolved>\r    {({ result }) => (\r      <div>\r        Renders if async operation has been executed successfully\r        <pre>{JSON.stringify(result)}></pre>\r      </div>\r    )}}\r  </Fetcher.Resolved>\r\r  <Fetcher.Rejected>\r    Renders only if async operation failed\r  </Fetcher.Rejected>\r</Fetcher>\r```\r\r`createAsyncCallComponent` is the only member exported by react-async-call package.\n\n**Kind**: global function  \r\n**Params**\r\n\r\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| fn | [<code>AsyncFunction</code>](#AsyncFunction) |  | See [`AsyncFunction` signature](#AsyncFunction) for details. |\n| [displayName] | <code>String</code> | <code>&quot;AsyncCall&quot;</code> | Component name (visible, for example, in React extension of Chrome Dev Tools). |\n\n**Returns**: [<code>AsyncCall</code>](#AsyncCall) - Returns React [component class `AsyncCall`](#AsyncCall) for the further usage.\rThis class contains extra component classes [`Running`](#AsyncCall.Running),\r[`Rejected`](#AsyncCall.Rejected), [`Resolved`](#AsyncCall.Resolved),\r[`Completed`](#AsyncCall.Completed), [`ResultStore`](#AsyncCall.ResultStore),\r[`Executor`](#AsyncCall.Executor) and [`State`](#AsyncCall.State) which can be used as children\r(direct or indirect) of `AsyncCall`.  \n\n* * *\n\n## React Components\r\n\r\n<a name=\"AsyncCall\"></a>\n\n### AsyncCall ⇐ <code>React.Component</code>\nReact Component. This class is returned by call of [createAsyncCallComponent](#createAsyncCallComponent) and this is the only way to get it.\n\n**Kind**: global class  \r\n**Extends**: <code>React.Component</code>  \n**Properties**\n\n| Name | Type | Default | Description |\n| --- | --- | --- | --- |\n| children | <code>ReactNode</code> \\| [<code>AsyncCallChildrenFunction</code>](#AsyncCallChildrenFunction) |  | Property `children` can be either a ReactNode or a function that receives an object as its only argument and return ReactNode. `AsyncCall` component **always** renders its children. We recommend to use [the first form of using `children` property](https://github.com/kuzn-ilya/react-async-call/blob/master/README.md#basic-usage) and respond to async operation execution results using *static sub-components* (like [`Running`](#AsyncCall.Running), [`Rejected`](#AsyncCall.Rejected), [`Resolved`](#AsyncCall.Resolved), [`Completed`](#AsyncCall.Completed), [`ResultStore`](#AsyncCall.ResultStore), [`Executor`](#AsyncCall.Executor) and [`State`](#AsyncCall.State)). |\n| params | <code>any</code> |  | A value that will be passed as a single argument into async function. Every time when change of this property occurs, asyncronous operation restarts. |\n| [lazy] | <code>Boolean</code> | <code>false</code> | If `true`, component will not start execution of asynchronous operation during component mount phase and on `params` property change. You should start async operation manualy by calling [`execute` method](#AsyncCall+execute) or via [`Executor`](#AsyncCall.Executor). |\n\n\n* [AsyncCall](#AsyncCall) ⇐ <code>React.Component</code>\n    * _instance_\n        * [`.execute()`](#AsyncCall+execute)\n    * _static_\n        * [.Running](#AsyncCall.Running) ⇐ <code>React.StatelessComponent</code>\n        * [.Resolved](#AsyncCall.Resolved) ⇐ <code>React.StatelessComponent</code>\n        * [.Rejected](#AsyncCall.Rejected) ⇐ <code>React.StatelessComponent</code>\n        * [.Executor](#AsyncCall.Executor) ⇐ <code>React.StatelessComponent</code>\n        * [.State](#AsyncCall.State) ⇐ <code>React.StatelessComponent</code>\n        * [.Completed](#AsyncCall.Completed) ⇐ <code>React.StatelessComponent</code>\n        * [.ResultStore](#AsyncCall.ResultStore) ⇐ <code>React.Component</code>\n            * _instance_\n                * [`.reset([execute])`](#AsyncCall.ResultStore+reset)\n            * _static_\n                * [.HasResult](#AsyncCall.ResultStore.HasResult) ⇐ <code>React.StatelessComponent</code>\n                * [.Resetter](#AsyncCall.ResultStore.Resetter) ⇐ <code>React.StatelessComponent</code>\n\n\n* * *\n\n<a name=\"AsyncCall+execute\"></a>\n\n#### `asyncCall.execute()`\nMethod for executing async operation manually.\rIt is recommended to use [`<Executor>` component](#AsyncCall.Executor) instead.\n\n**Kind**: instance method of [<code>AsyncCall</code>](#AsyncCall)  \r\n\n* * *\n\n<a name=\"AsyncCall.Running\"></a>\n\n#### AsyncCall.Running ⇐ <code>React.StatelessComponent</code>\nReact Component. Renders its children whenever async operation was started but is still executing. Otherwise renders nothing.\n\n**Kind**: static class of [<code>AsyncCall</code>](#AsyncCall)  \r\n**Extends**: <code>React.StatelessComponent</code>  \n**Properties**\n\n| Name | Type |\n| --- | --- |\n| children | <code>ReactNode</code> | \n\n\n* * *\n\n<a name=\"AsyncCall.Resolved\"></a>\n\n#### AsyncCall.Resolved ⇐ <code>React.StatelessComponent</code>\nReact Component. Renders its children whenever async operation has been completed successfully (promise was resolved),\rbut is still not started again. Otherwise renders nothing.\rProperty `children` can be either React node(s) or children function with the only argument receiving object with the only field `result`.\n\n**Kind**: static class of [<code>AsyncCall</code>](#AsyncCall)  \r\n**Extends**: <code>React.StatelessComponent</code>  \n**Properties**\n\n| Name | Type |\n| --- | --- |\n| children | <code>ReactNode</code> \\| [<code>ResolvedChildrenFunction</code>](#ResolvedChildrenFunction) | \n\n\n* * *\n\n<a name=\"AsyncCall.Rejected\"></a>\n\n#### AsyncCall.Rejected ⇐ <code>React.StatelessComponent</code>\nReact Component. Renders its children whenever async operation has been completed with failure (promise was rejected),\rbut is still not started again. Otherwise renders nothing.\rProperty `children` can be either React node(s) or children function with the only argument receiving object with the only field `rejectReason`\r(promise reject reason).\n\n**Kind**: static class of [<code>AsyncCall</code>](#AsyncCall)  \r\n**Extends**: <code>React.StatelessComponent</code>  \n**Properties**\n\n| Name | Type |\n| --- | --- |\n| children | <code>ReactNode</code> \\| [<code>RejectedChildrenFunction</code>](#RejectedChildrenFunction) | \n\n\n* * *\n\n<a name=\"AsyncCall.Executor\"></a>\n\n#### AsyncCall.Executor ⇐ <code>React.StatelessComponent</code>\nReact Component. Renders its children always. Property `children` must be a function with the only argument receiving an object\rwith a function for manual execution of async operation.\n\n**Kind**: static class of [<code>AsyncCall</code>](#AsyncCall)  \r\n**Extends**: <code>React.StatelessComponent</code>  \n**Properties**\n\n| Name | Type |\n| --- | --- |\n| children | [<code>ExecutorChildrenFunction</code>](#ExecutorChildrenFunction) | \n\n\n* * *\n\n<a name=\"AsyncCall.State\"></a>\n\n#### AsyncCall.State ⇐ <code>React.StatelessComponent</code>\nReact Component. Renders its children always. Property `children` must be a function\rwith the only argument receiving an object ([see description of `StateChildrenFunction`](#StateChildrenFunction))\rwith the state of async operation. `State` component is handy for complicated UI cases when none of static components of [AsyncCall](#AsyncCall) suits you.\n\n**Kind**: static class of [<code>AsyncCall</code>](#AsyncCall)  \r\n**Extends**: <code>React.StatelessComponent</code>  \n**Properties**\n\n| Name | Type |\n| --- | --- |\n| children | [<code>StateChildrenFunction</code>](#StateChildrenFunction) | \n\n\n* * *\n\n<a name=\"AsyncCall.Completed\"></a>\n\n#### AsyncCall.Completed ⇐ <code>React.StatelessComponent</code>\nReact Component. Renders its children whenever async operation has been completed (successfully or not),\rbut is still not started again. Otherwise renders nothing.\r\r```jsx\r<AsyncCall.Completed>\r  Async operation completed\r</AsyncCall.Completed>\r```\n\n**Kind**: static class of [<code>AsyncCall</code>](#AsyncCall)  \r\n**Extends**: <code>React.StatelessComponent</code>  \n**Properties**\n\n| Name | Type | Description |\n| --- | --- | --- |\n| [children] | <code>ReactNode</code> | React children to be rendered whenever async operation is completed. |\n\n\n* * *\n\n<a name=\"AsyncCall.ResultStore\"></a>\n\n#### AsyncCall.ResultStore ⇐ <code>React.Component</code>\nReact Component. Implements store of results of sequential async calls.\rUseful when you need to accumulate results of async calls (e.g., to glue together sequential calls of server API).\n\n**Kind**: static class of [<code>AsyncCall</code>](#AsyncCall)  \r\n**Extends**: <code>React.Component</code>  \n**Properties**\n\n| Name | Type | Default | Description |\n| --- | --- | --- | --- |\n| children | [<code>ResultStoreChildrenFunction</code>](#ResultStoreChildrenFunction) \\| <code>ReactNode</code> |  | React children or function that returns rendered result depending on `hasResult` flag and `result`. |\n| reduce | [<code>ReduceFunction</code>](#ReduceFunction) |  | Function from previousResult and currentResult to a new result. Useful, for example, when you need to accumulate sequential async calls (e.g. for fetching data for infinte page scroll). |\n| [initialValue] | <code>any</code> |  | Optional initial value for the result store. If value is provided, result store will have result always. |\n| [reset] | <code>boolean</code> | <code>false</code> | @deprecated If `true`, clears the store (**Deprecated, will be removed in version 1.0.0. Use [Resetter](#AsyncCall.ResultStore.Resetter) instead**). |\n\n\n* [.ResultStore](#AsyncCall.ResultStore) ⇐ <code>React.Component</code>\n    * _instance_\n        * [`.reset([execute])`](#AsyncCall.ResultStore+reset)\n    * _static_\n        * [.HasResult](#AsyncCall.ResultStore.HasResult) ⇐ <code>React.StatelessComponent</code>\n        * [.Resetter](#AsyncCall.ResultStore.Resetter) ⇐ <code>React.StatelessComponent</code>\n\n\n* * *\n\n<a name=\"AsyncCall.ResultStore+reset\"></a>\n\n##### `resultStore.reset([execute])`\nResets result store to its initial state.\n\n**Kind**: instance method of [<code>ResultStore</code>](#AsyncCall.ResultStore)  \r\n**Params**\r\n\r\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| [execute] | <code>bool</code> | <code>true</code> | Wether execute promise-returning function after resetting or not. |\n\n\n* * *\n\n<a name=\"AsyncCall.ResultStore.HasResult\"></a>\n\n##### ResultStore.HasResult ⇐ <code>React.StatelessComponent</code>\nReact Component. Renders its children whenever result store is not empty (has result).\rProperty `children` must be a function with the only argument receiving object with the only field `result`.\n\n**Kind**: static class of [<code>ResultStore</code>](#AsyncCall.ResultStore)  \r\n**Extends**: <code>React.StatelessComponent</code>  \n**Properties**\n\n| Name | Type |\n| --- | --- |\n| children | [<code>HasResultChildrenFunction</code>](#HasResultChildrenFunction) | \n\n\n* * *\n\n<a name=\"AsyncCall.ResultStore.Resetter\"></a>\n\n##### ResultStore.Resetter ⇐ <code>React.StatelessComponent</code>\nReact Component. Renders its children always. Property `children` must be a function with the only argument receiving an object\rwith a function for manual reset of [ResultStore](#AsyncCall.ResultStore).\n\n**Kind**: static class of [<code>ResultStore</code>](#AsyncCall.ResultStore)  \r\n**Extends**: <code>React.StatelessComponent</code>  \n**Properties**\n\n| Name | Type |\n| --- | --- |\n| children | [<code>ResetterChildrenFunction</code>](#ResetterChildrenFunction) | \n\n\n* * *\n\n## Function Signatures\r\n\r\n<a name=\"AsyncFunction\"></a>\n\n### `AsyncFunction(params)` ⇒ <code>Promise</code>\nAsynchronous function (aka asynchronous operation or promise-returning function)\rwhich returns promise based on supplied parameter.\n\n**Params**\r\n\r\n\n| Param | Type | Description |\n| --- | --- | --- |\n| params | <code>any</code> | Parameters, based on which function should return promise. |\n\n**Returns**: <code>Promise</code> - Promise object that represents asynchronous operation result.  \n**Example**  \nThe function below returns result (`Promise` object) of getting user data from GitHub API by his/her GitHub login:\r```\rconst getGitHubUserData = userName => fetch(`https://api.github.com/users/${userName}`).then(data => data.json())\r```\n\n* * *\n\n<a name=\"ExecuteFunction\"></a>\n\n### `ExecuteFunction()` ⇒ <code>void</code>\nExecute function\n\n\n* * *\n\n<a name=\"AsyncCallChildrenFunction\"></a>\n\n### `AsyncCallChildrenFunction(params)` ⇒ <code>ReactNode</code>\nType of children function for [AsyncCall](#AsyncCall)\n\n**Params**\r\n\r\n\n| Param | Type | Description |\n| --- | --- | --- |\n| params | <code>object</code> | Represents current status of asynchronous operation. |\n| params.running | <code>boolean</code> | Indicates whether asynchronous operation is executing or not. |\n| params.rejected | <code>boolean</code> | Indicates whether asynchronous operation was failed when it was called last time. If `true`, result of promise rejection (error) can be found in the `params.rejectReason`. |\n| params.resolved | <code>boolean</code> | Indicates whether asynchronous operation was succeeded when it was called last time. If `true`, result of promise resolving can be found in the `params.result`. |\n| [params.result] | <code>any</code> | Contains result of promise (returned by async function) resolving if function call was successful. `undefined` if asynchronous operation is running or promise was rejected. |\n| [params.rejectReason] | <code>any</code> | Contains result of promise (returned by async function) rejection if function call was unsuccessful. `undefined` if asynchronous operation is running or promise was resolved. |\n| params.execute | [<code>ExecuteFunction</code>](#ExecuteFunction) | Function for manual execution of asynchronous operation. |\n\n**Returns**: <code>ReactNode</code> - Should return rendered React component(s) depending on supplied params.  \n\n* * *\n\n<a name=\"ResolvedChildrenFunction\"></a>\n\n### `ResolvedChildrenFunction()` ⇒ <code>ReactNode</code>\nType of children function for [Resolved](#AsyncCall.Resolved)\n\n**Params**\r\n\r\n\n| Param | Type |\n| --- | --- |\n|  | <code>object</code> | \n| params.result | <code>any</code> | \n\n**Returns**: <code>ReactNode</code> - Should return rendered React component(s) depending on supplied params.  \n\n* * *\n\n<a name=\"RejectedChildrenFunction\"></a>\n\n### `RejectedChildrenFunction(params)` ⇒ <code>ReactNode</code>\nType of children function for [Rejected](#AsyncCall.Rejected)\n\n**Params**\r\n\r\n\n| Param | Type |\n| --- | --- |\n| params | <code>object</code> | \n| params.rejectReason | <code>any</code> | \n\n**Returns**: <code>ReactNode</code> - Should return rendered React component(s) depending on supplied params.  \n\n* * *\n\n<a name=\"ExecutorChildrenFunction\"></a>\n\n### `ExecutorChildrenFunction(params)` ⇒ <code>ReactNode</code>\nType of children function for [Executor](#AsyncCall.Executor)\n\n**Params**\r\n\r\n\n| Param | Type | Description |\n| --- | --- | --- |\n| params | <code>object</code> |  |\n| params.execute | [<code>ExecuteFunction</code>](#ExecuteFunction) | Function for manual execution of asynchronous operation. |\n\n**Returns**: <code>ReactNode</code> - Should return rendered React component(s) depending on supplied params.  \n\n* * *\n\n<a name=\"StateChildrenFunction\"></a>\n\n### `StateChildrenFunction(params)` ⇒ <code>ReactNode</code>\nType of children function for [State](#AsyncCall.State)\n\n**Params**\r\n\r\n\n| Param | Type | Description |\n| --- | --- | --- |\n| params | <code>object</code> |  |\n| params.running | <code>boolean</code> | Whether async opertation is executing or not. If you only need to process `running`, use either [Running](#AsyncCall.Running) or [Completed](#AsyncCall.Completed) component instead. |\n| params.resolved | <code>boolean</code> | Whether async opertation was completed successfully last time or not. If you only need to process `resolved` and `result`, [Resolved](#AsyncCall.Resolved) component instead. |\n| params.rejected | <code>boolean</code> | Whether async opertation failed last time or not. If you only need to process `rejected` and `rejectedStatus`, use [Rejected](#AsyncCall.Rejected) component instead. |\n| [params.rejectReason] | <code>any</code> | Contains reject reason if async opertation failed last time. If you only need to process `rejected` and `rejectedReason`, use [Rejected](#AsyncCall.Rejected) component instead. |\n| [params.result] | <code>any</code> | Contains result of last successful async operation call. If you only need to process `resolved` and `result`, use [Resolved](#AsyncCall.Resolved) component instead. If you need to accumulate result, consider [ResultStore](#AsyncCall.ResultStore) usage. |\n| params.execute | [<code>ExecuteFunction</code>](#ExecuteFunction) | Callback for manual execution of async operation. If you only need to execute async operation manualy, use [Executor](#AsyncCall.Executor) component instead.                               | |\n\n**Returns**: <code>ReactNode</code> - Should return rendered React component(s) depending on supplied params.  \n\n* * *\n\n<a name=\"ResultStoreChildrenFunction\"></a>\n\n### `ResultStoreChildrenFunction(params)` ⇒ <code>ReactNode</code>\nType of `children` function of a [ResultStore](#AsyncCall.ResultStore) component.\n\n**Params**\r\n\r\n\n| Param | Type | Description |\n| --- | --- | --- |\n| params | <code>object</code> |  |\n| params.hasResult | <code>boolean</code> |  |\n| [params.result] | <code>any</code> |  |\n| params.reset | [<code>ResetFunction</code>](#ResetFunction) | Function for manual store cleaning. |\n\n**Returns**: <code>ReactNode</code> - Should return rendered React component(s) depending on supplied params.  \n\n* * *\n\n<a name=\"ReduceFunction\"></a>\n\n### `ReduceFunction(previousResult, currentResult)` ⇒ <code>any</code>\nType of `reduce` property of a [ResultStore](#AsyncCall.ResultStore) component.\n\n**Params**\r\n\r\n\n| Param | Type |\n| --- | --- |\n| previousResult | <code>any</code> | \n| currentResult | <code>any</code> | \n\n\n* * *\n\n<a name=\"HasResultChildrenFunction\"></a>\n\n### `HasResultChildrenFunction(params)` ⇒ <code>ReactNode</code>\nType of children function for [HasResult](#AsyncCall.ResultStore.HasResult)\n\n**Params**\r\n\r\n\n| Param | Type |\n| --- | --- |\n| params | <code>object</code> | \n| params.result | <code>any</code> | \n\n**Returns**: <code>ReactNode</code> - Should return rendered React component(s) depending on supplied params.  \n\n* * *\n\n<a name=\"ResetFunction\"></a>\n\n### `ResetFunction([execute])`\nReset function\n\n**Params**\r\n\r\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| [execute] | <code>bool</code> | <code>false</code> | Wether execute promise-returning function after resetting or not. |\n\n\n* * *\n\n<a name=\"ResetterChildrenFunction\"></a>\n\n### `ResetterChildrenFunction(params)` ⇒ <code>ReactNode</code>\nType of children function for [Resetter](#AsyncCall.ResultStore.Resetter)\n\n**Params**\r\n\r\n\n| Param | Type | Description |\n| --- | --- | --- |\n| params | <code>object</code> |  |\n| params.reset | [<code>ResetFunction</code>](#ResetFunction) | Function for manual clearing of [ResultStore](#AsyncCall.ResultStore). |\n\n**Returns**: <code>ReactNode</code> - Should return rendered React component(s) depending on supplied params.  \n\n* * *\n\n## Change Log\r\n\r\n[You can find change log here][changelog]\r\n\r\n## Credits\r\n\r\nGreat thanks to [@kitos](https://github.com/kitos) and [@ventrz](https://github.com/ventrz) for their invaluable help, support and bright ideas!\r\n\r\n[npm-badge]: https://badge.fury.io/js/react-async-call.svg\r\n[npm]: https://www.npmjs.com/package/react-async-call\r\n[build-badge]: https://travis-ci.org/kuzn-ilya/react-async-call.svg?branch=master\r\n[build]: https://travis-ci.org/kuzn-ilya/react-async-call\r\n[coverage-badge]: https://codecov.io/gh/kuzn-ilya/react-async-call/branch/master/graph/badge.svg\r\n[coverage]: https://codecov.io/gh/kuzn-ilya/react-async-call\r\n[license-badge]: https://img.shields.io/npm/l/react-async-call.svg\r\n[license]: https://github.com/kuzn-ilya/react-async-call/blob/master/LICENSE\r\n[size-badge]: http://img.badgesize.io/https://unpkg.com/react-async-call/umd/react-async-call.production.min.js?label=size\r\n[gzip-badge]: http://img.badgesize.io/https://unpkg.com/react-async-call/umd/react-async-call.production.min.js?compression=gzip&label=gzip%20size\r\n[module-formats-badge]: https://img.shields.io/badge/module%20formats-umd%2C%20cjs-green.svg\r\n[unpkg-dist]: https://unpkg.com/react-async-call/lib/\r\n[unpkg]: https:/unpkg.com\r\n[changelog]: https://github.com/kuzn-ilya/react-async-call/blob/master/docs/CHANGELOG.md\r\n[fetch-api]: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API\r\n[holen]: https://github.com/tkh44/holen\r\n[react-request]: https://github.com/jamesplease/react-request","readmeFilename":"README.md","_id":"react-async-call@0.5.1-alpha","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"},"dist":{"integrity":"sha512-WOM/0XBLuiDVaZcmK1sygcSYhdwVGFsjHU/WrUO7CrNT6jFopdwANy+8PV6uYPjGj8/cFcnZXNCesgCNB9HBxA==","shasum":"de7659f9366fba1c9694443bd931a19c0ed5210b","tarball":"https://registry.npmjs.org/react-async-call/-/react-async-call-0.5.1-alpha.tgz","fileCount":15,"unpackedSize":541153,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbwhluCRA9TVsSAnZWagAAX3YP/0qBynrKmzXAfv4q8ntj\nF/BGEX7ZXLxa4ZyFAmSVYAHqICas/iqLBK3KQyeDklnjMiD1CzgXduglknG8\nwtRuaE7/fREhaULAgzKPodsFOEkvlyr1YNdWdGKBT9m6snAgz0X7QBovunRp\nbxiD/bAKi+b24w8rPhFjzbnkms3xbx7ijlmbZpitejLNl7tqShoN9F+Joa+D\nAvvKEddz1kI/uM9uC4/KxLUf3zvflsuZkTBmtYzStimrMVOKh6ttQ/Rwg8no\ntGxdnzq6WXVUtH0qkv5kLjAQtNizMJBrv/lp5W9SZKbgNIutIxbZk0BW1u12\nTXz+64PHdREVZqfhKK6Ll+Y3yCyYRPmAUi5GkUfVlplf8XPTpjpR3sGOLfLh\nLZPbjVWMy4ws3VULE/uXLjc1pVKYl08S7Hq11RMCf3CGuEAxA2huV83YTly+\n3jb9oX/yHZoF93ZiIIS+W7ttEwdvX7uJmA0qZr5k60KVfty0SDgki1DYVntD\n8JNRWWn3VvNFU/VnmHe754sC2dpoTNkVuMybcmUiIKPisuybahU/vLwFNEyn\nfxedDSS0kioCr4XCcF7CfkB2Ui5D1deggG4o4VBcAaBBbzjAbkiXtKw3SRJK\n5BPQT/pXbISFEhHkgxFcC3I4O+snq1RfVFy/xpVJIwlVU7OM2AE8/4bTJT4o\ns2R4\r\n=4E3N\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAFOlZGgAhKROvhU10fKrb94BNWSRLyUGWpi4q05Ust4AiEAlWkaoDnk3qqXIq5mw46rwsCGaXYt+hFdh28AKVOwpyQ="}]},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-call_0.5.1-alpha_1539447150009_0.5698323251795578"},"_hasShrinkwrap":false},"0.5.1-alpha.1":{"name":"react-async-call","version":"0.5.1-alpha.1","description":"Declarative promise handling in React","main":"index.js","unpkg":"umd/react-async-call.production.min.js","author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/kuzn-ilya/react-async-call.git"},"license":"MIT","typings":"index.d.ts","keywords":["react","reactjs","render","props","promise","fetch"],"bugs":{"url":"https://github.com/kuzn-ilya/react-async-call/issues"},"homepage":"https://github.com/kuzn-ilya/react-async-call#readme","scripts":{"clean":"rimraf build","build":"npm run eslint && npm run test && npm run docs && npm run rollup","docs":"jsdoc2md --name-format --separators --helper ./docs/helpers/isTypeDefinition.js --partial ./docs/partials/scope.hbs ./docs/partials/body.hbs ./docs/partials/params.hbs --template ./docs/templates/README.hbs --heading-depth 3 ./src/*.js  > ./README.md","eslint":"eslint ./","test":"cross-env NODE_ENV=development jest src --coverage","format":"prettier --write **/*.{js,jsx,json,d.ts} !build/** !.vscode/**","release":"npm run test && npm run build && npm version patch && npm publish && git push --tags","rollup":"node ./scripts/build.js"},"pre-commit":["test"],"dependencies":{"create-react-context":"0.2.3","fbjs":"0.8.0","react-lifecycles-compat":"3.0.4"},"peerDependencies":{"react":"^16.0.0","prop-types":"^15.6.2"},"devDependencies":{"@semantic-release/changelog":"3.0.0","@semantic-release/git":"7.0.4","babel-cli":"6.26.0","babel-code-frame":"6.26.0","babel-core":"6.26.3","babel-eslint":"10.0.1","babel-jest":"23.6.0","babel-plugin-external-helpers":"6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"6.23.0","babel-preset-env":"1.7.0","babel-preset-react":"6.24.1","chalk":"2.4.1","cli-table":"0.3.1","codecov":"3.1.0","cross-env":"5.2.0","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","eslint":"4.19.0","eslint-config-react-app":"3.0.3","eslint-plugin-import":"2.14.0","eslint-plugin-react":"7.7.0","gzip-size":"5.0.0","jest":"23.6.0","jest-enzyme":"6.0.1","jsdoc-to-markdown":"4.0.1","mkdirp":"0.5.1","ncp":"2.0.0","pre-commit":"^1.2.2","prettier":"^1.11.1","react":"^16.5.2","react-dom":"^16.5.2","rimraf":"^2.6.2","rollup":"0.66.5","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"9.1.8","rollup-plugin-node-resolve":"3.4.0","rollup-plugin-replace":"2.1.0","rollup-plugin-uglify":"6.0.0","semantic-release":"15.9.16","uglify-js":"^3.4.9"},"jest":{"coverageDirectory":"../coverage/","collectCoverage":true,"coveragePathIgnorePatterns":["/node_modules/","./__tests__/setup.js","./__tests__/common.js"],"setupTestFrameworkScriptFile":"./__tests__/setup.js","testMatch":["**/__tests__/**/*.test.js?(x)"],"transform":{"^.+\\.jsx?$":"../jest/transform.js"},"rootDir":"./src","testURL":"http://localhost"},"eslintConfig":{"parser":"babel-eslint","env":{"browser":true,"node":true},"plugins":["import","react"],"extends":["eslint:recommended","plugin:import/errors","plugin:react/recommended"]},"eslintIgnore":["build/**","npm/**","src/__tests__/**","coverage/**","scripts/**"],"release":{"verifyConditions":[{"path":"@semantic-release/npm","pkgRoot":"./build"},"@semantic-release/github","@semantic-release/git"],"generateNotes":["@semantic-release/release-notes-generator"],"prepare":[{"path":"@semantic-release/changelog","changelogFile":"docs/CHANGELOG.md","changelogTitle":"# Change Log"},{"path":"@semantic-release/npm","pkgRoot":"./build"},{"path":"@semantic-release/git","assets":["package.json","docs/CHANGELOG.md","./README.md","scripts/stats.json"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"publish":[{"path":"@semantic-release/npm","pkgRoot":"./build"},"@semantic-release/github"]},"readme":"# React Async Call\r\n\r\n[![npm version][npm-badge]][npm]\r\n[![Build Status][build-badge]][build]\r\n[![Code Coverage][coverage-badge]][coverage]\r\n[![MIT License][license-badge]][license]\r\n[![size][size-badge]][unpkg-dist]\r\n[![gzip size][gzip-badge]][unpkg-dist]\r\n[![module formats: umd, cjs, and es][module-formats-badge]][unpkg-dist]\r\n\r\nDeclarative promise handling in React.\r\n\r\n## Table of Content\r\n  * [Motivation](#motivation)\r\n  * [Install](#install)\r\n  * [Usage](#usage)\r\n    * [Basic Usage](#basic-usage)\r\n    * [Data Fetching](#data-fetching)\r\n    * [Incremental Data Fetching](#incremental-data-fetching)\r\n  * [API Reference](#api-reference)\r\n  * [Change Log](#change-log)\r\n  * [Credits](#credits)\r\n\r\n## Motivation\r\n\r\nHandling promise-returning functions (for example, [`fetch`][fetch-api]) is not hard to do in React application. There are several packages like [holen][holen] or [React Request][react-request] for simplifying such kind of tasks but theirs authors try to impose their own vision on various aspects of data fetching. For instance, [React Request][react-request] has a cache for HTTP requests but what will happen if you decide to change caching strategy? React Async Call tries to sharpen the edges. This is minimalistic package that can be used not only for data fetching but also for handling any promise-returning functions.\r\n\r\n## Install\r\n\r\n### Using npm\r\n\r\n`npm i react-async-call --save`\r\n\r\nThen, use it as usual:\r\n\r\n```JS\r\n// using ES6 modules\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\n// using CommonJS modules\r\nvar createAsyncCallComponent = require('react-async-call').createAsyncCallComponent\r\n```\r\n\r\n### UMD build\r\n\r\nThe UMD build is also available on [unpkg][unpkg]:\r\n\r\n```HTML\r\n<script src=\"https://unpkg.com/react-async-call\"></script>\r\n```\r\n\r\nThe package is avalable on `window.ReactAsyncCall`\r\n\r\n## Usage\r\n\r\n### Basic Usage\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/y7349vl4oj)\r\n* [TypeScript Example](https://codesandbox.io/s/w76rq8jjx8)\r\n\r\n```jsx\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\nconst AsyncCall = createAsyncCallComponent(value => Promise.resolve(42))\r\n\r\nconst Example = () => (\r\n  <AsyncCall>\r\n    <AsyncCall.Running>\r\n      <div>Loading...</div>\r\n    </AsyncCall.Running>\r\n    <AsyncCall.Resolved>{({ result }) => <div>The result of function call is {result}</div>}</AsyncCall.Resolved>\r\n    <AsyncCall.Rejected>{({ rejectReason }) => <div>Error: {rejectReason}</div>}</AsyncCall.Rejected>\r\n  </AsyncCall>\r\n)\r\n```\r\n\r\n### Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/vn8qmr43yy)\r\n* [TypeScript Example](https://codesandbox.io/s/ryxwnkl34)\r\n\r\n### Incremental Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/mzzvlmj65y)\r\n* [TypeScript Example](https://codesandbox.io/s/5y3m6mrx9p)\r\n\r\n# API Reference\r\n\r\n## Exported Members\r\n\r\n<a name=\"createAsyncCallComponent\"></a>\n\n### `createAsyncCallComponent(fn, [displayName])` ⇒ [<code>AsyncCall</code>](#AsyncCall)\nA factory function that creates React component class and binds async operation to it:\r```jsx\rconst Fetcher = createAsyncCallComponent(() => fetch('https://api.github.com/repositories').then(data => data.json()))\r```\r\rAfter calling of this function you can use returned component and its static sub-components to hook async operation lifecycle:\r\r```jsx\r// Start executing async operation on Fetcher mount\r<Fetcher>\r  <Fetcher.Running>\r    Renders only if async operation is executing\r  </Fetcher.Running>\r\r  <Fetcher.Resolved>\r    {({ result }) => (\r      <div>\r        Renders if async operation has been executed successfully\r        <pre>{JSON.stringify(result)}></pre>\r      </div>\r    )}}\r  </Fetcher.Resolved>\r\r  <Fetcher.Rejected>\r    Renders only if async operation failed\r  </Fetcher.Rejected>\r</Fetcher>\r```\r\r`createAsyncCallComponent` is the only member exported by react-async-call package.\n\n**Kind**: global function  \r\n**Params**\r\n\r\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| fn | [<code>AsyncFunction</code>](#AsyncFunction) |  | See [`AsyncFunction` signature](#AsyncFunction) for details. |\n| [displayName] | <code>String</code> | <code>&quot;AsyncCall&quot;</code> | Component name (visible, for example, in React extension of Chrome Dev Tools). |\n\n**Returns**: [<code>AsyncCall</code>](#AsyncCall) - Returns React [component class `AsyncCall`](#AsyncCall) for the further usage.\rThis class contains extra component classes [`Running`](#AsyncCall.Running),\r[`Rejected`](#AsyncCall.Rejected), [`Resolved`](#AsyncCall.Resolved),\r[`Completed`](#AsyncCall.Completed), [`ResultStore`](#AsyncCall.ResultStore),\r[`Executor`](#AsyncCall.Executor) and [`State`](#AsyncCall.State) which can be used as children\r(direct or indirect) of `AsyncCall`.  \n\n* * *\n\n## React Components\r\n\r\n<a name=\"AsyncCall\"></a>\n\n### AsyncCall ⇐ <code>React.Component</code>\nReact Component. This class is returned by call of [createAsyncCallComponent](#createAsyncCallComponent) and this is the only way to get it.\n\n**Kind**: global class  \r\n**Extends**: <code>React.Component</code>  \n**Properties**\n\n| Name | Type | Default | Description |\n| --- | --- | --- | --- |\n| children | <code>ReactNode</code> \\| [<code>AsyncCallChildrenFunction</code>](#AsyncCallChildrenFunction) |  | Property `children` can be either a ReactNode or a function that receives an object as its only argument and return ReactNode. `AsyncCall` component **always** renders its children. We recommend to use [the first form of using `children` property](https://github.com/kuzn-ilya/react-async-call/blob/master/README.md#basic-usage) and respond to async operation execution results using *static sub-components* (like [`Running`](#AsyncCall.Running), [`Rejected`](#AsyncCall.Rejected), [`Resolved`](#AsyncCall.Resolved), [`Completed`](#AsyncCall.Completed), [`ResultStore`](#AsyncCall.ResultStore), [`Executor`](#AsyncCall.Executor) and [`State`](#AsyncCall.State)). |\n| params | <code>any</code> |  | A value that will be passed as a single argument into async function. Every time when change of this property occurs, asyncronous operation restarts. |\n| [lazy] | <code>Boolean</code> | <code>false</code> | If `true`, component will not start execution of asynchronous operation during component mount phase and on `params` property change. You should start async operation manualy by calling [`execute` method](#AsyncCall+execute) or via [`Executor`](#AsyncCall.Executor). |\n\n\n* [AsyncCall](#AsyncCall) ⇐ <code>React.Component</code>\n    * _instance_\n        * [`.execute()`](#AsyncCall+execute)\n    * _static_\n        * [.Running](#AsyncCall.Running) ⇐ <code>React.StatelessComponent</code>\n        * [.Resolved](#AsyncCall.Resolved) ⇐ <code>React.StatelessComponent</code>\n        * [.Rejected](#AsyncCall.Rejected) ⇐ <code>React.StatelessComponent</code>\n        * [.Executor](#AsyncCall.Executor) ⇐ <code>React.StatelessComponent</code>\n        * [.State](#AsyncCall.State) ⇐ <code>React.StatelessComponent</code>\n        * [.Completed](#AsyncCall.Completed) ⇐ <code>React.StatelessComponent</code>\n        * [.ResultStore](#AsyncCall.ResultStore) ⇐ <code>React.Component</code>\n            * _instance_\n                * [`.reset([execute])`](#AsyncCall.ResultStore+reset)\n            * _static_\n                * [.HasResult](#AsyncCall.ResultStore.HasResult) ⇐ <code>React.StatelessComponent</code>\n                * [.Resetter](#AsyncCall.ResultStore.Resetter) ⇐ <code>React.StatelessComponent</code>\n\n\n* * *\n\n<a name=\"AsyncCall+execute\"></a>\n\n#### `asyncCall.execute()`\nMethod for executing async operation manually.\rIt is recommended to use [`<Executor>` component](#AsyncCall.Executor) instead.\n\n**Kind**: instance method of [<code>AsyncCall</code>](#AsyncCall)  \r\n\n* * *\n\n<a name=\"AsyncCall.Running\"></a>\n\n#### AsyncCall.Running ⇐ <code>React.StatelessComponent</code>\nReact Component. Renders its children whenever async operation was started but is still executing. Otherwise renders nothing.\n\n**Kind**: static class of [<code>AsyncCall</code>](#AsyncCall)  \r\n**Extends**: <code>React.StatelessComponent</code>  \n**Properties**\n\n| Name | Type |\n| --- | --- |\n| children | <code>ReactNode</code> | \n\n\n* * *\n\n<a name=\"AsyncCall.Resolved\"></a>\n\n#### AsyncCall.Resolved ⇐ <code>React.StatelessComponent</code>\nReact Component. Renders its children whenever async operation has been completed successfully (promise was resolved),\rbut is still not started again. Otherwise renders nothing.\rProperty `children` can be either React node(s) or children function with the only argument receiving object with the only field `result`.\n\n**Kind**: static class of [<code>AsyncCall</code>](#AsyncCall)  \r\n**Extends**: <code>React.StatelessComponent</code>  \n**Properties**\n\n| Name | Type |\n| --- | --- |\n| children | <code>ReactNode</code> \\| [<code>ResolvedChildrenFunction</code>](#ResolvedChildrenFunction) | \n\n\n* * *\n\n<a name=\"AsyncCall.Rejected\"></a>\n\n#### AsyncCall.Rejected ⇐ <code>React.StatelessComponent</code>\nReact Component. Renders its children whenever async operation has been completed with failure (promise was rejected),\rbut is still not started again. Otherwise renders nothing.\rProperty `children` can be either React node(s) or children function with the only argument receiving object with the only field `rejectReason`\r(promise reject reason).\n\n**Kind**: static class of [<code>AsyncCall</code>](#AsyncCall)  \r\n**Extends**: <code>React.StatelessComponent</code>  \n**Properties**\n\n| Name | Type |\n| --- | --- |\n| children | <code>ReactNode</code> \\| [<code>RejectedChildrenFunction</code>](#RejectedChildrenFunction) | \n\n\n* * *\n\n<a name=\"AsyncCall.Executor\"></a>\n\n#### AsyncCall.Executor ⇐ <code>React.StatelessComponent</code>\nReact Component. Renders its children always. Property `children` must be a function with the only argument receiving an object\rwith a function for manual execution of async operation.\n\n**Kind**: static class of [<code>AsyncCall</code>](#AsyncCall)  \r\n**Extends**: <code>React.StatelessComponent</code>  \n**Properties**\n\n| Name | Type |\n| --- | --- |\n| children | [<code>ExecutorChildrenFunction</code>](#ExecutorChildrenFunction) | \n\n\n* * *\n\n<a name=\"AsyncCall.State\"></a>\n\n#### AsyncCall.State ⇐ <code>React.StatelessComponent</code>\nReact Component. Renders its children always. Property `children` must be a function\rwith the only argument receiving an object ([see description of `StateChildrenFunction`](#StateChildrenFunction))\rwith the state of async operation. `State` component is handy for complicated UI cases when none of static components of [AsyncCall](#AsyncCall) suits you.\n\n**Kind**: static class of [<code>AsyncCall</code>](#AsyncCall)  \r\n**Extends**: <code>React.StatelessComponent</code>  \n**Properties**\n\n| Name | Type |\n| --- | --- |\n| children | [<code>StateChildrenFunction</code>](#StateChildrenFunction) | \n\n\n* * *\n\n<a name=\"AsyncCall.Completed\"></a>\n\n#### AsyncCall.Completed ⇐ <code>React.StatelessComponent</code>\nReact Component. Renders its children whenever async operation has been completed (successfully or not),\rbut is still not started again. Otherwise renders nothing.\r\r```jsx\r<AsyncCall.Completed>\r  Async operation completed\r</AsyncCall.Completed>\r```\n\n**Kind**: static class of [<code>AsyncCall</code>](#AsyncCall)  \r\n**Extends**: <code>React.StatelessComponent</code>  \n**Properties**\n\n| Name | Type | Description |\n| --- | --- | --- |\n| [children] | <code>ReactNode</code> | React children to be rendered whenever async operation is completed. |\n\n\n* * *\n\n<a name=\"AsyncCall.ResultStore\"></a>\n\n#### AsyncCall.ResultStore ⇐ <code>React.Component</code>\nReact Component. Implements store of results of sequential async calls.\rUseful when you need to accumulate results of async calls (e.g., to glue together sequential calls of server API).\n\n**Kind**: static class of [<code>AsyncCall</code>](#AsyncCall)  \r\n**Extends**: <code>React.Component</code>  \n**Properties**\n\n| Name | Type | Default | Description |\n| --- | --- | --- | --- |\n| children | [<code>ResultStoreChildrenFunction</code>](#ResultStoreChildrenFunction) \\| <code>ReactNode</code> |  | React children or function that returns rendered result depending on `hasResult` flag and `result`. |\n| reduce | [<code>ReduceFunction</code>](#ReduceFunction) |  | Function from previousResult and currentResult to a new result. Useful, for example, when you need to accumulate sequential async calls (e.g. for fetching data for infinte page scroll). |\n| [initialValue] | <code>any</code> |  | Optional initial value for the result store. If value is provided, result store will have result always. |\n| [reset] | <code>boolean</code> | <code>false</code> | @deprecated If `true`, clears the store (**Deprecated, will be removed in version 1.0.0. Use [Resetter](#AsyncCall.ResultStore.Resetter) instead**). |\n\n\n* [.ResultStore](#AsyncCall.ResultStore) ⇐ <code>React.Component</code>\n    * _instance_\n        * [`.reset([execute])`](#AsyncCall.ResultStore+reset)\n    * _static_\n        * [.HasResult](#AsyncCall.ResultStore.HasResult) ⇐ <code>React.StatelessComponent</code>\n        * [.Resetter](#AsyncCall.ResultStore.Resetter) ⇐ <code>React.StatelessComponent</code>\n\n\n* * *\n\n<a name=\"AsyncCall.ResultStore+reset\"></a>\n\n##### `resultStore.reset([execute])`\nResets result store to its initial state.\n\n**Kind**: instance method of [<code>ResultStore</code>](#AsyncCall.ResultStore)  \r\n**Params**\r\n\r\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| [execute] | <code>bool</code> | <code>true</code> | Wether execute promise-returning function after resetting or not. |\n\n\n* * *\n\n<a name=\"AsyncCall.ResultStore.HasResult\"></a>\n\n##### ResultStore.HasResult ⇐ <code>React.StatelessComponent</code>\nReact Component. Renders its children whenever result store is not empty (has result).\rProperty `children` must be a function with the only argument receiving object with the only field `result`.\n\n**Kind**: static class of [<code>ResultStore</code>](#AsyncCall.ResultStore)  \r\n**Extends**: <code>React.StatelessComponent</code>  \n**Properties**\n\n| Name | Type |\n| --- | --- |\n| children | [<code>HasResultChildrenFunction</code>](#HasResultChildrenFunction) | \n\n\n* * *\n\n<a name=\"AsyncCall.ResultStore.Resetter\"></a>\n\n##### ResultStore.Resetter ⇐ <code>React.StatelessComponent</code>\nReact Component. Renders its children always. Property `children` must be a function with the only argument receiving an object\rwith a function for manual reset of [ResultStore](#AsyncCall.ResultStore).\n\n**Kind**: static class of [<code>ResultStore</code>](#AsyncCall.ResultStore)  \r\n**Extends**: <code>React.StatelessComponent</code>  \n**Properties**\n\n| Name | Type |\n| --- | --- |\n| children | [<code>ResetterChildrenFunction</code>](#ResetterChildrenFunction) | \n\n\n* * *\n\n## Function Signatures\r\n\r\n<a name=\"AsyncFunction\"></a>\n\n### `AsyncFunction(params)` ⇒ <code>Promise</code>\nAsynchronous function (aka asynchronous operation or promise-returning function)\rwhich returns promise based on supplied parameter.\n\n**Params**\r\n\r\n\n| Param | Type | Description |\n| --- | --- | --- |\n| params | <code>any</code> | Parameters, based on which function should return promise. |\n\n**Returns**: <code>Promise</code> - Promise object that represents asynchronous operation result.  \n**Example**  \nThe function below returns result (`Promise` object) of getting user data from GitHub API by his/her GitHub login:\r```\rconst getGitHubUserData = userName => fetch(`https://api.github.com/users/${userName}`).then(data => data.json())\r```\n\n* * *\n\n<a name=\"ExecuteFunction\"></a>\n\n### `ExecuteFunction()` ⇒ <code>void</code>\nExecute function\n\n\n* * *\n\n<a name=\"AsyncCallChildrenFunction\"></a>\n\n### `AsyncCallChildrenFunction(params)` ⇒ <code>ReactNode</code>\nType of children function for [AsyncCall](#AsyncCall)\n\n**Params**\r\n\r\n\n| Param | Type | Description |\n| --- | --- | --- |\n| params | <code>object</code> | Represents current status of asynchronous operation. |\n| params.running | <code>boolean</code> | Indicates whether asynchronous operation is executing or not. |\n| params.rejected | <code>boolean</code> | Indicates whether asynchronous operation was failed when it was called last time. If `true`, result of promise rejection (error) can be found in the `params.rejectReason`. |\n| params.resolved | <code>boolean</code> | Indicates whether asynchronous operation was succeeded when it was called last time. If `true`, result of promise resolving can be found in the `params.result`. |\n| [params.result] | <code>any</code> | Contains result of promise (returned by async function) resolving if function call was successful. `undefined` if asynchronous operation is running or promise was rejected. |\n| [params.rejectReason] | <code>any</code> | Contains result of promise (returned by async function) rejection if function call was unsuccessful. `undefined` if asynchronous operation is running or promise was resolved. |\n| params.execute | [<code>ExecuteFunction</code>](#ExecuteFunction) | Function for manual execution of asynchronous operation. |\n\n**Returns**: <code>ReactNode</code> - Should return rendered React component(s) depending on supplied params.  \n\n* * *\n\n<a name=\"ResolvedChildrenFunction\"></a>\n\n### `ResolvedChildrenFunction()` ⇒ <code>ReactNode</code>\nType of children function for [Resolved](#AsyncCall.Resolved)\n\n**Params**\r\n\r\n\n| Param | Type |\n| --- | --- |\n|  | <code>object</code> | \n| params.result | <code>any</code> | \n\n**Returns**: <code>ReactNode</code> - Should return rendered React component(s) depending on supplied params.  \n\n* * *\n\n<a name=\"RejectedChildrenFunction\"></a>\n\n### `RejectedChildrenFunction(params)` ⇒ <code>ReactNode</code>\nType of children function for [Rejected](#AsyncCall.Rejected)\n\n**Params**\r\n\r\n\n| Param | Type |\n| --- | --- |\n| params | <code>object</code> | \n| params.rejectReason | <code>any</code> | \n\n**Returns**: <code>ReactNode</code> - Should return rendered React component(s) depending on supplied params.  \n\n* * *\n\n<a name=\"ExecutorChildrenFunction\"></a>\n\n### `ExecutorChildrenFunction(params)` ⇒ <code>ReactNode</code>\nType of children function for [Executor](#AsyncCall.Executor)\n\n**Params**\r\n\r\n\n| Param | Type | Description |\n| --- | --- | --- |\n| params | <code>object</code> |  |\n| params.execute | [<code>ExecuteFunction</code>](#ExecuteFunction) | Function for manual execution of asynchronous operation. |\n\n**Returns**: <code>ReactNode</code> - Should return rendered React component(s) depending on supplied params.  \n\n* * *\n\n<a name=\"StateChildrenFunction\"></a>\n\n### `StateChildrenFunction(params)` ⇒ <code>ReactNode</code>\nType of children function for [State](#AsyncCall.State)\n\n**Params**\r\n\r\n\n| Param | Type | Description |\n| --- | --- | --- |\n| params | <code>object</code> |  |\n| params.running | <code>boolean</code> | Whether async opertation is executing or not. If you only need to process `running`, use either [Running](#AsyncCall.Running) or [Completed](#AsyncCall.Completed) component instead. |\n| params.resolved | <code>boolean</code> | Whether async opertation was completed successfully last time or not. If you only need to process `resolved` and `result`, [Resolved](#AsyncCall.Resolved) component instead. |\n| params.rejected | <code>boolean</code> | Whether async opertation failed last time or not. If you only need to process `rejected` and `rejectedStatus`, use [Rejected](#AsyncCall.Rejected) component instead. |\n| [params.rejectReason] | <code>any</code> | Contains reject reason if async opertation failed last time. If you only need to process `rejected` and `rejectedReason`, use [Rejected](#AsyncCall.Rejected) component instead. |\n| [params.result] | <code>any</code> | Contains result of last successful async operation call. If you only need to process `resolved` and `result`, use [Resolved](#AsyncCall.Resolved) component instead. If you need to accumulate result, consider [ResultStore](#AsyncCall.ResultStore) usage. |\n| params.execute | [<code>ExecuteFunction</code>](#ExecuteFunction) | Callback for manual execution of async operation. If you only need to execute async operation manualy, use [Executor](#AsyncCall.Executor) component instead.                               | |\n\n**Returns**: <code>ReactNode</code> - Should return rendered React component(s) depending on supplied params.  \n\n* * *\n\n<a name=\"ResultStoreChildrenFunction\"></a>\n\n### `ResultStoreChildrenFunction(params)` ⇒ <code>ReactNode</code>\nType of `children` function of a [ResultStore](#AsyncCall.ResultStore) component.\n\n**Params**\r\n\r\n\n| Param | Type | Description |\n| --- | --- | --- |\n| params | <code>object</code> |  |\n| params.hasResult | <code>boolean</code> |  |\n| [params.result] | <code>any</code> |  |\n| params.reset | [<code>ResetFunction</code>](#ResetFunction) | Function for manual store cleaning. |\n\n**Returns**: <code>ReactNode</code> - Should return rendered React component(s) depending on supplied params.  \n\n* * *\n\n<a name=\"ReduceFunction\"></a>\n\n### `ReduceFunction(previousResult, currentResult)` ⇒ <code>any</code>\nType of `reduce` property of a [ResultStore](#AsyncCall.ResultStore) component.\n\n**Params**\r\n\r\n\n| Param | Type |\n| --- | --- |\n| previousResult | <code>any</code> | \n| currentResult | <code>any</code> | \n\n\n* * *\n\n<a name=\"HasResultChildrenFunction\"></a>\n\n### `HasResultChildrenFunction(params)` ⇒ <code>ReactNode</code>\nType of children function for [HasResult](#AsyncCall.ResultStore.HasResult)\n\n**Params**\r\n\r\n\n| Param | Type |\n| --- | --- |\n| params | <code>object</code> | \n| params.result | <code>any</code> | \n\n**Returns**: <code>ReactNode</code> - Should return rendered React component(s) depending on supplied params.  \n\n* * *\n\n<a name=\"ResetFunction\"></a>\n\n### `ResetFunction([execute])`\nReset function\n\n**Params**\r\n\r\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| [execute] | <code>bool</code> | <code>false</code> | Wether execute promise-returning function after resetting or not. |\n\n\n* * *\n\n<a name=\"ResetterChildrenFunction\"></a>\n\n### `ResetterChildrenFunction(params)` ⇒ <code>ReactNode</code>\nType of children function for [Resetter](#AsyncCall.ResultStore.Resetter)\n\n**Params**\r\n\r\n\n| Param | Type | Description |\n| --- | --- | --- |\n| params | <code>object</code> |  |\n| params.reset | [<code>ResetFunction</code>](#ResetFunction) | Function for manual clearing of [ResultStore](#AsyncCall.ResultStore). |\n\n**Returns**: <code>ReactNode</code> - Should return rendered React component(s) depending on supplied params.  \n\n* * *\n\n## Change Log\r\n\r\n[You can find change log here][changelog]\r\n\r\n## Credits\r\n\r\nGreat thanks to [@kitos](https://github.com/kitos) and [@ventrz](https://github.com/ventrz) for their invaluable help, support and bright ideas!\r\n\r\n[npm-badge]: https://badge.fury.io/js/react-async-call.svg\r\n[npm]: https://www.npmjs.com/package/react-async-call\r\n[build-badge]: https://travis-ci.org/kuzn-ilya/react-async-call.svg?branch=master\r\n[build]: https://travis-ci.org/kuzn-ilya/react-async-call\r\n[coverage-badge]: https://codecov.io/gh/kuzn-ilya/react-async-call/branch/master/graph/badge.svg\r\n[coverage]: https://codecov.io/gh/kuzn-ilya/react-async-call\r\n[license-badge]: https://img.shields.io/npm/l/react-async-call.svg\r\n[license]: https://github.com/kuzn-ilya/react-async-call/blob/master/LICENSE\r\n[size-badge]: http://img.badgesize.io/https://unpkg.com/react-async-call/umd/react-async-call.production.min.js?label=size\r\n[gzip-badge]: http://img.badgesize.io/https://unpkg.com/react-async-call/umd/react-async-call.production.min.js?compression=gzip&label=gzip%20size\r\n[module-formats-badge]: https://img.shields.io/badge/module%20formats-umd%2C%20cjs-green.svg\r\n[unpkg-dist]: https://unpkg.com/react-async-call/lib/\r\n[unpkg]: https:/unpkg.com\r\n[changelog]: https://github.com/kuzn-ilya/react-async-call/blob/master/docs/CHANGELOG.md\r\n[fetch-api]: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API\r\n[holen]: https://github.com/tkh44/holen\r\n[react-request]: https://github.com/jamesplease/react-request","readmeFilename":"README.md","_id":"react-async-call@0.5.1-alpha.1","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"},"dist":{"integrity":"sha512-Vfgu8NJF3hS3jsUZnRSKUt+1Z01Lv3nHXFhCanlPsg7zElViMFQeDT7tye7umh+ct050BCEJq3ut9YHACmN5LA==","shasum":"4861ebff8b2a4f1c78486c21196d4355cda96871","tarball":"https://registry.npmjs.org/react-async-call/-/react-async-call-0.5.1-alpha.1.tgz","fileCount":15,"unpackedSize":547791,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbwjxfCRA9TVsSAnZWagAA5DcP/223HxkF7uTBJXcZholz\nALDVwI/9c6sc/MQUaM1dqPQcgSGkPw3kvYSe4JectAC5A+XGIbx8zGrAdNVz\nQkjnNSkqCJHIIM7Jhq0cUzSc9hJFi32rKRMFny8wBfNReVn5pd5OSzsOw5if\nZA4TpsJ2ywKQZ2FwoCTt9kbBFHORq9weGC0XwpckUcT8zub1ZGnjHSi2SMeY\nyHZhBzX+G5fw8pTEA7dtXMlJy4KnE92bVdG0vnVNr4vjHqcluyxgY3clI9Ho\ngLkDJHfU3v4aWHx1uZwBld49+BE4/t92w5yAAD2Oj7yjhq8gsWi0humsW/sf\nFrTamA1jenJLiEZ6d6ZqTYqq3yHo+3Uur74lVX1HUANrf9JDTtZOnyusFbyT\nps/lfPII6mnuIquBrvKLesdmGbs0m2rg7+cKqlo34n2eNx2R4pbswkOgKktF\nyPmGc8tOwkSa7o9C+E2P58k2Q4chfXcRrgRIVCyEcbn5lYADxGmEm0i+Uefs\n836lMBZ63LPtaGcUR+vsGOytBhfeKdFCPZr1RL6D9z4N/Bvtf0nEQCsW5Yu8\nwFG1NjZcT3ddzOB+M+23OHsicx+S4MMF1B14CAVn91qMiTcQuEHXjTnkJ4++\nXaXfoPZZ5iO0D1kn/oOScZePbcK0Uit+6fYcpI4CNjSUky73jrQBDibnJolX\nvniP\r\n=vMA3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBatQSxD7oQpkC0VN6ISHxl3d1nS7yL/30vOYKKZfeiRAiAiB3+RmEEDEB31wv1BkxoHzHLMylTfUPV4nn5jJCn5DQ=="}]},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-call_0.5.1-alpha.1_1539456094812_0.22835544721607448"},"_hasShrinkwrap":false},"0.5.1":{"name":"react-async-call","version":"0.5.1","description":"Declarative promise handling in React","main":"index.js","unpkg":"umd/react-async-call.production.min.js","author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/kuzn-ilya/react-async-call.git"},"license":"MIT","typings":"index.d.ts","keywords":["react","reactjs","render","props","promise","fetch"],"bugs":{"url":"https://github.com/kuzn-ilya/react-async-call/issues"},"homepage":"https://github.com/kuzn-ilya/react-async-call#readme","scripts":{"clean":"rimraf build","build":"npm run eslint && npm run test && npm run docs && npm run rollup","docs":"jsdoc2md --name-format --separators --helper ./docs/helpers/isTypeDefinition.js --partial ./docs/partials/scope.hbs ./docs/partials/body.hbs ./docs/partials/params.hbs --template ./docs/templates/README.hbs --heading-depth 3 ./src/*.js  > ./README.md","eslint":"eslint ./","test":"cross-env NODE_ENV=development jest src --coverage","format":"prettier --write **/*.{js,jsx,json,d.ts} !build/** !.vscode/**","release":"npm run test && npm run build && npm version patch && npm publish && git push --tags","rollup":"node ./scripts/build.js"},"pre-commit":["test"],"dependencies":{"create-react-context":"0.2.3","fbjs":"0.8.0","react-lifecycles-compat":"3.0.4"},"peerDependencies":{"react":"^16.0.0","prop-types":"^15.6.2"},"devDependencies":{"@semantic-release/changelog":"3.0.0","@semantic-release/git":"7.0.4","babel-cli":"6.26.0","babel-code-frame":"6.26.0","babel-core":"6.26.3","babel-eslint":"10.0.1","babel-jest":"23.6.0","babel-plugin-external-helpers":"6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"6.23.0","babel-preset-env":"1.7.0","babel-preset-react":"6.24.1","chalk":"2.4.1","cli-table":"0.3.1","codecov":"3.1.0","cross-env":"5.2.0","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","eslint":"4.19.0","eslint-config-react-app":"3.0.3","eslint-plugin-import":"2.14.0","eslint-plugin-react":"7.7.0","gzip-size":"5.0.0","jest":"23.6.0","jest-enzyme":"6.0.1","jsdoc-to-markdown":"4.0.1","mkdirp":"0.5.1","ncp":"2.0.0","pre-commit":"^1.2.2","prettier":"^1.11.1","react":"^16.5.2","react-dom":"^16.5.2","rimraf":"^2.6.2","rollup":"0.66.5","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"9.1.8","rollup-plugin-node-resolve":"3.4.0","rollup-plugin-replace":"2.1.0","rollup-plugin-uglify":"6.0.0","semantic-release":"15.9.16","uglify-js":"^3.4.9"},"jest":{"coverageDirectory":"../coverage/","collectCoverage":true,"coveragePathIgnorePatterns":["/node_modules/","./__tests__/setup.js","./__tests__/common.js"],"setupTestFrameworkScriptFile":"./__tests__/setup.js","testMatch":["**/__tests__/**/*.test.js?(x)"],"transform":{"^.+\\.jsx?$":"../jest/transform.js"},"rootDir":"./src","testURL":"http://localhost"},"eslintConfig":{"parser":"babel-eslint","env":{"browser":true,"node":true},"plugins":["import","react"],"extends":["eslint:recommended","plugin:import/errors","plugin:react/recommended"]},"eslintIgnore":["build/**","npm/**","src/__tests__/**","coverage/**","scripts/**"],"release":{"verifyConditions":[{"path":"@semantic-release/npm","pkgRoot":"./build"},"@semantic-release/github","@semantic-release/git"],"generateNotes":["@semantic-release/release-notes-generator"],"prepare":[{"path":"@semantic-release/changelog","changelogFile":"docs/CHANGELOG.md","changelogTitle":"# Change Log"},{"path":"@semantic-release/npm","pkgRoot":"./build"},{"path":"@semantic-release/git","assets":["package.json","docs/CHANGELOG.md","./README.md","scripts/stats.json"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"publish":[{"path":"@semantic-release/npm","pkgRoot":"./build"},"@semantic-release/github"]},"_id":"react-async-call@0.5.1","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"},"dist":{"integrity":"sha512-gO7n9tXxyRPoKxS+ibHfvGWlZ/P7TyfsAhqAra4GeO1oKuAufcLOQNiySYY8mvXn8CiRZRf9Yo2JSne9pYGOXw==","shasum":"2d560a30e7bc94a8e4589c95a4d49376ae0aff12","tarball":"https://registry.npmjs.org/react-async-call/-/react-async-call-0.5.1.tgz","fileCount":15,"unpackedSize":538079,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbwxmaCRA9TVsSAnZWagAA/c8QAJg1hSQTfO+yyBmLV7b0\nMEGY2Y23hdZ2BH7fsMyejFcZV17mkogEdAOs1gN79WznOWvOtjxg1FlYproV\nB33BimHPHkxJYwQ2vau+OUwOyYKpd/bds4vruiASTAO+w7oLQMhbyvgl1nJZ\nDeZQLdO8ew7dxPbOaIlis0I2saUlPxiCnUiawn9om7njSwK3iiixGoFRGtwz\nY1lG8o+cWllDbRkejOwF8Fj/jB4z7pLQRjYAiTG756ZylNQp2ikHuJOAcUAc\nb45Ex8zo283kM1O8xjoFFPmaqpef3mtZ8ddIyKpPZ+pcFdYGBgfXS0JucOQl\nuQ8offrMkv4zOo3Ub8+s9A74HGm5KMR/p4yQo1AXm0EBay95SXQ8RtQydKLP\nbDb/HAjdpPevqni7rmkdBtgyhCoIzmaXShCa6Ojnoppk0MwLVmjdQOAByNMn\nTTMJkEpOD7Q5ZsB3l0zYuY1H4Qf24jdE58Iuwh46t3JG6/12HYibIwmoGq4b\nv91oSIfO1hiUuDk6Y9gx41/73FyXu0Z5j/rlQcC8/5o5Z8SHKIleo3zBb2Xf\nxY4yaQIihhzp5dGS/+FgyINlpe2nEIb4zObpwd8SuSUK2Azc1NXgIp/Y0EOz\nVN0zdyZAIuRYQUQCHHrnLSWXoTV+qtmpfUsgwVX/aMukCj4QyjAxEs48EEgm\nDFxL\r\n=TaVi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDuEawhf36BeVlQGoPTtzt3XapiJISfBxI11l17nP83ZQIgD1iC7bBga9Eg/D/qF8/t8cGWLRBaHev5w6tduucwX3k="}]},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-call_0.5.1_1539512729274_0.12139436321876951"},"_hasShrinkwrap":false},"0.5.2-alpha":{"name":"react-async-call","version":"0.5.2-alpha","description":"Declarative promise handling in React","main":"index.js","module":"esm/react-async-call.js","unpkg":"umd/react-async-call.production.min.js","author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/kuzn-ilya/react-async-call.git"},"license":"MIT","typings":"index.d.ts","keywords":["react","reactjs","render","props","promise","fetch"],"bugs":{"url":"https://github.com/kuzn-ilya/react-async-call/issues"},"homepage":"https://github.com/kuzn-ilya/react-async-call#readme","scripts":{"clean":"rimraf build","build":"npm run eslint && npm run test && npm run docs && npm run rollup","docs":"jsdoc2md --name-format --separators --helper ./docs/helpers/isTypeDefinition.js --partial ./docs/partials/scope.hbs ./docs/partials/body.hbs ./docs/partials/params.hbs --template ./docs/templates/README.hbs --heading-depth 3 ./src/*.js  > ./README.md","eslint":"eslint ./","test:dev":"cross-env NODE_ENV=development jest src --coverage && ncp ./coverage/coverage-final.json ./coverage/coverage-dev-final.json","test:prod":"cross-env NODE_ENV=production jest src --coverage && ncp ./coverage/coverage-final.json ./coverage/coverage-prod-final.json","test":"npm run test:dev && npm run test:prod && node ./scripts/coverage.js","format":"prettier --write **/*.{js,jsx,json,d.ts} !build/** !.vscode/**","release":"npm run test && npm run build && npm version patch && npm publish && git push --tags","rollup":"node ./scripts/build.js"},"pre-commit":["test"],"dependencies":{"create-react-context":"0.2.3","fbjs":"0.8.0","react-lifecycles-compat":"3.0.4"},"peerDependencies":{"react":"^16.0.0","prop-types":"^15.6.2"},"devDependencies":{"@semantic-release/changelog":"3.0.0","@semantic-release/git":"7.0.4","babel-cli":"6.26.0","babel-code-frame":"6.26.0","babel-core":"6.26.3","babel-eslint":"10.0.1","babel-jest":"23.6.0","babel-plugin-external-helpers":"6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"6.23.0","babel-preset-env":"1.7.0","babel-preset-react":"6.24.1","chalk":"2.4.1","cli-table":"0.3.1","codecov":"3.1.0","cross-env":"5.2.0","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","eslint":"4.19.0","eslint-config-react-app":"3.0.3","eslint-plugin-import":"2.14.0","eslint-plugin-react":"7.7.0","gzip-size":"5.0.0","jest":"23.6.0","jest-enzyme":"6.0.1","jsdoc-to-markdown":"4.0.1","mkdirp":"0.5.1","ncp":"2.0.0","pre-commit":"^1.2.2","prettier":"^1.11.1","react":"^16.5.2","react-dom":"^16.5.2","rimraf":"^2.6.2","rollup":"0.66.5","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"9.1.8","rollup-plugin-node-resolve":"3.4.0","rollup-plugin-replace":"2.1.0","rollup-plugin-uglify":"6.0.0","semantic-release":"15.9.16","uglify-js":"^3.4.9"},"jest":{"coverageDirectory":"../coverage/","collectCoverage":true,"coveragePathIgnorePatterns":["/node_modules/","./__tests__/setup.js","./__tests__/utils.js"],"coverageReporters":["json"],"setupTestFrameworkScriptFile":"./__tests__/setup.js","testMatch":["**/__tests__/**/*.test.js?(x)"],"transform":{"^.+\\.jsx?$":"../jest/transform.js"},"rootDir":"./src","testURL":"http://localhost"},"eslintConfig":{"parser":"babel-eslint","env":{"browser":true,"node":true},"plugins":["import","react"],"extends":["eslint:recommended","plugin:import/errors","plugin:react/recommended"]},"eslintIgnore":["build/**","npm/**","src/__tests__/**","coverage/**","scripts/**"],"release":{"verifyConditions":[{"path":"@semantic-release/npm","pkgRoot":"./build"},"@semantic-release/github","@semantic-release/git"],"generateNotes":["@semantic-release/release-notes-generator"],"prepare":[{"path":"@semantic-release/changelog","changelogFile":"docs/CHANGELOG.md","changelogTitle":"# Change Log"},{"path":"@semantic-release/npm","pkgRoot":"./build"},{"path":"@semantic-release/git","assets":["package.json","docs/CHANGELOG.md","./README.md","scripts/stats.json"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"publish":[{"path":"@semantic-release/npm","pkgRoot":"./build"},"@semantic-release/github"]},"readme":"# React Async Call\r\n\r\n[![npm version][npm-badge]][npm]\r\n[![Build Status][build-badge]][build]\r\n[![Code Coverage][coverage-badge]][coverage]\r\n[![MIT License][license-badge]][license]\r\n[![size][size-badge]][unpkg-dist]\r\n[![gzip size][gzip-badge]][unpkg-dist]\r\n[![module formats: umd, cjs, and es][module-formats-badge]][unpkg-dist]\r\n\r\nDeclarative promise handling in React.\r\n\r\n## Table of Content\r\n  * [Motivation](#motivation)\r\n  * [Install](#install)\r\n  * [Usage](#usage)\r\n    * [Basic Usage](#basic-usage)\r\n    * [Data Fetching](#data-fetching)\r\n    * [Incremental Data Fetching](#incremental-data-fetching)\r\n  * [API Reference](#api-reference)\r\n  * [Change Log](#change-log)\r\n  * [Credits](#credits)\r\n\r\n## Motivation\r\n\r\nHandling promise-returning functions (for example, [`fetch`][fetch-api]) is not hard to do in React application. There are several packages like [holen][holen] or [React Request][react-request] for simplifying such kind of tasks but theirs authors try to impose their own vision on various aspects of data fetching. For instance, [React Request][react-request] has a cache for HTTP requests but what will happen if you decide to change caching strategy? React Async Call tries to sharpen the edges. This is minimalistic package that can be used not only for data fetching but also for handling any promise-returning functions.\r\n\r\n## Install\r\n\r\n### Using npm\r\n\r\n`npm i react-async-call --save`\r\n\r\nThen, use it as usual:\r\n\r\n```JS\r\n// using ES6 modules\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\n// using CommonJS modules\r\nvar createAsyncCallComponent = require('react-async-call').createAsyncCallComponent\r\n```\r\n\r\n### UMD build\r\n\r\nThe UMD build is also available on [unpkg][unpkg]:\r\n\r\n```HTML\r\n<script src=\"https://unpkg.com/react-async-call\"></script>\r\n```\r\n\r\nThe package is avalable on `window.ReactAsyncCall`\r\n\r\n## Usage\r\n\r\n### Basic Usage\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/y7349vl4oj)\r\n* [TypeScript Example](https://codesandbox.io/s/w76rq8jjx8)\r\n\r\n```jsx\r\nimport createAsyncCallComponent from 'react-async-call'\r\n\r\nconst AsyncCall = createAsyncCallComponent(value => Promise.resolve(42))\r\n\r\nconst Example = () => (\r\n  <AsyncCall>\r\n    <AsyncCall.Running>\r\n      <div>Loading...</div>\r\n    </AsyncCall.Running>\r\n    <AsyncCall.Resolved>{({ result }) => <div>The result of function call is {result}</div>}</AsyncCall.Resolved>\r\n    <AsyncCall.Rejected>{({ rejectReason }) => <div>Error: {rejectReason}</div>}</AsyncCall.Rejected>\r\n  </AsyncCall>\r\n)\r\n```\r\n\r\n### Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/vn8qmr43yy)\r\n* [TypeScript Example](https://codesandbox.io/s/ryxwnkl34)\r\n\r\n### Incremental Data Fetching\r\n\r\n* [JavaScript Example](https://codesandbox.io/s/mzzvlmj65y)\r\n* [TypeScript Example](https://codesandbox.io/s/5y3m6mrx9p)\r\n\r\n# API Reference\r\n\r\n## Exported Members\r\n\r\n<a name=\"createAsyncCallComponent\"></a>\r\n\r\n### `createAsyncCallComponent(fn, [displayName])` ⇒ [<code>AsyncCall</code>](#AsyncCall)\r\nA factory function that creates React component class and binds async operation to it:\r\n```jsx\r\nconst Fetcher = createAsyncCallComponent(() => fetch('https://api.github.com/repositories').then(data => data.json()))\r\n```\r\n\r\nAfter calling of this function you can use returned component and its static sub-components to hook async operation lifecycle:\r\n\r\n```jsx\r\n// Start executing async operation on Fetcher mount\r\n<Fetcher>\r\n  <Fetcher.Running>\r\n    Renders only if async operation is executing\r\n  </Fetcher.Running>\r\n\r\n  <Fetcher.Resolved>\r\n    {({ result }) => (\r\n      <div>\r\n        Renders if async operation has been executed successfully\r\n        <pre>{JSON.stringify(result)}></pre>\r\n      </div>\r\n    )}}\r\n  </Fetcher.Resolved>\r\n\r\n  <Fetcher.Rejected>\r\n    Renders only if async operation failed\r\n  </Fetcher.Rejected>\r\n</Fetcher>\r\n```\r\n\r\n`createAsyncCallComponent` is the only member exported by react-async-call package.\r\n\r\n**Kind**: global function  \r\n**Params**\r\n\r\n\r\n| Param | Type | Default | Description |\r\n| --- | --- | --- | --- |\r\n| fn | [<code>AsyncFunction</code>](#AsyncFunction) |  | See [`AsyncFunction` signature](#AsyncFunction) for details. |\r\n| [displayName] | <code>String</code> | <code>&quot;AsyncCall&quot;</code> | Component name (visible, for example, in React extension of Chrome Dev Tools). |\r\n\r\n**Returns**: [<code>AsyncCall</code>](#AsyncCall) - Returns React [component class `AsyncCall`](#AsyncCall) for the further usage.\r\nThis class contains extra component classes [`Running`](#AsyncCall.Running),\r\n[`Rejected`](#AsyncCall.Rejected), [`Resolved`](#AsyncCall.Resolved),\r\n[`Completed`](#AsyncCall.Completed), [`ResultStore`](#AsyncCall.ResultStore),\r\n[`Executor`](#AsyncCall.Executor) and [`State`](#AsyncCall.State) which can be used as children\r\n(direct or indirect) of `AsyncCall`.  \r\n\r\n* * *\r\n\r\n## React Components\r\n\r\n<a name=\"AsyncCall\"></a>\r\n\r\n### AsyncCall ⇐ <code>React.Component</code>\r\nReact Component. This class is returned by call of [createAsyncCallComponent](#createAsyncCallComponent) and this is the only way to get it.\r\n\r\n**Kind**: global class  \r\n**Extends**: <code>React.Component</code>  \r\n**Properties**\r\n\r\n| Name | Type | Default | Description |\r\n| --- | --- | --- | --- |\r\n| children | <code>ReactNode</code> \\| [<code>AsyncCallChildrenFunction</code>](#AsyncCallChildrenFunction) |  | Property `children` can be either a ReactNode or a function that receives an object as its only argument and return ReactNode. `AsyncCall` component **always** renders its children. We recommend to use [the first form of using `children` property](https://github.com/kuzn-ilya/react-async-call/blob/master/README.md#basic-usage) and respond to async operation execution results using *static sub-components* (like [`Running`](#AsyncCall.Running), [`Rejected`](#AsyncCall.Rejected), [`Resolved`](#AsyncCall.Resolved), [`Completed`](#AsyncCall.Completed), [`ResultStore`](#AsyncCall.ResultStore), [`Executor`](#AsyncCall.Executor) and [`State`](#AsyncCall.State)). |\r\n| params | <code>any</code> |  | A value that will be passed as a single argument into async function. Every time when change of this property occurs, asyncronous operation restarts. |\r\n| [lazy] | <code>Boolean</code> | <code>false</code> | If `true`, component will not start execution of asynchronous operation during component mount phase and on `params` property change. You should start async operation manualy by calling [`execute` method](#AsyncCall+execute) or via [`Executor`](#AsyncCall.Executor). |\r\n\r\n\r\n* [AsyncCall](#AsyncCall) ⇐ <code>React.Component</code>\r\n    * _instance_\r\n        * [`.execute()`](#AsyncCall+execute)\r\n    * _static_\r\n        * [.ResultStore](#AsyncCall.ResultStore) ⇐ <code>React.Component</code>\r\n            * _instance_\r\n                * [`.reset([execute])`](#AsyncCall.ResultStore+reset)\r\n            * _static_\r\n                * [.HasResult](#AsyncCall.ResultStore.HasResult) ⇐ <code>React.StatelessComponent</code>\r\n                * [.Resetter](#AsyncCall.ResultStore.Resetter) ⇐ <code>React.StatelessComponent</code>\r\n        * [.Running](#AsyncCall.Running) ⇐ <code>React.StatelessComponent</code>\r\n        * [.Resolved](#AsyncCall.Resolved) ⇐ <code>React.StatelessComponent</code>\r\n        * [.Rejected](#AsyncCall.Rejected) ⇐ <code>React.StatelessComponent</code>\r\n        * [.Executor](#AsyncCall.Executor) ⇐ <code>React.StatelessComponent</code>\r\n        * [.State](#AsyncCall.State) ⇐ <code>React.StatelessComponent</code>\r\n        * [.Completed](#AsyncCall.Completed) ⇐ <code>React.StatelessComponent</code>\r\n\r\n\r\n* * *\r\n\r\n<a name=\"AsyncCall+execute\"></a>\r\n\r\n#### `asyncCall.execute()`\r\nMethod for executing async operation manually.\r\nIt is recommended to use [`<Executor>` component](#AsyncCall.Executor) instead.\r\n\r\n**Kind**: instance method of [<code>AsyncCall</code>](#AsyncCall)  \r\n\r\n* * *\r\n\r\n<a name=\"AsyncCall.ResultStore\"></a>\r\n\r\n#### AsyncCall.ResultStore ⇐ <code>React.Component</code>\r\nReact Component. Implements store of results of sequential async calls.\r\nUseful when you need to accumulate results of async calls (e.g., to glue together sequential calls of server API).\r\n\r\n**Kind**: static class of [<code>AsyncCall</code>](#AsyncCall)  \r\n**Extends**: <code>React.Component</code>  \r\n**Properties**\r\n\r\n| Name | Type | Default | Description |\r\n| --- | --- | --- | --- |\r\n| children | [<code>ResultStoreChildrenFunction</code>](#ResultStoreChildrenFunction) \\| <code>ReactNode</code> |  | React children or function that returns rendered result depending on `hasResult` flag and `result`. |\r\n| reduce | [<code>ReduceFunction</code>](#ReduceFunction) |  | Function from previousResult and currentResult to a new result. Useful, for example, when you need to accumulate sequential async calls (e.g. for fetching data for infinte page scroll). |\r\n| [initialValue] | <code>any</code> |  | Optional initial value for the result store. If value is provided, result store will have result always. |\r\n| [reset] | <code>boolean</code> | <code>false</code> | @deprecated If `true`, clears the store (**Deprecated, will be removed in version 1.0.0. Use [Resetter](#AsyncCall.ResultStore.Resetter) instead**). |\r\n\r\n\r\n* [.ResultStore](#AsyncCall.ResultStore) ⇐ <code>React.Component</code>\r\n    * _instance_\r\n        * [`.reset([execute])`](#AsyncCall.ResultStore+reset)\r\n    * _static_\r\n        * [.HasResult](#AsyncCall.ResultStore.HasResult) ⇐ <code>React.StatelessComponent</code>\r\n        * [.Resetter](#AsyncCall.ResultStore.Resetter) ⇐ <code>React.StatelessComponent</code>\r\n\r\n\r\n* * *\r\n\r\n<a name=\"AsyncCall.ResultStore+reset\"></a>\r\n\r\n##### `resultStore.reset([execute])`\r\nResets result store to its initial state.\r\n\r\n**Kind**: instance method of [<code>ResultStore</code>](#AsyncCall.ResultStore)  \r\n**Params**\r\n\r\n\r\n| Param | Type | Default | Description |\r\n| --- | --- | --- | --- |\r\n| [execute] | <code>bool</code> | <code>true</code> | Wether execute promise-returning function after resetting or not. |\r\n\r\n\r\n* * *\r\n\r\n<a name=\"AsyncCall.ResultStore.HasResult\"></a>\r\n\r\n##### ResultStore.HasResult ⇐ <code>React.StatelessComponent</code>\r\nReact Component. Renders its children whenever result store is not empty (has result).\r\nProperty `children` must be a function with the only argument receiving object with the only field `result`.\r\n\r\n**Kind**: static class of [<code>ResultStore</code>](#AsyncCall.ResultStore)  \r\n**Extends**: <code>React.StatelessComponent</code>  \r\n**Properties**\r\n\r\n| Name | Type |\r\n| --- | --- |\r\n| children | [<code>HasResultChildrenFunction</code>](#HasResultChildrenFunction) | \r\n\r\n\r\n* * *\r\n\r\n<a name=\"AsyncCall.ResultStore.Resetter\"></a>\r\n\r\n##### ResultStore.Resetter ⇐ <code>React.StatelessComponent</code>\r\nReact Component. Renders its children always. Property `children` must be a function with the only argument receiving an object\r\nwith a function for manual reset of [ResultStore](#AsyncCall.ResultStore).\r\n\r\n**Kind**: static class of [<code>ResultStore</code>](#AsyncCall.ResultStore)  \r\n**Extends**: <code>React.StatelessComponent</code>  \r\n**Properties**\r\n\r\n| Name | Type |\r\n| --- | --- |\r\n| children | [<code>ResetterChildrenFunction</code>](#ResetterChildrenFunction) | \r\n\r\n\r\n* * *\r\n\r\n<a name=\"AsyncCall.Running\"></a>\r\n\r\n#### AsyncCall.Running ⇐ <code>React.StatelessComponent</code>\r\nReact Component. Renders its children whenever async operation was started but is still executing. Otherwise renders nothing.\r\n\r\n**Kind**: static class of [<code>AsyncCall</code>](#AsyncCall)  \r\n**Extends**: <code>React.StatelessComponent</code>  \r\n**Properties**\r\n\r\n| Name | Type |\r\n| --- | --- |\r\n| children | <code>ReactNode</code> | \r\n\r\n\r\n* * *\r\n\r\n<a name=\"AsyncCall.Resolved\"></a>\r\n\r\n#### AsyncCall.Resolved ⇐ <code>React.StatelessComponent</code>\r\nReact Component. Renders its children whenever async operation has been completed successfully (promise was resolved),\r\nbut is still not started again. Otherwise renders nothing.\r\nProperty `children` can be either React node(s) or children function with the only argument receiving object with the only field `result`.\r\n\r\n**Kind**: static class of [<code>AsyncCall</code>](#AsyncCall)  \r\n**Extends**: <code>React.StatelessComponent</code>  \r\n**Properties**\r\n\r\n| Name | Type |\r\n| --- | --- |\r\n| children | <code>ReactNode</code> \\| [<code>ResolvedChildrenFunction</code>](#ResolvedChildrenFunction) | \r\n\r\n\r\n* * *\r\n\r\n<a name=\"AsyncCall.Rejected\"></a>\r\n\r\n#### AsyncCall.Rejected ⇐ <code>React.StatelessComponent</code>\r\nReact Component. Renders its children whenever async operation has been completed with failure (promise was rejected),\r\nbut is still not started again. Otherwise renders nothing.\r\nProperty `children` can be either React node(s) or children function with the only argument receiving object with the only field `rejectReason`\r\n(promise reject reason).\r\n\r\n**Kind**: static class of [<code>AsyncCall</code>](#AsyncCall)  \r\n**Extends**: <code>React.StatelessComponent</code>  \r\n**Properties**\r\n\r\n| Name | Type |\r\n| --- | --- |\r\n| children | <code>ReactNode</code> \\| [<code>RejectedChildrenFunction</code>](#RejectedChildrenFunction) | \r\n\r\n\r\n* * *\r\n\r\n<a name=\"AsyncCall.Executor\"></a>\r\n\r\n#### AsyncCall.Executor ⇐ <code>React.StatelessComponent</code>\r\nReact Component. Renders its children always. Property `children` must be a function with the only argument receiving an object\r\nwith a function for manual execution of async operation.\r\n\r\n**Kind**: static class of [<code>AsyncCall</code>](#AsyncCall)  \r\n**Extends**: <code>React.StatelessComponent</code>  \r\n**Properties**\r\n\r\n| Name | Type |\r\n| --- | --- |\r\n| children | [<code>ExecutorChildrenFunction</code>](#ExecutorChildrenFunction) | \r\n\r\n\r\n* * *\r\n\r\n<a name=\"AsyncCall.State\"></a>\r\n\r\n#### AsyncCall.State ⇐ <code>React.StatelessComponent</code>\r\nReact Component. Renders its children always. Property `children` must be a function\r\nwith the only argument receiving an object ([see description of `StateChildrenFunction`](#StateChildrenFunction))\r\nwith the state of async operation. `State` component is handy for complicated UI cases when none of static components of [AsyncCall](#AsyncCall) suits you.\r\n\r\n**Kind**: static class of [<code>AsyncCall</code>](#AsyncCall)  \r\n**Extends**: <code>React.StatelessComponent</code>  \r\n**Properties**\r\n\r\n| Name | Type |\r\n| --- | --- |\r\n| children | [<code>StateChildrenFunction</code>](#StateChildrenFunction) | \r\n\r\n\r\n* * *\r\n\r\n<a name=\"AsyncCall.Completed\"></a>\r\n\r\n#### AsyncCall.Completed ⇐ <code>React.StatelessComponent</code>\r\nReact Component. Renders its children whenever async operation has been completed (successfully or not),\r\nbut is still not started again. Otherwise renders nothing.\r\n\r\n```jsx\r\n<AsyncCall.Completed>\r\n  Async operation completed\r\n</AsyncCall.Completed>\r\n```\r\n\r\n**Kind**: static class of [<code>AsyncCall</code>](#AsyncCall)  \r\n**Extends**: <code>React.StatelessComponent</code>  \r\n**Properties**\r\n\r\n| Name | Type | Description |\r\n| --- | --- | --- |\r\n| [children] | <code>ReactNode</code> | React children to be rendered whenever async operation is completed. |\r\n\r\n\r\n* * *\r\n\r\n## Function Signatures\r\n\r\n<a name=\"ResultStoreChildrenFunction\"></a>\r\n\r\n### `ResultStoreChildrenFunction(params)` ⇒ <code>ReactNode</code>\r\nType of `children` function of a [ResultStore](#AsyncCall.ResultStore) component.\r\n\r\n**Params**\r\n\r\n\r\n| Param | Type | Description |\r\n| --- | --- | --- |\r\n| params | <code>object</code> |  |\r\n| params.hasResult | <code>boolean</code> |  |\r\n| [params.result] | <code>any</code> |  |\r\n| params.reset | [<code>ResetFunction</code>](#ResetFunction) | Function for manual store cleaning. |\r\n\r\n**Returns**: <code>ReactNode</code> - Should return rendered React component(s) depending on supplied params.  \r\n\r\n* * *\r\n\r\n<a name=\"ReduceFunction\"></a>\r\n\r\n### `ReduceFunction(previousResult, currentResult)` ⇒ <code>any</code>\r\nType of `reduce` property of a [ResultStore](#AsyncCall.ResultStore) component.\r\n\r\n**Params**\r\n\r\n\r\n| Param | Type |\r\n| --- | --- |\r\n| previousResult | <code>any</code> | \r\n| currentResult | <code>any</code> | \r\n\r\n\r\n* * *\r\n\r\n<a name=\"HasResultChildrenFunction\"></a>\r\n\r\n### `HasResultChildrenFunction(params)` ⇒ <code>ReactNode</code>\r\nType of children function for [HasResult](#AsyncCall.ResultStore.HasResult)\r\n\r\n**Params**\r\n\r\n\r\n| Param | Type |\r\n| --- | --- |\r\n| params | <code>object</code> | \r\n| params.result | <code>any</code> | \r\n\r\n**Returns**: <code>ReactNode</code> - Should return rendered React component(s) depending on supplied params.  \r\n\r\n* * *\r\n\r\n<a name=\"ResetFunction\"></a>\r\n\r\n### `ResetFunction([execute])`\r\nReset function\r\n\r\n**Params**\r\n\r\n\r\n| Param | Type | Default | Description |\r\n| --- | --- | --- | --- |\r\n| [execute] | <code>bool</code> | <code>false</code> | Wether execute promise-returning function after resetting or not. |\r\n\r\n\r\n* * *\r\n\r\n<a name=\"ResetterChildrenFunction\"></a>\r\n\r\n### `ResetterChildrenFunction(params)` ⇒ <code>ReactNode</code>\r\nType of children function for [Resetter](#AsyncCall.ResultStore.Resetter)\r\n\r\n**Params**\r\n\r\n\r\n| Param | Type | Description |\r\n| --- | --- | --- |\r\n| params | <code>object</code> |  |\r\n| params.reset | [<code>ResetFunction</code>](#ResetFunction) | Function for manual clearing of [ResultStore](#AsyncCall.ResultStore). |\r\n\r\n**Returns**: <code>ReactNode</code> - Should return rendered React component(s) depending on supplied params.  \r\n\r\n* * *\r\n\r\n<a name=\"AsyncFunction\"></a>\r\n\r\n### `AsyncFunction(params)` ⇒ <code>Promise</code>\r\nAsynchronous function (aka asynchronous operation or promise-returning function)\r\nwhich returns promise based on supplied parameter.\r\n\r\n**Params**\r\n\r\n\r\n| Param | Type | Description |\r\n| --- | --- | --- |\r\n| params | <code>any</code> | Parameters, based on which function should return promise. |\r\n\r\n**Returns**: <code>Promise</code> - Promise object that represents asynchronous operation result.  \r\n**Example**  \r\nThe function below returns result (`Promise` object) of getting user data from GitHub API by his/her GitHub login:\r\n```\r\nconst getGitHubUserData = userName => fetch(`https://api.github.com/users/${userName}`).then(data => data.json())\r\n```\r\n\r\n* * *\r\n\r\n<a name=\"ExecuteFunction\"></a>\r\n\r\n### `ExecuteFunction()` ⇒ <code>void</code>\r\nExecute function\r\n\r\n\r\n* * *\r\n\r\n<a name=\"AsyncCallChildrenFunction\"></a>\r\n\r\n### `AsyncCallChildrenFunction(params)` ⇒ <code>ReactNode</code>\r\nType of children function for [AsyncCall](#AsyncCall)\r\n\r\n**Params**\r\n\r\n\r\n| Param | Type | Description |\r\n| --- | --- | --- |\r\n| params | <code>object</code> | Represents current status of asynchronous operation. |\r\n| params.running | <code>boolean</code> | Indicates whether asynchronous operation is executing or not. |\r\n| params.rejected | <code>boolean</code> | Indicates whether asynchronous operation was failed when it was called last time. If `true`, result of promise rejection (error) can be found in the `params.rejectReason`. |\r\n| params.resolved | <code>boolean</code> | Indicates whether asynchronous operation was succeeded when it was called last time. If `true`, result of promise resolving can be found in the `params.result`. |\r\n| [params.result] | <code>any</code> | Contains result of promise (returned by async function) resolving if function call was successful. `undefined` if asynchronous operation is running or promise was rejected. |\r\n| [params.rejectReason] | <code>any</code> | Contains result of promise (returned by async function) rejection if function call was unsuccessful. `undefined` if asynchronous operation is running or promise was resolved. |\r\n| params.execute | [<code>ExecuteFunction</code>](#ExecuteFunction) | Function for manual execution of asynchronous operation. |\r\n\r\n**Returns**: <code>ReactNode</code> - Should return rendered React component(s) depending on supplied params.  \r\n\r\n* * *\r\n\r\n<a name=\"ResolvedChildrenFunction\"></a>\r\n\r\n### `ResolvedChildrenFunction()` ⇒ <code>ReactNode</code>\r\nType of children function for [Resolved](#AsyncCall.Resolved)\r\n\r\n**Params**\r\n\r\n\r\n| Param | Type |\r\n| --- | --- |\r\n|  | <code>object</code> | \r\n| params.result | <code>any</code> | \r\n\r\n**Returns**: <code>ReactNode</code> - Should return rendered React component(s) depending on supplied params.  \r\n\r\n* * *\r\n\r\n<a name=\"RejectedChildrenFunction\"></a>\r\n\r\n### `RejectedChildrenFunction(params)` ⇒ <code>ReactNode</code>\r\nType of children function for [Rejected](#AsyncCall.Rejected)\r\n\r\n**Params**\r\n\r\n\r\n| Param | Type |\r\n| --- | --- |\r\n| params | <code>object</code> | \r\n| params.rejectReason | <code>any</code> | \r\n\r\n**Returns**: <code>ReactNode</code> - Should return rendered React component(s) depending on supplied params.  \r\n\r\n* * *\r\n\r\n<a name=\"ExecutorChildrenFunction\"></a>\r\n\r\n### `ExecutorChildrenFunction(params)` ⇒ <code>ReactNode</code>\r\nType of children function for [Executor](#AsyncCall.Executor)\r\n\r\n**Params**\r\n\r\n\r\n| Param | Type | Description |\r\n| --- | --- | --- |\r\n| params | <code>object</code> |  |\r\n| params.execute | [<code>ExecuteFunction</code>](#ExecuteFunction) | Function for manual execution of asynchronous operation. |\r\n\r\n**Returns**: <code>ReactNode</code> - Should return rendered React component(s) depending on supplied params.  \r\n\r\n* * *\r\n\r\n<a name=\"StateChildrenFunction\"></a>\r\n\r\n### `StateChildrenFunction(params)` ⇒ <code>ReactNode</code>\r\nType of children function for [State](#AsyncCall.State)\r\n\r\n**Params**\r\n\r\n\r\n| Param | Type | Description |\r\n| --- | --- | --- |\r\n| params | <code>object</code> |  |\r\n| params.running | <code>boolean</code> | Whether async opertation is executing or not. If you only need to process `running`, use either [Running](#AsyncCall.Running) or [Completed](#AsyncCall.Completed) component instead. |\r\n| params.resolved | <code>boolean</code> | Whether async opertation was completed successfully last time or not. If you only need to process `resolved` and `result`, [Resolved](#AsyncCall.Resolved) component instead. |\r\n| params.rejected | <code>boolean</code> | Whether async opertation failed last time or not. If you only need to process `rejected` and `rejectedStatus`, use [Rejected](#AsyncCall.Rejected) component instead. |\r\n| [params.rejectReason] | <code>any</code> | Contains reject reason if async opertation failed last time. If you only need to process `rejected` and `rejectedReason`, use [Rejected](#AsyncCall.Rejected) component instead. |\r\n| [params.result] | <code>any</code> | Contains result of last successful async operation call. If you only need to process `resolved` and `result`, use [Resolved](#AsyncCall.Resolved) component instead. If you need to accumulate result, consider [ResultStore](#AsyncCall.ResultStore) usage. |\r\n| params.execute | [<code>ExecuteFunction</code>](#ExecuteFunction) | Callback for manual execution of async operation. If you only need to execute async operation manualy, use [Executor](#AsyncCall.Executor) component instead.                               | |\r\n\r\n**Returns**: <code>ReactNode</code> - Should return rendered React component(s) depending on supplied params.  \r\n\r\n* * *\r\n\r\n## Change Log\r\n\r\n[You can find change log here][changelog]\r\n\r\n## Credits\r\n\r\nGreat thanks to [@kitos](https://github.com/kitos) and [@ventrz](https://github.com/ventrz) for their invaluable help, support and bright ideas!\r\n\r\n[npm-badge]: https://badge.fury.io/js/react-async-call.svg\r\n[npm]: https://www.npmjs.com/package/react-async-call\r\n[build-badge]: https://travis-ci.org/kuzn-ilya/react-async-call.svg?branch=master\r\n[build]: https://travis-ci.org/kuzn-ilya/react-async-call\r\n[coverage-badge]: https://codecov.io/gh/kuzn-ilya/react-async-call/branch/master/graph/badge.svg\r\n[coverage]: https://codecov.io/gh/kuzn-ilya/react-async-call\r\n[license-badge]: https://img.shields.io/npm/l/react-async-call.svg\r\n[license]: https://github.com/kuzn-ilya/react-async-call/blob/master/LICENSE\r\n[size-badge]: http://img.badgesize.io/https://unpkg.com/react-async-call/umd/react-async-call.production.min.js?label=size\r\n[gzip-badge]: http://img.badgesize.io/https://unpkg.com/react-async-call/umd/react-async-call.production.min.js?compression=gzip&label=gzip%20size\r\n[module-formats-badge]: https://img.shields.io/badge/module%20formats-umd%2C%20cjs-green.svg\r\n[unpkg-dist]: https://unpkg.com/react-async-call/\r\n[unpkg]: https:/unpkg.com\r\n[changelog]: https://github.com/kuzn-ilya/react-async-call/blob/master/docs/CHANGELOG.md\r\n[fetch-api]: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API\r\n[holen]: https://github.com/tkh44/holen\r\n[react-request]: https://github.com/jamesplease/react-request","readmeFilename":"README.md","_id":"react-async-call@0.5.2-alpha","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"},"dist":{"integrity":"sha512-uqSpti7PrcVlgcoJJPY52APIojcN0opVw7zzr5HWZgNI/AoT8vDGIOGxdTRI0+XQ/m55dgw4Hlc1VjqU5QiJbQ==","shasum":"4b07c9da329401be196581557f7b1214167dedb7","tarball":"https://registry.npmjs.org/react-async-call/-/react-async-call-0.5.2-alpha.tgz","fileCount":13,"unpackedSize":380549,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbxHaPCRA9TVsSAnZWagAAfSoP/RT+sLVZiXSvl8mV1U/n\nJgCttxefE0k7kNZ0UQ861UAiGtHC/stIsLdqjboHD6PlbMHEs1JnRRzkGJBU\nXZqGjy8mDWFHXlV7El2Wn1SdstpeFiIVkP8ekoYRGXWKXaMpZROz4a022yMR\nUfyf+EAwwcjEO1PwQRL9XQesgbOa1nNEdbZmdSrUaegeu4rZK8Fm7SL2eZB7\ngkouZVy/J/TvLTpBzN0dmBRwC0JyFBp+MElF3SJO0yO2Ly/yFoGXpm1ysCIY\nr0CReJWX3SLZKQuRds8DfNo3PtkoWL0ZFqYetrLQZVWc88BWyUm2aSmsH9F1\nCjg2NNwJHfScVTQPHonIDAW4MOO/TGwTzaHFeyltWbyFogKuL9xfaUuHgwDy\nCW9tQVS/3snyAPoSfJCTsi3+pDlFkG0QTDAH3OoQrMoqZ6TuoiIY6KRHg4Le\nmFll2ogTLotYJYpmJXurzymGStDW51wXphIAiRIQ3PPvg2Niya4oUvxGavDF\nsSYNe2IQimpPYJBghzzO4MY0I/PIEqAHyzyNpsN4oARvpJAyT9xba3GJKRM6\n3rWz9do4T1srlmBldfwoTs6oYGxAJNZBxkVCCq4LNsE0APw0vTvOKmIlVld0\nxWucsrvNS6S61Sud9byD4fn3h6p6Ks7IV6L4P6iocuzQ300P2v/7kLgPW1cN\n7ik1\r\n=m6fx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHt9nELO1twdjgGR1G5ByC1MJC1fIvGLpRsfXmqjGjKdAiAfne0MnSaHTVYggWYgEk920WOpd3nHQmNRwvR9nV9bnQ=="}]},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-call_0.5.2-alpha_1539602062265_0.8460960223707781"},"_hasShrinkwrap":false}},"time":{"created":"2018-03-19T18:41:43.977Z","0.0.0":"2018-03-19T18:41:44.055Z","modified":"2022-05-14T06:25:30.028Z","0.1.19":"2018-03-20T11:44:40.024Z","0.2.0-alpha.0":"2018-03-25T19:14:15.647Z","0.2.0-alpha.1":"2018-03-25T19:26:19.000Z","0.1.20":"2018-03-25T19:28:25.003Z","0.2.0-alpha.2":"2018-03-26T09:01:09.085Z","0.2.0-alpha.3":"2018-03-26T18:35:58.898Z","0.2.0-alpha.4":"2018-03-27T08:51:05.790Z","0.2.0-alpha.5":"2018-03-27T09:01:22.943Z","0.2.0-alpha.6":"2018-03-27T09:27:37.547Z","0.2.0":"2018-03-31T17:47:55.009Z","0.2.1":"2018-03-31T18:45:23.715Z","0.2.2":"2018-04-01T10:33:30.979Z","0.2.3":"2018-04-01T12:59:07.170Z","0.3.0":"2018-10-03T14:43:21.325Z","0.2.4":"2018-10-03T15:08:23.491Z","0.2.5":"2018-10-04T09:18:09.769Z","0.2.6":"2018-10-04T13:06:27.238Z","0.2.7":"2018-10-06T17:07:19.659Z","0.2.8":"2018-10-07T12:04:43.119Z","3.0.1":"2018-10-08T16:22:15.096Z","0.3.1-alpha":"2018-10-08T16:25:01.568Z","0.3.1-alpha.1":"2018-10-08T16:30:59.966Z","0.3.1-alpha.2":"2018-10-08T16:35:10.793Z","0.3.1-alpha.3":"2018-10-08T18:21:11.023Z","0.3.1-alpha.4":"2018-10-09T09:54:00.600Z","0.3.1-alpha.5":"2018-10-09T10:00:06.583Z","0.3.1-alpha.6":"2018-10-09T10:06:04.321Z","0.3.1-alpha.7":"2018-10-09T10:11:29.958Z","0.3.1-alpha.8":"2018-10-09T10:18:41.753Z","0.3.1-alpha.9":"2018-10-09T11:03:43.896Z","0.3.1-alpha.10":"2018-10-09T11:22:54.986Z","0.3.1-alpha.11":"2018-10-09T14:37:20.671Z","3.1.0":"2018-10-09T15:00:14.130Z","0.3.1":"2018-10-09T15:09:10.794Z","0.4.0-alpha":"2018-10-10T17:09:16.711Z","0.4.0-alpha.1":"2018-10-10T17:13:59.537Z","0.4.0":"2018-10-10T17:53:01.676Z","0.5.0":"2018-10-11T17:07:54.076Z","0.5.1-alpha":"2018-10-13T16:12:30.175Z","0.5.1-alpha.1":"2018-10-13T18:41:35.317Z","0.5.1":"2018-10-14T10:25:29.496Z","0.5.2-alpha":"2018-10-15T11:14:22.464Z"},"maintainers":[{"name":"kuzn-ilya","email":"kuzn.ilya@gmail.com"}],"author":{"name":"Ilya Kuznetsov","email":"kuzn.ilya@gmail.com"},"license":"MIT","readme":"","readmeFilename":"","description":"Declarative promise handling in React","homepage":"https://github.com/kuzn-ilya/react-async-call#readme","keywords":["react","reactjs","render","props","promise","fetch"],"repository":{"type":"git","url":"git+https://github.com/kuzn-ilya/react-async-call.git"},"bugs":{"url":"https://github.com/kuzn-ilya/react-async-call/issues"}}