{"_id":"react-async-hook","_rev":"27-84f54b90c569cc4cfcbc31b00f80116d","name":"react-async-hook","dist-tags":{"latest":"4.0.0"},"versions":{"1.0.0":{"name":"react-async-hook","version":"1.0.0","description":"The easiest way to load data in your React components:","author":{"name":"Sébastien Lorber"},"license":"MIT","repository":{"type":"git","url":"http://github.com/slorber/react-async-hook"},"main":"dist/index.js","module":"dist/index.es.js","jsnext:main":"dist/index.es.js","engines":{"node":">=8","npm":">=5"},"scripts":{"test":"cross-env CI=1 react-scripts test --env=jsdom","test:watch":"react-scripts test --env=jsdom","build":"rollup -c","start":"rollup -c -w","prepare":"yarn run build","predeploy":"cd example && yarn install && yarn run build","deploy":"gh-pages -d example/build"},"peerDependencies":{"prop-types":"^15.5.4","react":"^16.7.0-alpha.0","react-dom":"^16.7.0-alpha.0"},"devDependencies":{"babel-core":"^6.26.3","babel-eslint":"^8.2.5","babel-plugin-external-helpers":"^6.22.0","babel-preset-env":"^1.7.0","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","cross-env":"^5.1.4","eslint":"^5.0.1","eslint-config-standard":"^11.0.0","eslint-config-standard-react":"^6.0.0","eslint-plugin-import":"^2.13.0","eslint-plugin-node":"^7.0.1","eslint-plugin-promise":"^4.0.0","eslint-plugin-react":"^7.10.0","eslint-plugin-standard":"^3.1.0","gh-pages":"^1.2.0","react-scripts":"^1.1.4","rollup":"^0.64.1","rollup-plugin-babel":"^3.0.7","rollup-plugin-commonjs":"^9.1.3","rollup-plugin-node-resolve":"^3.3.0","rollup-plugin-peer-deps-external":"^2.2.0","rollup-plugin-postcss":"^1.6.2","rollup-plugin-url":"^1.4.0"},"_id":"react-async-hook@1.0.0","dist":{"shasum":"6a8568114eada1e7d72c366acded703bf5f258d5","tarball":"https://registry.npmjs.org/react-async-hook/-/react-async-hook-1.0.0.tgz","integrity":"sha512-WIZKzMnkjRppGP7NmRMXxCBkt4Knixq3KeYgak/+6rQwQgvVIwzKiO3TIqP8j7UMbTlL3yzELNX3Ky5AykIXyA==","fileCount":8,"unpackedSize":20709,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb1KbmCRA9TVsSAnZWagAAVggP/2HATIk9ppInDyenG/pY\nKhwycpRh7NWdrpUbF/6+miO/98mgHzZeK/HQH/0CLW4TlFGVZPha18ah9IBT\n3JCZLefkoEXhr7LseAwIjAfA2nQaGb3ySDwJwt6eOwREvQ/9wihazoULnq1P\nBb0LZjxxFm9y0u8AERV+VihUJWnD58vhH1UEpxYO3wTYrreEksNKoPvgC+S+\nX0XO/DLy3KSuAG+XTCm1rJrA4u/kTDsy9cuqs8FLEMq+/j2Ye5SjDd4hHhq7\nA9qUYviOvO2jT6SSqTPrIjkPMmztu91ZWWtjS/aRp2S6MbGkGz/rtJaiIKn3\n7SCkwAJG7ijHRYCb4qVciEmeFfzhuzT2MniYkLFO/JdBH0veEwaAk7us6qRJ\ndSxNtsCg0Xjaj+CYyOyYkIHlmcXLulaa6Yw2RmvEJezpuUZgLcB/NpVPsc5z\naS4MdJtFHKPlnO0Lsr33kB2SJLkTkRwMsAtsp7vL6ZntuATBxLEiFJsUmlSB\nQ+gDVc0jHqXJF5syPInWA/TZNeB4xPvSvzMVGEAm1lWBQ+JNiMKbVUY7CtPT\njhbBuEH2l8vV7N2zHY8ploCULaJdT1i4p82qCLs9jJNyNLD1gxmEiZMvOujl\nuUH1gR1lpGzilNcm9eu+jpZEPywTwYQm96pzZBDNY8txSqwXPvMwAzaOdPIr\nuyxh\r\n=RO86\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAWmQTVf+4tFX1eVAkvAWvRRznf+jHR9KlMqf2lTAsS3AiAZuhxYvacMxGwVQm3SBSgdmgliX22k4DN7ETfPF2+MPw=="}]},"maintainers":[{"name":"slorber","email":"lorber.sebastien@gmail.com"}],"_npmUser":{"name":"slorber","email":"lorber.sebastien@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-hook_1.0.0_1540663013678_0.6014768832527178"},"_hasShrinkwrap":false},"2.0.0-alpha.1":{"name":"react-async-hook","version":"2.0.0-alpha.1","description":"Async hook","author":{"name":"Sébastien Lorber"},"license":"MIT","repository":{"type":"git","url":"http://github.com/slorber/react-async-hook"},"engines":{"node":">=8","npm":">=5"},"main":"dist/index.js","umd:main":"dist/react-async-hook.umd.production.js","module":"dist/react-async-hook.es.production.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test --env=jsdom"},"peerDependencies":{"react":">=16.8"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"devDependencies":{"@types/jest":"^24.0.12","@types/react":"^16.8.16","@types/react-dom":"^16.8.4","husky":"^2.2.0","prettier":"^1.17.0","pretty-quick":"^1.10.0","react":"^16.8.6","react-dom":"^16.8.6","tsdx":"^0.5.7","tslib":"^1.9.3","typescript":"^3.4.5"},"_id":"react-async-hook@2.0.0-alpha.1","dist":{"shasum":"1326e2a4b946b5c752648d702a7f2e11c4049f4d","integrity":"sha512-gR+PeuFqLhYKgxOFHyC4XBU5aqo0FI1ry1sNi9Dbj+L9D8ZcqHGZFYNyju4CbugAxlwYHSEunp06IZM0hT8q2Q==","tarball":"https://registry.npmjs.org/react-async-hook/-/react-async-hook-2.0.0-alpha.1.tgz","fileCount":16,"unpackedSize":41607,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc0bSCCRA9TVsSAnZWagAABV4P/2EN9fQufOeLT/v+ACjv\nuFIp9heJyr3igzhEMlI4LQJds4ZbgpOM4BZfiRBG3p8omGZX069AaNArWR/Z\nQ+zK0BHbrr0FVQGlglRY+4mQWFYfFPDkLrhxZukhKJ5b8IDWkPiyQ7SpwD/X\nuY8vO85QplV40azNfrz0uVNWftz9dAnLsojmjO9ex3nw0Vo7CLHTuYcmLVO0\n3y71O3i8XccPevPpRiiZQGli+MebmDZseFzQcYQ5aZfToSpmeyh59/lZiw0t\ncPfdhVCd3iOwgFIOsKYMgbOlhyjjM4fMTpGil2Owzj0gEYmNqZXyQZqpPVw5\nHxLxxRxQ5YyIWb9n6idCfppolhvkKIWHXdxrYITIteU0mYgc7GfhTuuFWd7H\n6Wza+QnWrDw7cyx5I5B+IHwpxlyk59v0Q2c+2qssz1shdClbx6Y561ri9W3F\n5TUjF9cOLFwzGM6UspaPwP9DS1BzCP4Vw7UzFxz+8M6pp9nhGQ3tL7y7yKp4\ngZJ5zzE+byA60N05zooxPEC+Cz+L+0vy1wXFCl1nGt2YRybukZoG0CB3mTfD\nvS8n21bHc5O3kcIIaqZ6bz0dx10FqHmt3sm9zbs0+eXEtpNUWYG8ms9gsiKl\nuZP5VTlbBVZVkENDW6GDHBCH6rg75N6jn7FWEcyDibC49eZJyBkB+TeEkF6j\nO3mc\r\n=Leev\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDEwXDUF18l21upJtJe1NLRFeKl6nSW/R+XFDMx9ZfuSgIhALk526MDeh+0IvnKTz+yWxEUBBA9F7AkPAdSwBDHRQBT"}]},"maintainers":[{"name":"slorber","email":"lorber.sebastien@gmail.com"}],"_npmUser":{"name":"slorber","email":"lorber.sebastien@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-hook_2.0.0-alpha.1_1557247105605_0.3077399001824541"},"_hasShrinkwrap":false},"2.0.0":{"name":"react-async-hook","version":"2.0.0","description":"Async hook","author":{"name":"Sébastien Lorber"},"license":"MIT","repository":{"type":"git","url":"http://github.com/slorber/react-async-hook"},"engines":{"node":">=8","npm":">=5"},"main":"dist/index.js","umd:main":"dist/react-async-hook.umd.production.js","module":"dist/react-async-hook.es.production.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test --env=jsdom"},"peerDependencies":{"react":">=16.8"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"devDependencies":{"@types/jest":"^24.0.12","@types/react":"^16.8.16","@types/react-dom":"^16.8.4","husky":"^2.2.0","prettier":"^1.17.0","pretty-quick":"^1.10.0","react":"^16.8.6","react-dom":"^16.8.6","tsdx":"^0.5.7","tslib":"^1.9.3","typescript":"^3.4.5"},"_id":"react-async-hook@2.0.0","dist":{"shasum":"b678f3d10d2ddeb6612c473f3defc781572be647","integrity":"sha512-jaVxa8Sz/CDiPyrkr5yirosSurYyf+egsQ2msfIa7OZfWffV8J37cF5ft0dzrSTmnh5Rb0GWjjPC4zXllhXqLw==","tarball":"https://registry.npmjs.org/react-async-hook/-/react-async-hook-2.0.0.tgz","fileCount":16,"unpackedSize":41097,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc0ratCRA9TVsSAnZWagAABMoP/3+h08Bw6JWuhtYlrJoX\nbOtZXTiKUBwUoC1OIIr+YtUpTPrJToGiO70WueYknts7WXN+5CNKSilUFlPS\npHo9uoKADPVr22WRmWz5g4/KbbLHSD5e+mSRgwVSIkWecrcCf79khuRCWr1f\nfmpX07e5ZX99hd7PCEcx42WOFjcvinIKLiUGWr/dp4vApHuY9G1KcAv5AW3z\nKrw5xlbkYutSFzwVaJTmkHH8pXBlRhmNI3/6NPL2lrV/zggMHgUXX1lXNOnO\nWTruFKX0hUIxoB9zCTUqpTZGzQmzTqJZPiXxPhybnKRHNtGsMBVxirplVM6I\nH7syBtI/FCy+EGPp7fHmTW07gOXH3W1C2Jj+J7mQ6lHnc2bQKIIlaAc/xHjB\n5jSHsoPDYSR0y9qfwVmTlN46f8yoWxGozDCoN5FDfHLd4AFg2IRUN/VTDku6\nmaknfnZWi7qRmwW/V8QfVRexipxBTlOMKzGQ34pNkPYpJFPwGX27XxK56Mnn\n/Iq+lP0FBu7rVWyqTP1R2QoajDFdlx64NEStGkdGCcZ0QLYv6K3ZZG8dHVmb\nIaisXm2krJvc+l8aQc4XtP4g+/D7y1UW1qqULH7/9IotqI7f92LITd9btZKQ\nefGT4V4rTyK5REe1mhDCzT30vc/KA1OAMI0YYiTNnygUWEYMAC1/4NVLwcGH\nptfE\r\n=eQOy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEGuA9rwLAbabYP0iAECjc8AriybgjjTFgTr09ZYN4PaAiEA/o9aavQzzpx7Og6Xnux4S9nEsYC6IP8CVlFZUNEFzdU="}]},"maintainers":[{"name":"slorber","email":"lorber.sebastien@gmail.com"}],"_npmUser":{"name":"slorber","email":"lorber.sebastien@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-hook_2.0.0_1557313196564_0.7144115192689311"},"_hasShrinkwrap":false},"2.0.1":{"name":"react-async-hook","version":"2.0.1","description":"Async hook","author":{"name":"Sébastien Lorber"},"license":"MIT","repository":{"type":"git","url":"http://github.com/slorber/react-async-hook"},"keywords":["react-async-hook","async","fetch","axios","promise","react","react-native","reactjs","reactnative","hooks","hook"],"engines":{"node":">=8","npm":">=5"},"main":"dist/index.js","umd:main":"dist/react-async-hook.umd.production.js","module":"dist/react-async-hook.es.production.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test --env=jsdom"},"peerDependencies":{"react":">=16.8"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"devDependencies":{"@types/jest":"^24.0.12","@types/react":"^16.8.16","@types/react-dom":"^16.8.4","husky":"^2.2.0","prettier":"^1.17.0","pretty-quick":"^1.10.0","react":"^16.8.6","react-dom":"^16.8.6","tsdx":"^0.5.7","tslib":"^1.9.3","typescript":"^3.4.5"},"_id":"react-async-hook@2.0.1","dist":{"shasum":"bf343698e27b7e2ed6064c62c652667b618bf710","integrity":"sha512-JDw5QTIbCAmjVlcvy5+3dnAjUmpDlcy3fu5GHYwSk6/svyS2n5MgTyOnpDxbubUW8OSyY6n2OhSD47zzaunXFg==","tarball":"https://registry.npmjs.org/react-async-hook/-/react-async-hook-2.0.1.tgz","fileCount":16,"unpackedSize":41000,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc0rpKCRA9TVsSAnZWagAACpwP/Ah+AWgzOBEznDd59o0q\nD3/aV/TWxA4Fn/ibCHczAq/GqOjArxFEoComfGf2sNdEecZHsiAas5/2L9UZ\n89bFCnZQXX3XgT7GMels1fMK9+opo0Fjp3sAM2b7plf5wxjz+FKwTxLbd9bX\nTS5y1DRXRKeU6fH85EIvwZsQ33gej+yyt00zFT9kA5UAlK/j37cWtTSG6va1\nhXtwCLkP0tymSP5ebsihGvXVomjYRFSzcLuTqvJEjaCpKLWFcv9zH493Ccbf\n+7EcDeDfitbTL33SwmJ1pYWbsVOGSOMaUlIYov2QFZGFsobeXkJHeUq+IDe1\n4KLCynPv0vKfeKoD7lM0aKA/SnPBUOVHmmffwvK28WgcuHgj4e97Y2dfgulp\njSKvyg4+XEBJ5Qgunx4E9Ax5/C8aMBM4ylDz7MtrL++xuPH/X3EI/aYi4ni0\nTsRVApFvF3syiXRNEkdUctcot3k9iQxIwIA+EDfFj3fio6koZ9SNLJ4/2Xdd\nf77wKyiO6vG3oz0G8rWICzxxKLL21aqVtNQkQ8/rqHEvz1JBGhcyKgV6y/Sm\nxJHscbjZllZ8Y7FbEl3NzPkWcSwHrlHMYhFrCDN+793mhpjy0372GcuBrvMX\nzZv9GtYZOJ019j0EH1hqiqcRZrD4svFqLGLC16Uen6coE97fnjCUhpbfcTKz\nlFTB\r\n=l6H2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC5gRmRLtTNdjzSNQR3+uA24ftFpXBsnfwozRABrPfLvQIgVGzFKShTPBJ5pNLxKZvYhzJS0cAVnyInC3K1v5pHNt0="}]},"maintainers":[{"name":"slorber","email":"lorber.sebastien@gmail.com"}],"_npmUser":{"name":"slorber","email":"lorber.sebastien@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-hook_2.0.1_1557314122289_0.19830966180403897"},"_hasShrinkwrap":false},"2.0.2":{"name":"react-async-hook","version":"2.0.2","description":"Async hook","author":{"name":"Sébastien Lorber"},"license":"MIT","repository":{"type":"git","url":"http://github.com/slorber/react-async-hook"},"keywords":["react-async-hook","async","fetch","axios","promise","react","react-native","reactjs","reactnative","hooks","hook","useAsync","useState","useFetch","usePromise","use-async","use-state","use-fetch","use-promise"],"engines":{"node":">=8","npm":">=5"},"main":"dist/index.js","umd:main":"dist/react-async-hook.umd.production.js","module":"dist/react-async-hook.es.production.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test --env=jsdom"},"peerDependencies":{"react":">=16.8"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"devDependencies":{"@types/jest":"^24.0.12","@types/react":"^16.8.16","@types/react-dom":"^16.8.4","husky":"^2.2.0","prettier":"^1.17.0","pretty-quick":"^1.10.0","react":"^16.8.6","react-dom":"^16.8.6","tsdx":"^0.5.7","tslib":"^1.9.3","typescript":"^3.4.5"},"_id":"react-async-hook@2.0.2","dist":{"shasum":"5f4f3aa25531025256b77b285706cdf102623dc1","integrity":"sha512-y4V9p1upTj2s8EWNS87VDooELE+myVdh8VgQy06DZGatuiO05+mcHZHYpjhuig1XPSiW+LcRdZ9d3XiKvG3G/g==","tarball":"https://registry.npmjs.org/react-async-hook/-/react-async-hook-2.0.2.tgz","fileCount":16,"unpackedSize":53324,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc0xRGCRA9TVsSAnZWagAAebkP/Av4zVpLUdLFgye56Dth\n/+FzUMzxyfprbGGlNfSmv+44Mk6zmQUuDdvJTppzfjRwMurRykYODM+K/IeV\nSyjd0rLap/KImL1RvUzdXMXy9i/WJYuxZjWG9LCklXeRAaZFcKayyMobkTc3\nemzjJqavQJ5IZeZDOJIEFZ1EmnAkuvDX7RJz3Q2WFlTKMMWHK4xJaqqGnbst\nJedZbLI8sxFdUZx9JtSC4lZ8jTcglq8FntaQvWlfhCGWAC4PCiQFJE4bCpvn\nwDORZr1D2902tswtksx6lVY+nNAcq+7Q4YVbdOmdrk32R7aNZIfGGuGIw8Gp\n5WdsQifo0DnEzwhJ7ZGt2kJBsJxElBV4Afl8OqDD++XerDOAxIGqQHlrR5Kp\nOsNIDiMy+qMIfgrazGZDYNLcMVB0FnVW81kQOGYaPwJGvGPVX8HG2cxNTvBq\nofAxKW8bEBJnzerIciqhF/hZLbWWUW9E0F6f8gwOsrPvyGyPWNBmXCrBLsBz\nVHSjzDVrUBVaE/bxLM7G9JmBLJN94gKCOsZapLbBnoAo6vir9yR7ELs5qbqR\n3qshqErLIsfp8F7n1yoXaxO4b2tOhFZ7xcjQktQ4kem7JI805RhzChcMsvmw\n7On2TJT+8t4iYhr86/TA3vrLPPsTGxjxHwSl+uwnYpBGNt5Mk5N6T2uJALgw\n5+1t\r\n=8xlk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE2ju2SFTHm2j8KXP8vTPtRH5wLLxdfOhLbPvA+lqR69AiEA6n/e0jqBtUZ7ES/V0zklhWj0YgJf/W9rxfGHnumlA5w="}]},"maintainers":[{"name":"slorber","email":"lorber.sebastien@gmail.com"}],"_npmUser":{"name":"slorber","email":"lorber.sebastien@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-hook_2.0.2_1557337158172_0.27876818497907796"},"_hasShrinkwrap":false},"2.1.0":{"name":"react-async-hook","version":"2.1.0","description":"Async hook","author":{"name":"Sébastien Lorber"},"license":"MIT","repository":{"type":"git","url":"http://github.com/slorber/react-async-hook"},"keywords":["react-async-hook","async","fetch","axios","promise","react","react-native","reactjs","reactnative","hooks","hook","useAsync","useState","useFetch","usePromise","use-async","use-state","use-fetch","use-promise"],"engines":{"node":">=8","npm":">=5"},"main":"dist/index.js","umd:main":"dist/react-async-hook.umd.production.js","module":"dist/react-async-hook.es.production.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test --env=jsdom"},"peerDependencies":{"react":">=16.8"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"devDependencies":{"@types/jest":"^24.0.12","@types/react":"^16.8.16","@types/react-dom":"^16.8.4","husky":"^2.2.0","prettier":"^1.17.0","pretty-quick":"^1.10.0","react":"^16.8.6","react-dom":"^16.8.6","tsdx":"^0.5.7","tslib":"^1.9.3","typescript":"^3.4.5"},"_id":"react-async-hook@2.1.0","dist":{"shasum":"404a18d67f175283fcf68dbc575b43163ac26cce","integrity":"sha512-OivSotgzH4hQ4cMrDxTBKYF/55A3xDFzhsng0S+5To36nlLglnJWEiwQhvD/2nn8iT5dWi2weYW4Aag87Gytog==","tarball":"https://registry.npmjs.org/react-async-hook/-/react-async-hook-2.1.0.tgz","fileCount":16,"unpackedSize":65526,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc2B23CRA9TVsSAnZWagAAIjcP/23rfYIw5sT5yVuPIFbT\nwzWR27w8YWPd1dc+hmhl6qSfW1kcDxmDpZF1GhsrTkusdVIq4PXM/u4RuuLH\nBg0+cHqwQ0ipjrm5C/lCHckCzjHoeSk7/tKOWnnTYZZU/7OjaiHy6WZw8dRX\nTQwPgzE+XD94w2kMVODKwcCaQ0YANxOww8qHVJxT3IzOOG8e9WBwBKK9ISFC\nSZGk0iy49Pc8OvjUulR6wEg7tjuiU8hkqbB9h09PMQbsj780OAhkkD4PRNTm\nzvywYk81Xm01/pwJPyQB9s9wiwrq4lOGmxMFOZXpIL9VhC4JEI1FW2ZhLVWQ\ny6B10KpZXarMJS7ejsXQ9n87MTnIdLc4Jczo2SLpN70zxmOchkZditCbiiTJ\nNIjfG7txiOvc6df3fvsRBgNoLq+w1QYXAp7dF2WfLtVrOiE27Qef/GKcUh9q\nayBhQfuMCmQA6inL2R72yQ5wvfk2npVivmj5Q1ejWk3pu94qBTvqbWMCsSQe\nZNm7okOOmza4RgmOzjISRA6pL6npsJhdfSHP0xqbHAfQqMo/2CoBTv3SWPqn\njww89WBICgJK3wQL31G3256fkAK3svURoSUzXzdyrCKsEsOy1cO19SUFKu7t\nQCrG2zbwKoxDhFuYO05EYv/I5mceMqAHfDwaiHKY5qRMwnaIk6Co3Tr5lu47\nac6A\r\n=rV+j\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB6717Yt1xR8Gnu1gZXC6psrCaG/EmKVPXVKZlKXJaeOAiAOWHC/txJgE7r6lnle+9cqeY0fwstns987pQ7IvTBSSA=="}]},"maintainers":[{"name":"slorber","email":"lorber.sebastien@gmail.com"}],"_npmUser":{"name":"slorber","email":"lorber.sebastien@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-hook_2.1.0_1557667254694_0.6667971907000596"},"_hasShrinkwrap":false},"2.2.0":{"name":"react-async-hook","version":"2.2.0","description":"Async hook","author":{"name":"Sébastien Lorber"},"license":"MIT","repository":{"type":"git","url":"http://github.com/slorber/react-async-hook"},"keywords":["react-async-hook","async","fetch","axios","promise","react","react-native","reactjs","reactnative","hooks","hook","useAsync","useState","useFetch","usePromise","use-async","use-state","use-fetch","use-promise"],"engines":{"node":">=8","npm":">=5"},"main":"dist/index.js","umd:main":"dist/react-async-hook.umd.production.js","module":"dist/react-async-hook.es.production.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test --env=jsdom"},"peerDependencies":{"react":">=16.8"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"devDependencies":{"@types/jest":"^24.0.12","@types/react":"^16.8.16","@types/react-dom":"^16.8.4","husky":"^2.2.0","prettier":"^1.17.0","pretty-quick":"^1.10.0","react":"^16.8.6","react-dom":"^16.8.6","tsdx":"^0.5.7","tslib":"^1.9.3","typescript":"^3.4.5"},"_id":"react-async-hook@2.2.0","dist":{"shasum":"191608597f075cabca94a247b27f4e9d1db94fc0","integrity":"sha512-yWaqBznCYtZOShQZ7mqoauraF+j7DvqlToHl1+YlQSQgJvO0rJPxyz339n1peUSlzrBncKTNMh9kcBhVqxNtXQ==","tarball":"https://registry.npmjs.org/react-async-hook/-/react-async-hook-2.2.0.tgz","fileCount":16,"unpackedSize":66505,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc2B6qCRA9TVsSAnZWagAA0qMP/0WvwNyYVVPqSqfJXAhA\nG8bpY3A7yc93Y+tKyxgCBx4JF1KGgV0i3+gfiGJELR9emeI5z2/1Wo8AJRgz\nknGhy8pPVMxIz+r8VMnXZCL4E7RQPDOyTzDOjRRKZfSU/Yd+5AamreV1ObIt\nc/3350GKLqFHmA1MTDF7fZibANrk+HPoodD9xZOvK7t+FWGpZwUsQMfLd6P+\nbFDScsIfldYNRLldrp7LzO3G5qTSTb2BO9QSQ4vCjIRfdfd1C6osFw0XA68r\nB93lU92XXjJ3yK4B4qkUN2eFuwKdecIYYpYR4YJ4ppR6V0LIN0S+dlFOmKy5\nBU/sdfpmJpx8Ybx/IqlGN+HZlLYdz/ghdMdtz2dA0qNkoVqHIfPuwff3s/k9\neTCIINh1VVKlJuRzGrnPNgF0b/YwJvT71tqgSyzkFrW9QKJ1K0ABNeiDwaZQ\nLBvRweUnUBYMaYIp12DYQh2a29ocSnzadLBv9osOO3yf0fh5qgnmqmkxSadY\n4kEocOCvBHTJM/b9uR0hwkwzlFMjsb/frPc7aWXmJQs6Oac1v6CTNSUjENJ5\n09pILSvL2HgWZM3hZML5KeR731h/ErGIJ8goBI95Cdmdx3B8hhe07vRL75pu\njMr42PaDrVFNLWcK2csa6p21pcXIKHOkqxW2b5x94hu8v6Yn/hO/9J709Umg\nkU1v\r\n=Wf4C\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDiXXNRUjzeGwMqP0K8DcSTqj936xYYjWjj04A0BwkVOwIgRsbIDxBbNomhFxoJjSeD7pwuZfOrXSI4NhChniEpy6I="}]},"maintainers":[{"name":"slorber","email":"lorber.sebastien@gmail.com"}],"_npmUser":{"name":"slorber","email":"lorber.sebastien@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-hook_2.2.0_1557667497494_0.4379336852753033"},"_hasShrinkwrap":false},"2.2.1":{"name":"react-async-hook","version":"2.2.1","description":"Async hook","author":{"name":"Sébastien Lorber"},"license":"MIT","repository":{"type":"git","url":"http://github.com/slorber/react-async-hook"},"keywords":["react-async-hook","async","fetch","axios","promise","react","react-native","reactjs","reactnative","hooks","hook","useAsync","useState","useFetch","usePromise","use-async","use-state","use-fetch","use-promise"],"engines":{"node":">=8","npm":">=5"},"main":"dist/index.js","umd:main":"dist/react-async-hook.umd.production.js","module":"dist/react-async-hook.es.production.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test --env=jsdom"},"peerDependencies":{"react":">=16.8"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"devDependencies":{"@types/jest":"^24.0.12","@types/react":"^16.8.16","@types/react-dom":"^16.8.4","husky":"^2.2.0","prettier":"^1.17.0","pretty-quick":"^1.10.0","react":"^16.8.6","react-dom":"^16.8.6","tsdx":"^0.5.7","tslib":"^1.9.3","typescript":"^3.4.5"},"_id":"react-async-hook@2.2.1","dist":{"shasum":"1b79c5553c664301bf556707cee5e02ab1a476f4","integrity":"sha512-IsVsXWQCAVFqQWEv7z+tTVNEFp90GUCMSDgVBsMWayIWzDUXxEQFyKEL3WtpJ8e8dq6cNaWSl7tR77AAU5Y1Lw==","tarball":"https://registry.npmjs.org/react-async-hook/-/react-async-hook-2.2.1.tgz","fileCount":16,"unpackedSize":66598,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc2CSBCRA9TVsSAnZWagAABVEQAJVxsxlWjfgIeXfYCbo2\n91BDW3QN/TJPBDa3Y3/MP+2/Iok9AUyEvuir9EUuUIYaWWtX4gwZui9il2BF\nb+hxJ12hnWJDA4IbnVcAA/XXMN4CS0EGUviJ5i5beyHSs4cndZg6d84lhCzN\nfrCxDunCblSMq0xhYGUOPVBwyTXVdXcihNcaxyqEFmnXRpTb2a3wjiYZ65b7\ni3y/wg5Sq8Fdo3qGPmQb307eqWn4VjFgVOw/mn0hvTDIhIOWkQiQ1Zs22HEF\nCFkvwXog421cBVc2aG+fz14GR/e0zkYxFqrn3tnr4b2XQiPlwP918scmmN29\n5PXeHgO3u5AB3/ULBpJ2Wroej5fVb5de8Lwfim30uDOhnZo2FPiZm/EJxn3H\n+RIy/bG7L+m/2xwtrLrmaHHeTp1ej6ylxBX5xjfZRoIqXqSK8UB2ss6+r5L4\naUxu4G5FbWqrFQYNu/8E2HZKaZvkeq0xbJvAw/caYi3IZAjvAxl9nCy+zXL9\nq1jWTM60yeK8Jv26eBhnp1rVu3s0Febk+mHCBERF6xyQl3NF8f1YvLPLiQGl\niLPXOQUhm6rLL9uq+SET2EloDxmDsTc3Q7ahvYHcfhosK5XZz7VeJ0+z4/+I\nn/E8mFE/k7zjmMKbO61EAOh4+RsivdsYSOdr3SDxUEIp2SETYpWHzJIFN1YA\nwUUb\r\n=lIoq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEXl8l7HA15ubJISauU6VV36qHyDM1navQGlh+4O135IAiBt8F6+NqvuYE7cSeKLAG359kXoPozZNSZMWwvzA5cp/Q=="}]},"maintainers":[{"name":"slorber","email":"lorber.sebastien@gmail.com"}],"_npmUser":{"name":"slorber","email":"lorber.sebastien@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-hook_2.2.1_1557668993258_0.8881944171382767"},"_hasShrinkwrap":false},"2.3.0":{"name":"react-async-hook","version":"2.3.0","description":"Async hook","author":{"name":"Sébastien Lorber"},"license":"MIT","repository":{"type":"git","url":"http://github.com/slorber/react-async-hook"},"keywords":["react-async-hook","async","fetch","axios","promise","react","react-native","reactjs","reactnative","hooks","hook","useAsync","useState","useFetch","usePromise","use-async","use-state","use-fetch","use-promise"],"engines":{"node":">=8","npm":">=5"},"main":"dist/index.js","umd:main":"dist/react-async-hook.umd.production.js","module":"dist/react-async-hook.es.production.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test --env=jsdom"},"peerDependencies":{"react":">=16.8"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"devDependencies":{"@types/jest":"^24.0.12","@types/react":"^16.8.16","@types/react-dom":"^16.8.4","husky":"^2.2.0","prettier":"^1.17.0","pretty-quick":"^1.10.0","react":"^16.8.6","react-dom":"^16.8.6","tsdx":"^0.5.7","tslib":"^1.9.3","typescript":"^3.4.5"},"_id":"react-async-hook@2.3.0","dist":{"shasum":"60f7a7fb186c68b8711434954fd032f686d5bbff","integrity":"sha512-TLg2VbWoSsEZoUph4xH8LINgbNE+lADBY4cwKBDh/Hy+YAJJ+RsGnP57DHHtHuqvQJzVJzkySCzy+r2Tc5jc4w==","tarball":"https://registry.npmjs.org/react-async-hook/-/react-async-hook-2.3.0.tgz","fileCount":16,"unpackedSize":66716,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc2CWJCRA9TVsSAnZWagAAvLQP/0lyXpt/jv04pEnxC0Zj\n7C86d2r0BQReJZx49qhvxI1RTqPzWw7jGeoGOb0rPH3uEFeNr40+LNq9nfRY\n/dVp9LRl3LZG8j7xJDQieo/BkQ5TJdSn6XOa4s9tduj3RHyYk9FUa3mNTouY\nm7HoUjQSBxoahUtFHg5qWdQxif15VOYBmDEBVuRUBDvZ5MMqmIQrEMfWRuaa\nzDMJH4MVGY8PP/vZ/ad4B/DN38Kc/J/bkDPnzXFN/AeKReCIxgmZLOBUKDuC\nQHVM3cUsSpAyDF1wXZrWfITj28AzUsbFM8MZh8UjIL2o3k3PNoybCMQ81Z1+\n6gmBdtdlJYYyrr4szlKkNt/eN+BUvNHrRZAA7I9l7VLaPacKB9YgyKYpuErk\neVk8C/1o6aIgfM0CZ2eKbYaBk6TWLxQoRwShGD/BzMK/O/rcDtF9QMY8ujVm\nzxv4v2vmHjmLn1bVHXzEyIAcL1qAazJvEfTBjTgXjQxGtTEJ1VwgCQMRRMQ1\nnZpF/BSRsgOGZ1Y6mBXmvVqJvRmHNYXtYE7nUTFgkPJVz6YWYDa+dq9Aex59\nRdEpgc5ZbPrJMPV+SnC5zaZr6vzvrVfCakjm04Oe9aKNw7h0s8tplj0ZyGFR\nl4RfsTNQPj7S0vfvhVg7RZ0CZY9w2m6SjsjtSPMxwEh2ZuEPVELfrzhPSMgN\nbAhN\r\n=jspK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFko0jefF/vDyQEECpEIQLucPjWvSwmJPT2bH8KpgEZKAiAXTjbp3xVE9pD3mXW68J9tXDT9bqqcj6XiynLR61Y6LA=="}]},"maintainers":[{"name":"slorber","email":"lorber.sebastien@gmail.com"}],"_npmUser":{"name":"slorber","email":"lorber.sebastien@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-hook_2.3.0_1557669257173_0.3380768970939141"},"_hasShrinkwrap":false},"3.0.0":{"name":"react-async-hook","version":"3.0.0","description":"Async hook","author":{"name":"Sébastien Lorber"},"license":"MIT","repository":{"type":"git","url":"http://github.com/slorber/react-async-hook"},"keywords":["react-async-hook","async","fetch","axios","promise","react","react-native","reactjs","reactnative","hooks","hook","useAsync","useState","useFetch","usePromise","use-async","use-state","use-fetch","use-promise"],"engines":{"node":">=8","npm":">=5"},"main":"dist/index.js","umd:main":"dist/react-async-hook.umd.production.js","module":"dist/react-async-hook.es.production.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test --env=jsdom"},"peerDependencies":{"react":">=16.8"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"devDependencies":{"@types/jest":"^24.0.12","@types/react":"^16.8.16","@types/react-dom":"^16.8.4","husky":"^2.2.0","prettier":"^1.17.0","pretty-quick":"^1.10.0","react":"^16.8.6","react-dom":"^16.8.6","tsdx":"^0.5.7","tslib":"^1.9.3","typescript":"^3.4.5"},"_id":"react-async-hook@3.0.0","dist":{"shasum":"acd0363e484e3abfc07df2ca1919cad12edbf1f0","integrity":"sha512-n0PARuX6wO/WwDXuwo6e9Wm5P/OtIRqeyu0YWiKusRScr55N3qh4R3Js3pdxmegliH/LddUZjoCI83hsD3BSuw==","tarball":"https://registry.npmjs.org/react-async-hook/-/react-async-hook-3.0.0.tgz","fileCount":16,"unpackedSize":79735,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc9ir5CRA9TVsSAnZWagAA4RgP/35XN0N2R8Rcbam0FXUJ\nzIIc4VTrSjbXJubzdXuxxI4F6ysPJ0dbfmS84JlDutsZ7vuUdyaJVJ7W0xIV\nqzkgTNV5HQM7KadF7BUQNSm/Rt4Gz4Iq8eiibWpNW4+vajJtPR9A8C3Tw+Nr\nefXSV7LHyPe4pJW6Nf451aoDnPPoJhe7WgFIAfZr3MVWzdJ2GdhDZTslksp0\naMBvJLkeBnefWKHAO2wXaC9njQ9Affk0xG/UJK6Dmni4k/VR0I+MSwZp6Yeu\n6/ITuJaubnU8x4Fn3j0edVxKjuREW5tTjAf3VFTfmMuUxYpSgmsuWV2M7vFM\nckOpo0xgRDDMn/GpqxVYZhKepIbEP70Ov5PEZ8AfkBy1o4yybB85Xz82dURm\np6gMsg0iMzsvafPlVuyIvttrA1fayauXOGCNRX1T8q1Xuvr35Uy95aYH1Vt9\nXSaK1xzsr7htz913Qc6hqrilTBTuc2DQsSykqboL4A+iE5Of7Rcpxn39EA0r\nY/mzdy+jHup1ikfExZMGr8iihIKKLukbHUrCEmtPeZXyjxdQAUbmfiiwat0C\nzFKP1X0tuoLp41zMm3HWKCO/IF+vdthvX4luebRU6cVU6CB8PYbOIzWy4KR6\njvSLwEwS86ZHsNq3oU0HA3DzniRy8Cvts46rsPzORKvX+DBaNBwcLqDrhe7p\nfDu+\r\n=vGGP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICnPbNUe4aBg5pOd2sRazHSLBRaZmZcu4vPMibnA4BmdAiBjKGORyN8Zd9LADT8OpuCoK4sivTuT/0Amg4bw/cynJQ=="}]},"maintainers":[{"name":"slorber","email":"lorber.sebastien@gmail.com"}],"_npmUser":{"name":"slorber","email":"lorber.sebastien@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-hook_3.0.0_1559636728871_0.10145005156893494"},"_hasShrinkwrap":false},"3.0.1":{"name":"react-async-hook","version":"3.0.1","description":"Async hook","author":{"name":"Sébastien Lorber"},"license":"MIT","repository":{"type":"git","url":"http://github.com/slorber/react-async-hook"},"keywords":["react-async-hook","async","fetch","axios","promise","react","react-native","reactjs","reactnative","hooks","hook","useAsync","useState","useFetch","usePromise","use-async","use-state","use-fetch","use-promise"],"engines":{"node":">=8","npm":">=5"},"main":"dist/index.js","umd:main":"dist/react-async-hook.umd.production.js","module":"dist/react-async-hook.es.production.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test --env=jsdom"},"peerDependencies":{"react":">=16.8"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"devDependencies":{"@types/jest":"^24.0.12","@types/react":"^16.8.16","@types/react-dom":"^16.8.4","husky":"^2.2.0","prettier":"^1.17.0","pretty-quick":"^1.10.0","react":"^16.8.6","react-dom":"^16.8.6","tsdx":"^0.5.7","tslib":"^1.9.3","typescript":"^3.4.5"},"_id":"react-async-hook@3.0.1","dist":{"shasum":"6012e06c28169156168b0ad3b8579a918b96034b","integrity":"sha512-pdik5LlaAXviXydmaEl0ov39dFLBX2eMpDMSQZeITwNscdzdLSk63NOfcOpAQU49eQib+/r8VtntCdf7d6zaLA==","tarball":"https://registry.npmjs.org/react-async-hook/-/react-async-hook-3.0.1.tgz","fileCount":16,"unpackedSize":79720,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc9i7XCRA9TVsSAnZWagAAU+EP/RDaU17ilsqKmI+7lEAB\n1SIpYy87As1oLO6ZJ29w1KaqiZHVBSH9F6BOtsqRXmZrpYaJh+pnZbhLv4HD\nTYRxpsWWWwttmgQ7SEVS8F6A1+uZ1aImNjnWkyi7LUrb1fj76pknJnKZIhmw\nwYqbdh7EBlYppE3gkS4xfUZcRXRa1fNA6P794hGo+wRQL8qLVOFkQbDG0JWW\n0IKVUKELiaOUMgVUhAThJn5FY6B45q/W8lVo7fqG2SmYL+4zMaxvf2ufo6w7\nL8x6e1M10f6KE5jAUa00hO51q6abbOvwYbUDWVZdx54jpOTpv/+Rkkca68n5\nKxFOgjyHoJMFvnYIIdSotjQXhGngvf1tXmeyoT2p5L1aS8CrofKnxPf1V/Oh\nR9foCK04rPbltuuhvP9xywozQRzikg13p5KC8ZKb+qpQM1J7NDBKuIFtYyzi\nNzaeGYlRjW4BC1c22LhN0llhe/awMf9xocbjePQZ8T2KI2Ad+xlim/YYA0PO\nAvzBFnaenQJHD/ynmfWbboG+5KDTT/hn7UoGgc0GRaLQ0JcWPT7+yX2YvoKk\n2blhltwLuAShVrUuZAk/jjjBgtVa5TSaA9/CF3Jh1cxklXRwscMbeIOJ9KXe\ni5KsC2j8TH4hnpnFKApS4n3z/pKqu8ywf7Q26PR9WwjMxUaRSJ+SyFBatCIm\nIHgV\r\n=TzVz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE9kQb2NKIgQQJjwVoAjAp4GZtPPr+/HO3bJSR4whwW9AiEAq7qz/QCK0AfdtvG0yG8qjk3o+KPhGhPlVC/ttG3dIAg="}]},"maintainers":[{"name":"slorber","email":"lorber.sebastien@gmail.com"}],"_npmUser":{"name":"slorber","email":"lorber.sebastien@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-hook_3.0.1_1559637719087_0.8095383271037069"},"_hasShrinkwrap":false},"3.1.0":{"name":"react-async-hook","version":"3.1.0","description":"Async hook","author":{"name":"Sébastien Lorber"},"license":"MIT","repository":{"type":"git","url":"http://github.com/slorber/react-async-hook"},"keywords":["react-async-hook","async","fetch","axios","promise","react","react-native","reactjs","reactnative","hooks","hook","useAsync","useState","useFetch","usePromise","use-async","use-state","use-fetch","use-promise"],"engines":{"node":">=8","npm":">=5"},"main":"dist/index.js","umd:main":"dist/react-async-hook.umd.production.js","module":"dist/react-async-hook.es.production.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test --env=jsdom"},"peerDependencies":{"react":">=16.8"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"devDependencies":{"@types/jest":"^24.0.12","@types/react":"^16.8.16","@types/react-dom":"^16.8.4","husky":"^2.2.0","prettier":"^1.17.0","pretty-quick":"^1.10.0","react":"^16.8.6","react-dom":"^16.8.6","tsdx":"^0.5.7","tslib":"^1.9.3","typescript":"^3.4.5"},"_id":"react-async-hook@3.1.0","dist":{"shasum":"0c0a0db8b28e842f27621cad26051d96ffc46842","integrity":"sha512-X46k/GwXGTWlKRtFNvFjzs/wrB2jQr6DcRI/ybpEnYP1DXOIJHs0FYDQnw9Yqf4QR3xPpGjmJWFuNVzOEFvRbQ==","tarball":"https://registry.npmjs.org/react-async-hook/-/react-async-hook-3.1.0.tgz","fileCount":16,"unpackedSize":80801,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc9jAhCRA9TVsSAnZWagAA7y8P/iLXORxcGCQ21eKfFo1C\nuRblbQ+oYfroYV7aIxQLHuqwOXH3uS1Yo1eqcE6HqwyZJLA18fQbTR/UHWA2\npX3j7Doy08fRc0wqdiW5eqHNRM5FTea/68jLEBWEzxBMuD2fKa7ZLe31APvr\nqJm51Zmrf9bkeFtt1x6KkwjirRaePZ/mtEdP0WDGuIRgin3OYxFnMRW7EgOX\nlo1mppMo9MwLW+73jHBz/8eNULZ+oG3cq8cbmZAGyZSG+ziLRso3nqD1atO5\nq0oi+WbOQk8lMnBBovP/BRmpp6yRvem4ZmDLahzCuhYhIYNvvAaVqK3f4bdo\n3Z8SqD91JP31fcXJ1n9EWBN5MoyK0/BmQGp+lyGyjhekhV2M0uFpM/tUDUzM\n1W0VG8ED2kpdP1ic7Pu+KVQziUuLSAx/ItwT11BJ+sFNlRqR0l6snkWy70l9\n4H4YIEdDJpkPOGzgbUBTH74EiLHOdj79kNOfBJpGV+vXunBctIiu0kb41LOe\nmGkWgxyEaARuOnny6I/1oHfVS7L+SdyBYuVETQsgoct7KSKPQjj3UWSaKQvm\nEhGq+V7InnIdXrQc74qdiSDB8tkL/yCoOnMCQ3rnfiJWlfIfp+5TAXtyLiNd\nzqggCybEqWykHab+q/W9ZxtPK8nr8iXV6zgcuXj0dA1TtFtS0MQ+FBg8KTw4\nTj02\r\n=0y0q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDqCg8PaLT0FCVuHL7Qi5G7qwNKyUsyTy2jvFJQr/FV/AIge5wTNeEJU/vSIpLTKoSHJNfKGyATPWRJiicmTDP3Ztk="}]},"maintainers":[{"name":"slorber","email":"lorber.sebastien@gmail.com"}],"_npmUser":{"name":"slorber","email":"lorber.sebastien@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-hook_3.1.0_1559638048478_0.6343187239503478"},"_hasShrinkwrap":false},"3.2.0":{"name":"react-async-hook","version":"3.2.0","description":"Async hook","author":{"name":"Sébastien Lorber"},"license":"MIT","repository":{"type":"git","url":"http://github.com/slorber/react-async-hook"},"keywords":["react-async-hook","async","fetch","axios","promise","react","react-native","reactjs","reactnative","hooks","hook","useAsync","useState","useFetch","usePromise","use-async","use-state","use-fetch","use-promise"],"engines":{"node":">=8","npm":">=5"},"main":"dist/index.js","umd:main":"dist/react-async-hook.umd.production.js","module":"dist/react-async-hook.es.production.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test --env=jsdom"},"peerDependencies":{"react":">=16.8"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"devDependencies":{"@types/jest":"^24.0.12","@types/react":"^16.8.16","@types/react-dom":"^16.8.4","husky":"^2.2.0","prettier":"^1.17.0","pretty-quick":"^1.10.0","react":"^16.8.6","react-dom":"^16.8.6","tsdx":"^0.5.7","tslib":"^1.9.3","typescript":"^3.4.5"},"_id":"react-async-hook@3.2.0","dist":{"shasum":"23e771c0f5db1e004e1ae911dd84f98cf36f8234","integrity":"sha512-OdNgGu5+W+WTUONeflQ9+PP14z7BlvmxZnD2n6i7PwnZcJD+niFLsty9Sri3ZSGXqYxkT6JkM0PUbHNrof23TQ==","tarball":"https://registry.npmjs.org/react-async-hook/-/react-async-hook-3.2.0.tgz","fileCount":16,"unpackedSize":81711,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdCmJpCRA9TVsSAnZWagAAcEAP/RRWp30eoQTJuX/hcOdQ\ns8Qoq74ZOR2VSwK4ZZIcsfdgKeMaQMcmKn+E63D1XbCHXkgEmY4X7bdC8zCD\n/V61ft6FnnYrKsd8CJiy8kOMEAxlBni5IiWWt0GFQtl64n9CvAF588SYGEaO\nLFLWFcONstaneoP0rbHE+kiVy5qcBwawk1nQ40AHqo8RXEah77bnqayi8egF\nttvB9W5oQPayGv3yIcRw1xZpY273fhLRwaUz5xM00jIP3VcfbD7VINxB54n4\nOWB6owE3PR+GMEs+edor1xubobzNHM8zciMN3kaS38PdpzKP8VJqNojMiY+t\naOGahwzZ3hO9efi3WzrUfGexFPQLJRawQd39QnbICmoa7/uWVL/YsHaBWA4R\nDLwhCn5FD6l8SwBxa25FoqRWhkb8dZuNzaHC3dyGSZmwJKPTEI0+s6mtaxY6\nxwVrqp57OQ2eqmoqOf9PV/ye7ON3SsnGw2zEDWTKvrtgTj9A5HufKOtANqsm\nA2aXMto4T9mOMtELgEi3Pc5qLHHBpxpjDUUAIThvloJfmwFdt/0OyQ9jCaPg\nwPP945NtnJsEtKv2B4BLFKKDKe/+IcLG4wCS32C5D3M+O/XYkUCCUPdZoAE4\n1kai+3L9MSoc0h9lA1+r3tQIz4A61dKppnUtVjccInGQYUpFC+2y8kzYaJ6R\nzz0U\r\n=i3lr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDhm+c7DleV2uMlDrHTQP3AhaVhfIbFmzTHJQIAoiMMLgIhANUJJ0b3y5PeA8mPaeh4PdRrbDQ44T9otqVN5MSWpTKm"}]},"maintainers":[{"name":"slorber","email":"lorber.sebastien@gmail.com"}],"_npmUser":{"name":"slorber","email":"lorber.sebastien@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-hook_3.2.0_1560961640446_0.9110076918527381"},"_hasShrinkwrap":false},"3.2.1":{"name":"react-async-hook","version":"3.2.1","description":"Async hook","author":{"name":"Sébastien Lorber"},"license":"MIT","repository":{"type":"git","url":"http://github.com/slorber/react-async-hook"},"keywords":["react-async-hook","async","fetch","axios","promise","react","react-native","reactjs","reactnative","hooks","hook","useAsync","useState","useFetch","usePromise","use-async","use-state","use-fetch","use-promise"],"engines":{"node":">=8","npm":">=5"},"main":"dist/index.js","umd:main":"dist/react-async-hook.umd.production.js","module":"dist/react-async-hook.es.production.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test --env=jsdom"},"peerDependencies":{"react":">=16.8"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"devDependencies":{"@types/jest":"^24.0.12","@types/react":"^16.8.16","@types/react-dom":"^16.8.4","husky":"^2.2.0","prettier":"^1.17.0","pretty-quick":"^1.10.0","react":"^16.8.6","react-dom":"^16.8.6","tsdx":"^0.5.7","tslib":"^1.9.3","typescript":"^3.4.5"},"_id":"react-async-hook@3.2.1","dist":{"shasum":"54ab03c78ee2fed9a9b7221fc51170e878224b6f","integrity":"sha512-MV36eBy31t1FD4owFHcHzNBQC04aZPTbGQwO2+Vtn/UmwWGuZoxqJzBl7F4Pj4r9pdMGFrgi/7nAYz3BJ4tFyA==","tarball":"https://registry.npmjs.org/react-async-hook/-/react-async-hook-3.2.1.tgz","fileCount":16,"unpackedSize":82500,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdCmUPCRA9TVsSAnZWagAArk4P/RLubpNH93hi/unOLD75\nFZNSdXhC49EcPyZLK9sS/dh6kt0KzDCpD/V2+uk6kddXhSVHhgZhWCwwDp3y\n1uXUuAHaeq4Yx1t0YOuhxiqN/gB5FgIE+N7bMkXhsAKTGuqGDpdYI8xZRCYy\nA1MY4cVSEfaCWl5eX1XAT+uxjwOs0zB8AeVT1sHBzTwFwbSfaVixelwUNzCa\n/ZEQLFfzvcCMVcRWXFnD2THLQRTcS0RR7zYwqKHqWMfzohMlrwfCUlsPYIOB\nD59ZtmNsbDgwrj0HWIvIaxjdqYGIl0W6ep8J9ySrlM9kzTgBuKe0z95BUVsd\nHe7fz0zD1OFaI2Ek5X0Jlp6dCE5+3DgFMQiubfbKgUChup/QCsLposNHEyCr\n1y/eBxPi93qbxBsDUx+vhwLO3soTW9BugGvo7x7Kg/iv0qtz+a9A/5EAgKmC\n+nC+M9YZLZoOb3Tvo36qQFfAqPKGwb5dmeMMp9iw2oF9PYXSCVtF2CwfnM6u\nixmvOwzJmX5F9f/vbnBO+PPyEutX4wEkVD/99nU4SBvTgV5sn2/nWcuJLCfB\nYL1yAC9HwRYfwKKxzHgEFraIVZjso4bB9zgtMpSz/oITxh6YPoznGI+Sihur\nqS2yav4ISdSoL7C3LmJP9dCYUTjwnifXOfRAEkkDke+80tPoOD3nCzmOkgsa\nv9bH\r\n=tYVZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDSnFTFOUya07dhAPsAi+N2sO53hUXrQCwEPw7LvEO4EAiAUpKJZGxU3al+G8Noiv6jHWs/Ca2vvyf3MOzTFf41/BA=="}]},"maintainers":[{"name":"slorber","email":"lorber.sebastien@gmail.com"}],"_npmUser":{"name":"slorber","email":"lorber.sebastien@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-hook_3.2.1_1560962319079_0.10958684845611866"},"_hasShrinkwrap":false},"3.2.2":{"name":"react-async-hook","version":"3.2.2","description":"Async hook","author":{"name":"Sébastien Lorber"},"license":"MIT","repository":{"type":"git","url":"http://github.com/slorber/react-async-hook"},"keywords":["react-async-hook","async","fetch","axios","promise","react","react-native","reactjs","reactnative","hooks","hook","useAsync","useState","useFetch","usePromise","use-async","use-state","use-fetch","use-promise"],"engines":{"node":">=8","npm":">=5"},"main":"dist/index.js","umd:main":"dist/react-async-hook.umd.production.js","module":"dist/react-async-hook.es.production.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test --env=jsdom"},"peerDependencies":{"react":">=16.8"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"devDependencies":{"@types/jest":"^24.0.12","@types/react":"^16.8.16","@types/react-dom":"^16.8.4","husky":"^2.2.0","prettier":"^1.17.0","pretty-quick":"^1.10.0","react":"^16.8.6","react-dom":"^16.8.6","tsdx":"^0.5.7","tslib":"^1.9.3","typescript":"^3.4.5"},"_id":"react-async-hook@3.2.2","dist":{"shasum":"3e8b9f13a18f35bc2ef3cea2af32b8def7ec87b7","integrity":"sha512-LnnYpI41D7n+XG0y1Wa0aCREIL0xBSvjKg7jncUZBwG6fxguiyKJd+HmmxLrCEswV/A+80oISgSD0X6qcZnefg==","tarball":"https://registry.npmjs.org/react-async-hook/-/react-async-hook-3.2.2.tgz","fileCount":16,"unpackedSize":83588,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdCmcSCRA9TVsSAnZWagAAVzQP/0nb6Yh+G/4k5EQOCFGS\ns41wZaGByL+g0gh62PidV+iU7nnNUnL76AfZwcR+ksxWbimt46agmR8w99yr\nPdZ2BIZCteCuANZV61GtloOvw5CBmJRxovu8Dbe7hEBdbB7CfyMBn1txE8hl\nh57JdDFrzX2Fxh/i/KpYZMQTyTK7ORriE6l5ZFHwiqiFpWURmAmvu8JeiOwr\nI3NkLBCAp+D5MVl/ol7j+zgP6y3y9hZkMJEAt1ZCi3nESxM5/bTYeBpZyT+Y\nIgfFCgS29eglnSqlCvju/Fz7pFRx917Owsoxjc7uiItfnQOhlbp+XXYXcO/+\ndGL24fphCl5tM5ub6bMuXGuwHyaMdAljEmmZYcYdSt5OlrDx8NHkOjjqWtU6\nlnP28hyqUIp7HTnFSuaYCyiUvszv1VOD6+SE2wm6JPrKz10GoHeE0wCUnrDm\nClIRcHCZ4ZWwXzW7n5Bbb0FE8QWwll6ruIRLEYCq4mthTeatQb6zBXJnKN1X\nThd0QmX0Luwkk4f0cfS401866v0HytHSYb0dz5P4Vb7hG5MBoagE5alNagf4\niW3rLYv5C0/hirZjwweNM2NK+I3UFimt17P8e3/qCo36Zf08tgK1NHbrxoY2\nQnBafZDD2tQbrt0bcCjjccrhb8Bq5kMKDUhhCTe0sUy8Rw0e6HlIqlQWlAhi\nblbl\r\n=qDmC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH9Q/ieI+25lOkHOe5zVeN5BVeiFpOjsbR2rzwe2T3UzAiEAu3RZlfFC7Dyci3Axc8+srto5Yqm5aalBiUkGRXSqKuI="}]},"maintainers":[{"name":"slorber","email":"lorber.sebastien@gmail.com"}],"_npmUser":{"name":"slorber","email":"lorber.sebastien@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-hook_3.2.2_1560962833742_0.04542500009302897"},"_hasShrinkwrap":false},"3.3.0":{"name":"react-async-hook","version":"3.3.0","description":"Async hook","author":{"name":"Sébastien Lorber"},"license":"MIT","repository":{"type":"git","url":"http://github.com/slorber/react-async-hook"},"keywords":["react-async-hook","async","fetch","axios","promise","react","react-native","reactjs","reactnative","hooks","hook","useAsync","useState","useFetch","usePromise","use-async","use-state","use-fetch","use-promise"],"engines":{"node":">=8","npm":">=5"},"main":"dist/index.js","umd:main":"dist/react-async-hook.umd.production.js","module":"dist/react-async-hook.es.production.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test --env=jsdom"},"peerDependencies":{"react":">=16.8"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"devDependencies":{"@types/jest":"^24.0.12","@types/react":"^16.8.16","@types/react-dom":"^16.8.4","husky":"^2.2.0","prettier":"^1.17.0","pretty-quick":"^1.10.0","react":"^16.8.6","react-dom":"^16.8.6","tsdx":"^0.5.7","tslib":"^1.9.3","typescript":"^3.4.5"},"_id":"react-async-hook@3.3.0","dist":{"shasum":"3b1bf3e77c7879251511c4fd6c9eb58e60463515","integrity":"sha512-nj4GGkELXK22B8ohokwiHXbZJhYSOULWU81za7oNvLJeKILsnbNeHEaqqQJkuHmnTFs5LVPOwGU9UzcFKBAxVA==","tarball":"https://registry.npmjs.org/react-async-hook/-/react-async-hook-3.3.0.tgz","fileCount":16,"unpackedSize":87861,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdFOZwCRA9TVsSAnZWagAA51wP/18+rqlp7JZO5rSKWsi5\nd/bspCByZOlvMuPwUFLzhc3VV8yILcHkfMl3vMEKr4cU1UjjLcfhWLNiCSoy\nAngKCVE2aL3HVOk72F/8AdTEaEEzhOfJdoli490h0u9G7Ih5bnfXgxsv40Xp\nxyH4YJgQlVOxYq0otwvKAz8LoCrF19VQUUisK0gQ3I35W3e6jIXy9hyH5if6\nvmLoDIhle7cpauCEEFhY4DJq9kvawRPC/ePmM5ghjmZWy7q6AhMNdIwS51p8\n42Eg6XkgUSsNIdKo02SzdD+rReNKCj8db4fsZqwVxPA8xXzPoEFrN1dm6i1z\nPQNmwK87bzkwiAyAlQv4feLlPzaNwdV91TAi2vLXzoxxVofLd4F4LX8WkCg/\njQr5tHF4CX+SVs0v2XptAsYxD1gRxkhhwDEy3VrOx/EfCFmC9UcfzsOu2VBb\nwBN9kIDRKitRRE4D3jI9jHe4xubDLIdoEJC/XHlaA6tlxad0l+FJsiENFv4p\nRwvrAvKbxA2Pvm/FjsD3DNYJAIBIl0FfJP1C9rSWOE2PE4h+AUr1tC61DSwB\nma20SCbMIwRZeJCAKJY/y3iI1Vs8cL/AOUUEVT/N4Tni4KZ+AxliJWHng5nc\ncv7AjDdKcV3flVtp2Dkt5du88RjF3ac5y1K4+36sH58ikTgpHG8+F/ePwhlK\ngNc/\r\n=Zx7h\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA131jPj8HY6w1gqR8rRq+usZedZVYt5xrzZ3k2qGKhdAiEAkzPPI2PDXQMECASHKSuZgdX8pL4RAnWIfx65bm6L8qI="}]},"maintainers":[{"name":"slorber","email":"lorber.sebastien@gmail.com"}],"_npmUser":{"name":"slorber","email":"lorber.sebastien@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-hook_3.3.0_1561650799506_0.6196769448456372"},"_hasShrinkwrap":false},"3.3.1":{"name":"react-async-hook","version":"3.3.1","description":"Async hook","author":{"name":"Sébastien Lorber"},"license":"MIT","repository":{"type":"git","url":"http://github.com/slorber/react-async-hook"},"keywords":["react-async-hook","async","fetch","axios","promise","react","react-native","reactjs","reactnative","hooks","hook","useAsync","useState","useFetch","usePromise","use-async","use-state","use-fetch","use-promise"],"engines":{"node":">=8","npm":">=5"},"main":"dist/index.js","umd:main":"dist/react-async-hook.umd.production.js","module":"dist/react-async-hook.es.production.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test --env=jsdom"},"peerDependencies":{"react":">=16.8"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"devDependencies":{"@types/jest":"^24.0.12","@types/react":"^16.8.16","@types/react-dom":"^16.8.4","husky":"^2.2.0","prettier":"^1.17.0","pretty-quick":"^1.10.0","react":"^16.8.6","react-dom":"^16.8.6","tsdx":"^0.5.7","tslib":"^1.9.3","typescript":"^3.4.5"},"_id":"react-async-hook@3.3.1","dist":{"shasum":"08123de8aa3cbdc84b038e5a37d2c653ac6363e1","integrity":"sha512-VAjmf5oFH6DKNVYv1OX7a6KWmGEUsbdfVu4psOZ6ZAWNBNcEDGhusEieXXQQ5vo94XL7yRAO+HPmD4PxPdxGSg==","tarball":"https://registry.npmjs.org/react-async-hook/-/react-async-hook-3.3.1.tgz","fileCount":16,"unpackedSize":88377,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdFOebCRA9TVsSAnZWagAADXUP/0x5qbALmlc4dvi7nTqb\nMgwYgQsRTNqJ8dfOpLzwcrzqlqwLtnMXzhsSFLQzcUWkWWRMn03jNCpItPni\n0LEBUv9cwDk1eApN4rn1Nf0zFe5H55KEmgGNcJMRoD7U/C10EXfL7OSvpkG8\nXD2gG5NDcAmYai1HBQaEMNFs99nLUrUaP5U8ePFTzg4fdgYYABd+cgNQgpKr\nQHLAGjJS7sruS98xEYmcpAcJx3EVZSapJEVx3EWljazHLf2Rhy592RA3ASu6\nbO6Pm6HGlTR6Bdvvkpr1LbKLuusi7SXFam1DhwcOuD7H6Q8TPXkCHsLfkQuW\nrLXcGnVFsKidcMRamz+yT7TKLn67vOp+MJOGFXF+/Kemu1GWxOtEKlVnNc2x\n4hHe2llTA2wrk16JAIxEF2IywupsG58h9z41NIVBAVRB9uTx9nRE4lTj30Ry\nmFlFSb4Mjiqq/0aW3diOgO8XzpW9s8JtRrtIByk1n0wTqoR0XWrjWOx88FtR\nCd0n1AMCa7Tqv6ewyN6BKNY0ht8cWNfzRimRBeL8padRoG3DVuWmAuIR9tIH\n4io6bghjp+EGtluuJYdf5AGeeSftC7rVGMKKrzb5DCAi4ocsHVbUl1jOqDO8\n+OBm5F+d3Ng9MbpQDNWgI+Hn1SM+6bmBS3J2ukaTsK1zWrj26XP5z0ErHcfW\nURDx\r\n=KdlA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDFPWcuM8XJpmmau4Fm54TWhWHU+ghPyafzay2udkEEUAIgcSJ6FDKz/VQopPySAjjJMg3QdoDDgJLt6g2XWkxDJOI="}]},"maintainers":[{"name":"slorber","email":"lorber.sebastien@gmail.com"}],"_npmUser":{"name":"slorber","email":"lorber.sebastien@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-hook_3.3.1_1561651099275_0.9339105055383281"},"_hasShrinkwrap":false},"3.4.0":{"name":"react-async-hook","version":"3.4.0","description":"Async hook","author":{"name":"Sébastien Lorber"},"license":"MIT","repository":{"type":"git","url":"http://github.com/slorber/react-async-hook"},"keywords":["react-async-hook","async","fetch","axios","promise","react","react-native","reactjs","reactnative","hooks","hook","useAsync","useState","useFetch","usePromise","use-async","use-state","use-fetch","use-promise"],"engines":{"node":">=8","npm":">=5"},"main":"dist/index.js","module":"react-async-hook.esm.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test --env=jsdom"},"peerDependencies":{"react":">=16.8"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"devDependencies":{"@types/jest":"^24.0.12","@types/react":"^16.8.16","@types/react-dom":"^16.8.4","husky":"^2.2.0","prettier":"^1.17.0","pretty-quick":"^1.10.0","react":"^16.8.6","react-dom":"^16.8.6","tsdx":"^0.7.2","tslib":"^1.9.3","typescript":"^3.4.5"},"_id":"react-async-hook@3.4.0","dist":{"shasum":"0ed584a1edd85ea632eeb18ad4185cf5aea05fdd","integrity":"sha512-LAX8FH/sem4FtTXK66CGXIT51UVT8HdvUxs0PpSYX++sNA6PLwMXaslYrGd844FXgJF+VEoASPftp5q0P+PutA==","tarball":"https://registry.npmjs.org/react-async-hook/-/react-async-hook-3.4.0.tgz","fileCount":12,"unpackedSize":136469,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdMHkmCRA9TVsSAnZWagAAnOsQAKBZHBzb4xf5BP8c1d4a\nMsS6vpP0SejodCMyie1kAs9qKg8Eg3qynAflNfkngjDSHv5ciruCr+R/zGvR\nbbS+7221UTwsk79Gh3RiDl5h45rsLhIdd95VyW8ludqt+VSTkoy8scmBQjof\nOz58Leqe1seApQ2I1dDAsYWvalPGyMueoNMDwwUHSViw1d8a6KokxboEYrt/\n07rSUPYfQStMpXoUNh2Vp0AAu8BQQ5870rlQosgaJ+9UtivpBK+6uW+/OX/v\nR+DmDwuVXkPVj33jnrZaMVeeAvMEQVvrS9/spwha25JSE0QYs3LAujDAXU4U\nlxEDB4U4//BK17lwD9Q9cFpPjVo1I+HB+Mfhr9OcYw0FZprnnf9skDzx4++f\nEj1xNbHXofm0At0HJ45BXeFN4PO/QpQp3p1Fr6wdHoLYXCyFtv3xbf0CvSQu\nYP1gQJDrbpeNgvFrAcW9Iki+irQhX4xuyM2FkWpA6aRPwFAeb3N0cnpCdNa+\n7eI2GCI4T9mMNttsadQIj82CpsdI+0uG21T5X4bdz/hooUuiAzlXt2u3aE5g\n+jFImxhabo/VruJ9YrwcoVvRQncgbUuMwzLhf1rUEo4xeVxY2Y8pdnnunbdp\n9Ot0BF7cgaJ5C3ci+5fhTehPI13CI8cy+FLSEyZ4bKAKhel4/1Iw0r7jpwoQ\nZVKE\r\n=WDOt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCmXhRZdhA2qHSB/sEY6LKjGJLk+VPC5N5QI+FIGik/BwIhAMFVMc9Wvhi74zQ/w8r+HDPIiH+K+OFTN8O06hHvAEPD"}]},"maintainers":[{"name":"slorber","email":"lorber.sebastien@gmail.com"}],"_npmUser":{"name":"slorber","email":"lorber.sebastien@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-hook_3.4.0_1563457829777_0.5192548012028269"},"_hasShrinkwrap":false},"3.5.0":{"name":"react-async-hook","version":"3.5.0","description":"Async hook","author":{"name":"Sébastien Lorber"},"license":"MIT","repository":{"type":"git","url":"http://github.com/slorber/react-async-hook"},"keywords":["react-async-hook","async","fetch","axios","promise","react","react-native","reactjs","reactnative","hooks","hook","useAsync","useState","useFetch","usePromise","use-async","use-state","use-fetch","use-promise"],"engines":{"node":">=8","npm":">=5"},"main":"dist/index.js","module":"react-async-hook.esm.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test --env=jsdom"},"peerDependencies":{"react":">=16.8"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"devDependencies":{"@types/jest":"^24.0.12","@types/react":"^16.8.16","@types/react-dom":"^16.8.4","husky":"^2.2.0","prettier":"^1.17.0","pretty-quick":"^1.10.0","react":"^16.8.6","react-dom":"^16.8.6","tsdx":"^0.7.2","tslib":"^1.9.3","typescript":"^3.4.5"},"_id":"react-async-hook@3.5.0","dist":{"shasum":"179438c94032d715827e70b7770a5510d8a41558","integrity":"sha512-X+CDnRVCjYI1JMqf2ySJXDIrCWwPXNwq2vMzHiIpKx1ev9gAlapHdyMM7wV7ofhG3yuDB9f+b+XXOLanbg0xDQ==","tarball":"https://registry.npmjs.org/react-async-hook/-/react-async-hook-3.5.0.tgz","fileCount":12,"unpackedSize":145036,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdcnqyCRA9TVsSAnZWagAA03oP/Rb0xqLzVqn8G3WMRXyR\nVBnzSMtOR9eA85h+N317ousMyXx3Ra8j151Fi3PUBNEiQEAEjR5JTFBsdxgo\nS+3Bza5hk2nZ6/vZ9D+bmuE//XjvMQviOtAXJQmHvQ6XpAPlutANtqX7kpQw\nl7AIoaz7OtMOKl94aQPmowR073/MmF+jI8g4jpHq7OVr3H4GIG9iLBO+YhJ2\n5AsOAly4w4Tayd8sbqtUFiUS1/iQt2sJWC/mT+OmrZFfnPm3CQjU1L5Pbp3i\nr3nXXuZEJur26ewuZChM6J+KMYc0z6TseznROpZBdmaeeEHFUlFcQlxTiK0s\nVFXXep7VpvoD7KwHEcWl1/XhdRuLmwdwhvjekwvlrOXQs14h9lKbhcz5oWHy\nGxd+jk2WqqrHuDU8nnjoV8EyIf8pM3RuoBGLk8vnFKhzVh1z06Ij5tlFLkVZ\nbVExqi5JOI02W/D3h+52iuzzAkZUs4tHzRUr15P5jLONtzBS0SVJ17IgyLbw\n64QeowO/lmdre29mkHdtEicmf16oodzj2seJFwSr/1gnSiJGIKjCCi1GYyd9\nlRTDMubdLtIQGkb1FhM+MkK+tj+qCMRFZqD6K4xM0pVuIGUMRSyXxzOGWeEP\nmrHOR3YYHu/E/ZushON49DRhEFHT5VXAiIOLn8QMqhPBvmltLi6/gF6aQNp5\nJItC\r\n=fMNf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDwOLOZrTeAFMvBIrKxQ013VKM8aLrzvU4DkshWkuPfRwIgLSfEBt0bptPHKyq+frE6SqRWsfIcWCVNOFQyTBVhZKw="}]},"maintainers":[{"name":"slorber","email":"lorber.sebastien@gmail.com"}],"_npmUser":{"name":"slorber","email":"lorber.sebastien@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-hook_3.5.0_1567783602007_0.5759094707328867"},"_hasShrinkwrap":false},"3.5.1":{"name":"react-async-hook","version":"3.5.1","description":"Async hook","author":{"name":"Sébastien Lorber"},"license":"MIT","repository":{"type":"git","url":"http://github.com/slorber/react-async-hook"},"keywords":["react-async-hook","async","fetch","axios","promise","react","react-native","reactjs","reactnative","hooks","hook","useAsync","useState","useFetch","usePromise","use-async","use-state","use-fetch","use-promise"],"engines":{"node":">=8","npm":">=5"},"main":"dist/index.js","module":"react-async-hook.esm.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test --env=jsdom"},"peerDependencies":{"react":">=16.8"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"devDependencies":{"@types/jest":"^24.0.12","@types/react":"^16.8.16","@types/react-dom":"^16.8.4","husky":"^2.2.0","prettier":"^1.17.0","pretty-quick":"^1.10.0","react":"^16.8.6","react-dom":"^16.8.6","tsdx":"^0.7.2","tslib":"^1.9.3","typescript":"^3.4.5"},"_id":"react-async-hook@3.5.1","dist":{"shasum":"bf8c03b3ddd5192cd0afc2c4c973c89aa4d5eb42","integrity":"sha512-QYcOcfyCkpU+czuVIyfiVN4M3mU86XIG40h2Zhu7QxxMi+CHF+qev5HHwyxQHXQAezPu91q87seqgMT9DUOfjQ==","tarball":"https://registry.npmjs.org/react-async-hook/-/react-async-hook-3.5.1.tgz","fileCount":12,"unpackedSize":145283,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdcn3ECRA9TVsSAnZWagAAiQgP/0xmebFy3RmOjNWroP2v\naeAPsmXO+FGDSQQxwqzgNdfckGldD3kzWLHYFRdpcpzkzR9Y1dHmpO2mEhxQ\nM/1ziqV0GbA6T2KTeSlhDN7oHXAuolirN6LnRVAEzi1gdZAp+mVLl2RMVFh5\nZLxkVW2S/PJcgziKG7nRXZzdPyukCD0nZSQd84kbxs7kDfqRx0bv9QHGW+Pw\n3SSKrsq1MxtTqLPOORZ6w5HdU87WdIwGQkde15bcHc8NVSQktJ9/8SBcn0nS\nA1gyehcIiizWo3vssIo8sMGgbAH8+u5FahpiSLjrQMGTIdeLYKGY7RgUfmqy\nk9/F/cGMOHbhU4WyOwsJca9eq8ZyQfFtL1bve/UeLu5WO7bkJCt0Imo48PwK\nhmcsU5PLBSttRLfid5d9MnI7bPY1PpmmqpXi9QQ+zxho1bOl5k3MjeteHLeq\nyAtT6r+qlO+N1IbmM0YHgZLiCAOtgJsVfQy5CN0NuOd5lMhI4OTSuH3k7ar+\n49yobZCGKaIwO4YLsC/8vl/2YT8jqnpbnM+iewsunSiEnq6TVlMcQm2KuAix\nteufy3VRWi4mFg4AhM+/0zNDOMuvtGm61sTDUYaWmoCxN08VxYNZTTsuyS3I\nEItk6nlKdDC39qGWAEncG0wr6WuUlU7PfomcL4iXhmS7NWrhIHBIhE3hKkHz\nT0G8\r\n=bx8g\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD5/I410ibYk03Gn3CMGCt/Y4Yef32emYgAl2Te91z04QIhAO6VvpHqWFqXHwl5npyyL56GN3AOSrtnjZKlGMh3KWP4"}]},"maintainers":[{"name":"slorber","email":"lorber.sebastien@gmail.com"}],"_npmUser":{"name":"slorber","email":"lorber.sebastien@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-hook_3.5.1_1567784387602_0.5153972070578174"},"_hasShrinkwrap":false},"3.5.2":{"name":"react-async-hook","version":"3.5.2","description":"Async hook","author":{"name":"Sébastien Lorber"},"license":"MIT","repository":{"type":"git","url":"http://github.com/slorber/react-async-hook"},"keywords":["react-async-hook","async","fetch","axios","promise","react","react-native","reactjs","reactnative","hooks","hook","useAsync","useState","useFetch","usePromise","use-async","use-state","use-fetch","use-promise"],"engines":{"node":">=8","npm":">=5"},"main":"dist/index.js","module":"react-async-hook.esm.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test --env=jsdom"},"peerDependencies":{"react":">=16.8"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"devDependencies":{"@types/jest":"^24.0.12","@types/react":"^16.8.16","@types/react-dom":"^16.8.4","husky":"^2.2.0","prettier":"^1.17.0","pretty-quick":"^1.10.0","react":"^16.8.6","react-dom":"^16.8.6","tsdx":"^0.7.2","tslib":"^1.9.3","typescript":"^3.4.5"},"_id":"react-async-hook@3.5.2","dist":{"shasum":"df85584ee9280bdece7af29ce46cd7c037cf596d","integrity":"sha512-y9QT+CXekIUbtjfwYZ3wcdnHcndjJ37RzPe74c2bztlIxTQakf+gTSGGlfQmAX2YjQg/ko7v9I1j/Ik7EtqB5w==","tarball":"https://registry.npmjs.org/react-async-hook/-/react-async-hook-3.5.2.tgz","fileCount":12,"unpackedSize":148094,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdcoYqCRA9TVsSAnZWagAAV/wP/ih4lMQO3ns53OzleuZE\n/efsEikk7PkxXBvcK13bo5/Wg1B82xuZEBHB7xsroltQ8Y4O7hhC35EY5f/M\nK+TjR1Ruwl5BgktTN+rlUCz1YUsk4CklfPnbl9ZH3cmtXb/2slhqG9eNjzu2\n9SkKhg6YAUJBmPpp3/Iq/84zgsbHw/xKGLufysrpc96Gojk9/CGmlVSKf4uc\nNFH/TDRNoXlnxlKm5qIVRpx7hDBCxc5vD3TqwIYTgsWgYZftnILmNyGhgFkA\nu+ZYA8dRfOAWLNpbdBHLOavhaL1BXB6F+EiDfeKCCdL18DQsHhHtYxM+CYn+\nQvVxfqqnbFnI+e24+QsbvZYDku4I8iNtCSaQSycpwn+fg/RdIw2MfKZPDVLQ\nUtuQLn+dBgDJtiKdbxvI9NrThsa8UPICBjq6ZVxVktF8oeB4nSIOkCMaYwNA\nDhNtBocvLamMI5iVD5FGtcb5JtnWlvYC4FOe1/HWI9m7mGFydwkNsmOeVlPW\nmCcm9ano0WVaNXdbSq2fGmq8yX4w+C6lPbI7M12p9+XOtYZEJ1/aT9GnrFbb\ngweTcAwmOm6ZItma92VU+jImN6WhNBnAi4UBano8sorBnT0i/4FDK5fN9VL9\n1TMZ7IYlFCsbTQ6Szoi9Ek5Vh7iJKPEeTWy49EzojoRGXK+FI0Adi2wb86tl\nIG1L\r\n=yzco\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCUENRJmxQL+o2whr9P0AFjGmD72LTDaX4lVljNiDpr+gIhAMB9A/n+htlIxHIiievX0ajzJAoupgc50OaiYDZYlV8U"}]},"maintainers":[{"name":"slorber","email":"lorber.sebastien@gmail.com"}],"_npmUser":{"name":"slorber","email":"lorber.sebastien@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-hook_3.5.2_1567786538196_0.453175142068557"},"_hasShrinkwrap":false},"3.5.3":{"name":"react-async-hook","version":"3.5.3","description":"Async hook","author":{"name":"Sébastien Lorber"},"license":"MIT","repository":{"type":"git","url":"http://github.com/slorber/react-async-hook"},"keywords":["react-async-hook","async","fetch","axios","promise","react","react-native","reactjs","reactnative","hooks","hook","useAsync","useState","useFetch","usePromise","use-async","use-state","use-fetch","use-promise"],"engines":{"node":">=8","npm":">=5"},"main":"dist/index.js","module":"react-async-hook.esm.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test --env=jsdom"},"peerDependencies":{"react":">=16.8"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"devDependencies":{"@types/jest":"^24.0.12","@types/react":"^16.8.16","@types/react-dom":"^16.8.4","husky":"^2.2.0","prettier":"^1.17.0","pretty-quick":"^1.10.0","react":"^16.8.6","react-dom":"^16.8.6","tsdx":"^0.7.2","tslib":"^1.9.3","typescript":"^3.4.5"},"_id":"react-async-hook@3.5.3","dist":{"shasum":"d0e4763ae9435e04ac423f29c2a36fbcdf0523fe","integrity":"sha512-W7SOrw5ZxEmMSL410rhWfYDb+bXpsIyqhhPdBG/txZfFxPQspC8cdUQMd93L/eC0o07Q/AI3uD70I8VKqjWSWw==","tarball":"https://registry.npmjs.org/react-async-hook/-/react-async-hook-3.5.3.tgz","fileCount":12,"unpackedSize":148984,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdgguyCRA9TVsSAnZWagAAeb0P/10knlOmyButYOMiLe1n\nEp1X+aoU/lUBHueCLp2+/hD16s4GpbDaSSPIMBVHg7fmffluFduyJzqn5fai\nSx7MYustcZtOFrxbfs5jNp8pCPMGKbFqibmp9Y2sC9PgrwPMFq5f88vIoxrC\ntYtpTk4ELiPiZRiBNxpQgnRjy1MDIpcSZoMMLkpRIZehJjwH7i93Mxe05tHj\nQIDsUaqdNbnwYK3nDeNwL9xl+PFyAErjq9l5Y4vH7O122Z5qHDwRcAe5OkgZ\nFIH5T1ArriBqgoTBkKaKkG2R5LDgwNXWwUNQiO7ou7dOJlLxZnGr0tXLhzGW\nty8TiurFqrygzCB8UMhry4a3ihkWj5817aSjAWyO155+He5GLBEYIFe0cpPY\nrqVZtxsnvpO1O0m8dzRU87dF4Z3HlrgU8P2OhdrxL9+PprKxpmphcoQP9vGY\nDPfqmozBRl3uyVeRlep1UL2tfzXjs9xF8hTdl79azv+O6kQOYG/4/t51WT7t\nd+lTdAaspGB2IjWfc/nLtJGtrkqQt70Bu10w0DQ+/dIF2CSM9m7R0pbhLwP2\nBGWDRVhaGx/hZJLAUJCsr9KBiHonKJQCeqs2Nn0bLFcYKoVovmgxTeXaIwlF\nVLZqSbGChZfAal4TRYJOIsHnvnky7gocEPPiGT5/coVGU2oti1Gw8Bj9NYiE\nrjlx\r\n=KIz1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDn/wpJJMfwqnPVUbGDDQ5Zi0NaZqfEz3nYSyE3BKppRgIhAMXW34ZzULTEyuoEyEg79C37kA6DmEOm69nLU+WmH1HL"}]},"maintainers":[{"name":"slorber","email":"lorber.sebastien@gmail.com"}],"_npmUser":{"name":"slorber","email":"lorber.sebastien@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-hook_3.5.3_1568803761903_0.6506468696647474"},"_hasShrinkwrap":false},"3.6.0":{"name":"react-async-hook","version":"3.6.0","description":"Async hook","author":{"name":"Sébastien Lorber"},"license":"MIT","repository":{"type":"git","url":"http://github.com/slorber/react-async-hook"},"keywords":["react-async-hook","async","fetch","axios","promise","react","react-native","reactjs","reactnative","hooks","hook","useAsync","useState","useFetch","usePromise","use-async","use-state","use-fetch","use-promise"],"engines":{"node":">=8","npm":">=5"},"main":"dist/index.js","module":"react-async-hook.esm.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test --env=jsdom"},"peerDependencies":{"react":">=16.8"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"devDependencies":{"@types/jest":"^24.0.12","@types/react":"^16.8.16","@types/react-dom":"^16.8.4","husky":"^2.2.0","prettier":"^1.17.0","pretty-quick":"^1.10.0","react":"^16.8.6","react-dom":"^16.8.6","tsdx":"^0.7.2","tslib":"^1.9.3","typescript":"^3.4.5"},"_id":"react-async-hook@3.6.0","dist":{"shasum":"214a2c6e9171984ced06f377374b0d9cbca09cb2","integrity":"sha512-kBaEgZcrgl4U/XKxv4PJEV7XXdmXEOgBefzibXyIHW22l8MeYGKpQL0OdJ35LL8qlMSP28t7AroDK+tju9KTfQ==","tarball":"https://registry.npmjs.org/react-async-hook/-/react-async-hook-3.6.0.tgz","fileCount":12,"unpackedSize":169949,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdjNq5CRA9TVsSAnZWagAAHO8P/iTFWt9RidBNBAOb6Gi2\nX/yD6DwTgfi/1aLH+bIDnJ47+2d/T/hvSY/KdByd3raMVywsNbjIDH4UyUt3\nPCixJ2b7FkaEkX1xrINpyzodIfjltkXhBWut3LQK8DPhb2txepazBv3U0BY+\nVqpFaF86KSKiH/Wm2h5gCwyfzvXJVdvaTSDyIeOw3ioVFhsgpSVFUivvvKJM\nQnj14Zb/c3G0/9uHPNCp7/9H1ZAl3/dWg3GoNNgnSzUPplhpXllCybTVKjfb\nDPmTmZFBgLNLGc5IgwY/L0ej6lSk/DamFpMtCYCKKN4o3clugnH3OAdPvRi+\nxrZvWqsSiSoh3SCIaUi+gwD/2C3cd/nibZ5l7n95JXT8Qc8UKCHvQgjLntbb\ntX/mstsn67IU3fO2oejeHjiDFakHNYC7KkC0kyz4j150Ss22S/OJlsIHQlQr\niRp0Nfm3lZxdrMYxg6KukA2iT/ncoT86DlSe0wpAul6hOYDqWF4cgtGzanaw\n/gKQU+eB8X28w696UrgLdgObfLCVn4Kea2NjUAqe/KX8obQakiqBCYUNRm/q\nz3zYco/TOQR3ym3A/Y5sTVCfjYTESbHTaxrdgt6VxkOMm73KrGtw7WaK5p5I\ngoFFsEklwFPD7+L0pTShd63IwgSCbCLgt4C3PNZQlW6zH4I0aBUR9Zg46wrg\npdqI\r\n=gmoQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICoOevNUXfEeP7nIDKuZZ7tLrCc3KkWIptd6kJd49W/WAiEA8eSPUe2U0XsUH6MOw9w/qdYHHR/5KV633qMSnlY1p2k="}]},"maintainers":[{"name":"slorber","email":"lorber.sebastien@gmail.com"}],"_npmUser":{"name":"slorber","email":"lorber.sebastien@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-hook_3.6.0_1569512120295_0.27678605028134196"},"_hasShrinkwrap":false},"3.6.1":{"name":"react-async-hook","version":"3.6.1","description":"Async hook","author":{"name":"Sébastien Lorber"},"license":"MIT","repository":{"type":"git","url":"http://github.com/slorber/react-async-hook"},"keywords":["react-async-hook","async","fetch","axios","promise","react","react-native","reactjs","reactnative","hooks","hook","useAsync","useState","useFetch","usePromise","use-async","use-state","use-fetch","use-promise"],"engines":{"node":">=8","npm":">=5"},"main":"dist/index.js","module":"react-async-hook.esm.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test --env=jsdom"},"peerDependencies":{"react":">=16.8"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"devDependencies":{"@types/jest":"^24.0.12","@types/react":"^16.8.16","@types/react-dom":"^16.8.4","husky":"^2.2.0","prettier":"^1.17.0","pretty-quick":"^1.10.0","react":"^16.8.6","react-dom":"^16.8.6","tsdx":"^0.7.2","tslib":"^1.9.3","typescript":"^3.4.5"},"_id":"react-async-hook@3.6.1","dist":{"shasum":"aed3e492d87319392865c83ed7cef3609e2a7fef","integrity":"sha512-YWBB2feVQF79t5u2raMPHlZ8975Jds+guCvkWVC4kRLDlSCouLsYpQm4DGSqPeHvoHYVVcDfqNayLZAXQmnxnw==","tarball":"https://registry.npmjs.org/react-async-hook/-/react-async-hook-3.6.1.tgz","fileCount":12,"unpackedSize":174557,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdjN15CRA9TVsSAnZWagAAcV4QAILg/sVila7IjRjMVfWC\nNbqANEmYnrMnSUPN4o7kA1typBw52X50sRWtgO4CwnhjrjYB0tq89ziUkgTE\nCyP2/X8wWWDTgAm3X7nOULUq54Tw7U95tvF7fZIDVryxZvD4+9tV4TWRk0Uj\n+ob3vctuFpzIke3v7m5KSL396JeBpKfGHHRirwPa4NXNPNL67MaoZFZ8ih2u\nwM174bCbi4QMHDl5sAAwZX2/EJIUdUp9OCMuSS8Z6S0WG7ak1K+snoJecBQy\nhrOh0TocT0I17osS8EauIN19dQNpB7Hi5INKPT6yh5z3F+Wo0/8qse1b4Jdb\nlnIxVSUi/KI+w3vNsZjX7iTvM/YadS88byxmF+ZcWs5g2kE/53boOQK3WjI/\ngB9vWkxrrFJHX7OSFPHhuuFYG8GP42u9pa+Z1mywXWmSbRl8TEg0pyHUwDAX\nbLY8NF/GmDAB5nKCkrirNfDhJnzKgldLKm22NxmaTDZ/Ki4IVKfc0bRS0G9E\nP0wDMZfOm2+qnOvaFTdeg4xLr0ASQIUperdyPDnry5/K7kI/MWHF75RskR3s\n67RurhZCHKBrtyJpY/4Bs60n69mL3eZ6LDvDof65/COlAlc6be1DJx37nCSJ\nXNR/P3A3pLieMkt6UKTYy5Xs3Zxu6P4s2wbkJoM61usob2Prw7GY7I6Rp6rZ\n11KV\r\n=VcTq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDE9PHAa3vGD4mY4LjbAKVt47H62XJN+TIg+6FCyf0gkwIgPP+f585RtgCI9FFMpTaKZqivovXgz7G+0E6OM3Rq2zQ="}]},"maintainers":[{"name":"slorber","email":"lorber.sebastien@gmail.com"}],"_npmUser":{"name":"slorber","email":"lorber.sebastien@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-hook_3.6.1_1569512825191_0.11454784428248765"},"_hasShrinkwrap":false},"3.6.2":{"name":"react-async-hook","version":"3.6.2","description":"Async hook","author":{"name":"Sébastien Lorber"},"license":"MIT","repository":{"type":"git","url":"http://github.com/slorber/react-async-hook"},"keywords":["react-async-hook","async","fetch","axios","promise","react","react-native","reactjs","reactnative","hooks","hook","useAsync","useState","useFetch","usePromise","use-async","use-state","use-fetch","use-promise"],"engines":{"node":">=8","npm":">=5"},"main":"dist/index.js","module":"dist/react-async-hook.esm.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test --env=jsdom"},"peerDependencies":{"react":">=16.8"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"jest":{"globals":{"ts-jest":{"tsConfig":"tsconfig.test.json"}},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"]},"devDependencies":{"@testing-library/jest-dom":"^4.1.2","@testing-library/react":"^9.3.0","@testing-library/react-hooks":"^3.1.0","@types/jest":"^24.0.12","@types/react":"^16.9.9","@types/react-dom":"^16.9.2","husky":"^2.2.0","prettier":"^1.17.0","pretty-quick":"^1.10.0","react":"^16.10.2","react-dom":"^16.10.2","react-test-renderer":"^16.10.2","tsdx":"^0.7.2","tslib":"^1.9.3","typescript":"^3.4.5"},"_id":"react-async-hook@3.6.2","dist":{"shasum":"360018e5cd6ecc8841152a79875841b9e49dbdba","integrity":"sha512-RkwHCJ8V7I6umKZLHneapuTRWf+eO4LOj0qUwUDsSn27jrAOcW6ClbV3x22Z4hVxH9bA0zb7y+ozDJDJ8PnZoA==","tarball":"https://registry.npmjs.org/react-async-hook/-/react-async-hook-3.6.2.tgz","fileCount":12,"unpackedSize":176594,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfd1YyCRA9TVsSAnZWagAA6p8P/RNb0F1yG1VcHPg2xCJJ\nd3ZOdINWm5uxa5S9mIK/fsZ8Zl1qnH0I0CbKmXyd8wc5qPQI9PCkOZu9z7Ma\nmMR0jRyiPEL/tRWf1mkrB9BrjbRNNk12q41HRjYdOBUDYwT+QNj1+6ObM5yl\nsxqNhipHMq+pgo//zA2QRwggPEypR3zHhx7ev7o087i24xTioGVX+XY+Vve5\nWOb8cXhqgTUhFHlHgRuQK49UDTBm4Ylrwm7iZYK4BwM9eWU2lZRqsBzXHaoQ\n8aoNRbJoqGfmt5uEcrmSFb9SKNyk+VczXR6RO/gLzXpvG67u6P5Z0PGzgREJ\nU8umriF9PxseGVFDZRMRAMKEIS/rpn2wW+6/gBsQ/Hc0NrJ3GzzUOva26Zh9\ndZLrbjIlfXV4egbToTKGektv+CB/Crt1JxXn/asg56n92JWhNdMWbA7HlQIJ\nl5K4mM7dWbKJPP0tG3KbdxHrix0rxnya1GjbFGsTONEfzXHDJEqf/p+9N2pU\nCYzSIgPhMyzs282BUdHNQo7tTsZ3cS4tlUuYnuXJ1sy4KBUYCTdFRxmUdLR5\nbXS4bggyishPuhHGD5+3VChFcBZk8r6aEM5D9te3fSoLUyvyfG28SuJ36tnR\nN4gIOVtXJxq57zHpQIDchunK1P60VzwcJW3is/Ap+2agGjVqgCD/YQvCA90g\nlJxs\r\n=LxIG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFfsF2TT08xxEwZuO4qCkgUYb3erqVOtJyUfGP1zGYH+AiBltXVrBnEFTqMEnQ/vF/GzrcgPyqYN4s8vxt+nQJOYzA=="}]},"maintainers":[{"name":"slorber","email":"lorber.sebastien@gmail.com"}],"_npmUser":{"name":"slorber","email":"lorber.sebastien@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-hook_3.6.2_1601656369846_0.07707674384668195"},"_hasShrinkwrap":false},"4.0.0":{"name":"react-async-hook","version":"4.0.0","description":"Async hook","author":{"name":"Sébastien Lorber"},"license":"MIT","repository":{"type":"git","url":"http://github.com/slorber/react-async-hook"},"keywords":["react-async-hook","async","fetch","axios","promise","react","react-native","reactjs","reactnative","hooks","hook","useAsync","useState","useFetch","usePromise","use-async","use-state","use-fetch","use-promise"],"engines":{"node":">=8","npm":">=5"},"main":"dist/index.js","module":"dist/react-async-hook.esm.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test --env=jsdom"},"peerDependencies":{"react":">=16.8"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"jest":{"globals":{"ts-jest":{"tsConfig":"tsconfig.test.json"}},"setupFilesAfterEnv":["@testing-library/jest-dom/extend-expect"]},"devDependencies":{"@testing-library/jest-dom":"^4.1.2","@testing-library/react":"^9.3.0","@testing-library/react-hooks":"^3.1.0","@types/jest":"^24.0.12","@types/react":"^16.9.9","@types/react-dom":"^16.9.2","husky":"^2.2.0","prettier":"^1.17.0","pretty-quick":"^1.10.0","react":"^16.10.2","react-dom":"^16.10.2","react-test-renderer":"^16.10.2","tsdx":"^0.7.2","tslib":"^1.9.3","typescript":"^3.4.5"},"_id":"react-async-hook@4.0.0","dist":{"shasum":"1f0467586654e1f33b7433bd98c300a0c5f9b3d0","integrity":"sha512-97lgjFkOcHCTYSrsKBpsXg3iVWM0LnzedB749iP76sb3/8Ouu4nHIkCLEOrQWHVYqrYxjF05NN6GHoXWFkB3Kw==","tarball":"https://registry.npmjs.org/react-async-hook/-/react-async-hook-4.0.0.tgz","fileCount":12,"unpackedSize":163107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh24ExCRA9TVsSAnZWagAAFIcQAJIl4pOYcwfvI/778Bww\nYb3Q5Hf/sI0yvDnNnY0o0ldug79i3iixuhy/C9N3uH++a7tS+79TvAK5EWb2\nWE6cBgDHH/pcR5lHAW+8PtzPSoDpe6NrklT3B7MaGJybNwh7W0K9c/EQDasp\nN5lWZ1adoj3gzcbLLdFRPW/bQAvIb8JJNRyB1mwjyaaO1oG3M8WXa4gxNzo+\nLk05vk9PmugbDre7MWp0+HNZ3CiPHLQj1YxYmL2Akf+r/ucdQZHBsB5LOdw+\nhN6eQjYzh8sGa11m2eVXf86z+c38o4tsP25AZ8yK+Chz4eTMrHFiSkKRgp6l\nxQtPN47SUD30onm8tlwCsoJBOiCpxWbfWHXhaIxm5ptbMldc0Cz52EQv+BnS\nQES5mEsokZ95kDMCSFinTpatwyvgXHo7+vodrloo0925V0zggzKHVysUcBvp\nzWT7RAbAD6QfRyNxf6EM/dWpE2qCoy5lvI8TFfofTIOKMpo4NKtgRdRBB2BN\nDvb1s7jTrxNN0XFx+FXZHnN5eRYmigJw8t2411kTKhT2PCPtcebLj2S6HV/W\n/B+QgkxEM/Ds0e8+pcJBfZW26y+9wldIPEvMSR9WL3CaKaadsZHBGXhxrL/y\nHYkLotM5Zs1TrCXDWkAt5GuW7FVECRua0UF2nXngdH7GMAf0w0IHrc+CrWsO\nKg1s\r\n=/bLF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDS1532vm2dB5utux/EyR5/b8dQcmAZHk6Cias/79z/CAiEAyLi6HJS253YoDtG+2BLSdE2bJyIy1ixAFpN8D1R1gso="}]},"_npmUser":{"name":"slorber","email":"lorber.sebastien@gmail.com"},"directories":{},"maintainers":[{"name":"slorber","email":"lorber.sebastien@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-async-hook_4.0.0_1632487461547_0.8092142173277355"},"_hasShrinkwrap":false}},"time":{"created":"2018-10-27T17:56:53.677Z","1.0.0":"2018-10-27T17:56:53.846Z","modified":"2022-05-14T06:26:13.384Z","2.0.0-alpha.1":"2019-05-07T16:38:25.708Z","2.0.0":"2019-05-08T10:59:56.686Z","2.0.1":"2019-05-08T11:15:22.401Z","2.0.2":"2019-05-08T17:39:18.330Z","2.1.0":"2019-05-12T13:20:54.816Z","2.2.0":"2019-05-12T13:24:57.611Z","2.2.1":"2019-05-12T13:49:53.389Z","2.3.0":"2019-05-12T13:54:17.430Z","3.0.0":"2019-06-04T08:25:29.008Z","3.0.1":"2019-06-04T08:41:59.220Z","3.1.0":"2019-06-04T08:47:28.663Z","3.2.0":"2019-06-19T16:27:20.605Z","3.2.1":"2019-06-19T16:38:39.245Z","3.2.2":"2019-06-19T16:47:13.880Z","3.3.0":"2019-06-27T15:53:19.617Z","3.3.1":"2019-06-27T15:58:19.447Z","3.4.0":"2019-07-18T13:50:29.884Z","3.5.0":"2019-09-06T15:26:42.174Z","3.5.1":"2019-09-06T15:39:47.792Z","3.5.2":"2019-09-06T16:15:38.310Z","3.5.3":"2019-09-18T10:49:22.094Z","3.6.0":"2019-09-26T15:35:20.571Z","3.6.1":"2019-09-26T15:47:05.316Z","3.6.2":"2020-10-02T16:32:49.988Z","4.0.0":"2021-09-24T12:44:21.707Z"},"maintainers":[{"name":"slorber","email":"lorber.sebastien@gmail.com"}],"description":"Async hook","repository":{"type":"git","url":"http://github.com/slorber/react-async-hook"},"author":{"name":"Sébastien Lorber"},"license":"MIT","readme":"# React-async-hook\n\n[![NPM](https://img.shields.io/npm/dm/react-async-hook.svg)](https://www.npmjs.com/package/react-async-hook)\n[![Build Status](https://travis-ci.com/slorber/react-async-hook.svg?branch=master)](https://travis-ci.com/slorber/react-async-hook)\n\nThis **tiny** library only **does one thing**, and **does it well**.\n\nDon't expect it to grow in size, it is **feature complete**:\n\n- Handle fetches (`useAsync`)\n- Handle mutations (`useAsyncCallback`)\n- Handle cancellation (`useAsyncAbortable` + `AbortController`)\n- Handle [race conditions](https://sebastienlorber.com/handling-api-request-race-conditions-in-react)\n- Platform agnostic\n- Works with any async function, not just backend API calls, not just fetch/axios...\n- Very good, native, Typescript support\n- Small, no dependency\n- Rules of hooks: ESLint find missing dependencies\n- Refetch on params change\n- Can trigger manual refetch\n- Options to customize state updates\n- Can mutate state after fetch\n\n## Small size\n\n- Tiny\n- Way smaller than popular alternatives\n- CommonJS + ESM bundles\n- Tree-shakable\n\n| Lib                  | min                                                                                                                    | min.gz                                                                                                                    |\n| -------------------- | ---------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |\n| **React-Async-Hook** | [![](https://img.shields.io/bundlephobia/min/react-async-hook.svg)](https://bundlephobia.com/package/react-async-hook) | [![](https://img.shields.io/bundlephobia/minzip/react-async-hook.svg)](https://bundlephobia.com/package/react-async-hook) |\n| **SWR**              | [![](https://img.shields.io/bundlephobia/min/swr.svg)](https://bundlephobia.com/package/swr)                           | [![](https://img.shields.io/bundlephobia/minzip/swr.svg)](https://bundlephobia.com/package/swr)                           |\n| **React-Query**      | [![](https://img.shields.io/bundlephobia/min/react-query.svg)](https://bundlephobia.com/package/react-query)           | [![](https://img.shields.io/bundlephobia/minzip/react-query.svg)](https://bundlephobia.com/package/react-query)           |\n| **React-Async**      | [![](https://img.shields.io/bundlephobia/min/react-async.svg)](https://bundlephobia.com/package/react-async)           | [![](https://img.shields.io/bundlephobia/minzip/react-async.svg)](https://bundlephobia.com/package/react-async)           |\n| **Use-HTTP**         | [![](https://img.shields.io/bundlephobia/min/use-http.svg)](https://bundlephobia.com/package/use-http)                 | [![](https://img.shields.io/bundlephobia/minzip/use-http.svg)](https://bundlephobia.com/package/use-http)                 |\n| **Rest-Hooks**       | [![](https://img.shields.io/bundlephobia/min/rest-hooks.svg)](https://bundlephobia.com/package/rest-hooks)             | [![](https://img.shields.io/bundlephobia/minzip/rest-hooks.svg)](https://bundlephobia.com/package/rest-hooks)             |\n\n## Things we don't support (by design):\n\n- stale-while-revalidate\n- refetch on focus / resume\n- caching\n- polling\n- request deduplication\n- platform-specific code\n- scroll position restoration\n- SSR\n- router integration for render-as-you-fetch pattern\n\nYou can build on top of this little lib to provide more advanced features (using composition), or move to popular full-featured libraries like [SWR](https://github.com/vercel/swr) or [React-Query](https://github.com/tannerlinsley/react-query).\n\n## Use-case: loading async data into a component\n\nThe ability to inject remote/async data into a React component is a very common React need. Later we might support Suspense as well.\n\n```tsx\nimport { useAsync } from 'react-async-hook';\n\nconst fetchStarwarsHero = async id =>\n  (await fetch(`https://swapi.dev/api/people/${id}/`)).json();\n\nconst StarwarsHero = ({ id }) => {\n  const asyncHero = useAsync(fetchStarwarsHero, [id]);\n  return (\n    <div>\n      {asyncHero.loading && <div>Loading</div>}\n      {asyncHero.error && <div>Error: {asyncHero.error.message}</div>}\n      {asyncHero.result && (\n        <div>\n          <div>Success!</div>\n          <div>Name: {asyncHero.result.name}</div>\n        </div>\n      )}\n    </div>\n  );\n};\n```\n\n## Use-case: injecting async feedback into buttons\n\nIf you have a Todo app, you might want to show some feedback into the \"create todo\" button while the creation is pending, and prevent duplicate todo creations by disabling the button.\n\nJust wire `useAsyncCallback` to your `onClick` prop in your primitive `AppButton` component. The library will show a feedback only if the button onClick callback is async, otherwise it won't do anything.\n\n```tsx\nimport { useAsyncCallback } from 'react-async-hook';\n\nconst AppButton = ({ onClick, children }) => {\n  const asyncOnClick = useAsyncCallback(onClick);\n  return (\n    <button onClick={asyncOnClick.execute} disabled={asyncOnClick.loading}>\n      {asyncOnClick.loading ? '...' : children}\n    </button>\n  );\n};\n\nconst CreateTodoButton = () => (\n  <AppButton\n    onClick={async () => {\n      await createTodoAPI('new todo text');\n    }}\n  >\n    Create Todo\n  </AppButton>\n);\n```\n\n# Examples\n\nExamples are running on [this page](https://react-async-hook.netlify.com/) and [implemented here](https://github.com/slorber/react-async-hook/blob/master/example/index.tsx) (in Typescript)\n\n# Install\n\n`yarn add react-async-hook`\nor\n\n`npm install react-async-hook --save`\n\n## ESLint\n\nIf you use ESLint, use this [`react-hooks/exhaustive-deps`](https://github.com/facebook/react/blob/master/packages/eslint-plugin-react-hooks/README.md#advanced-configuration) setting:\n\n```ts\n// .eslintrc.js\nmodule.exports = {\n  // ...\n  rules: {\n    'react-hooks/rules-of-hooks': 'error',\n    'react-hooks/exhaustive-deps': [\n      'error',\n      {\n        additionalHooks: '(useAsync|useAsyncCallback)',\n      },\n    ],\n  },\n};\n```\n\n# FAQ\n\n#### How can I debounce the request\n\nIt is possible to debounce a promise.\n\nI recommend [awesome-debounce-promise](https://github.com/slorber/awesome-debounce-promise), as it handles nicely potential concurrency issues and have React in mind (particularly the common use-case of a debounced search input/autocomplete)\n\nAs debounced functions are stateful, we have to \"store\" the debounced function inside a component. We'll use for that [use-constant](https://github.com/Andarist/use-constant) (backed by `useRef`).\n\n```tsx\nconst StarwarsHero = ({ id }) => {\n  // Create a constant debounced function (created only once per component instance)\n  const debouncedFetchStarwarsHero = useConstant(() =>\n    AwesomeDebouncePromise(fetchStarwarsHero, 1000)\n  );\n\n  // Simply use it with useAsync\n  const asyncHero = useAsync(debouncedFetchStarwarsHero, [id]);\n\n  return <div>...</div>;\n};\n```\n\n#### How can I implement a debounced search input / autocomplete?\n\nThis is one of the most common use-case for fetching data + debouncing in a component, and can be implemented easily by composing different libraries.\nAll this logic can easily be extracted into a single hook that you can reuse. Here is an example:\n\n```tsx\nconst searchStarwarsHero = async (\n  text: string,\n  abortSignal?: AbortSignal\n): Promise<StarwarsHero[]> => {\n  const result = await fetch(\n    `https://swapi.dev/api/people/?search=${encodeURIComponent(text)}`,\n    {\n      signal: abortSignal,\n    }\n  );\n  if (result.status !== 200) {\n    throw new Error('bad status = ' + result.status);\n  }\n  const json = await result.json();\n  return json.results;\n};\n\nconst useSearchStarwarsHero = () => {\n  // Handle the input text state\n  const [inputText, setInputText] = useState('');\n\n  // Debounce the original search async function\n  const debouncedSearchStarwarsHero = useConstant(() =>\n    AwesomeDebouncePromise(searchStarwarsHero, 300)\n  );\n\n  const search = useAsyncAbortable(\n    async (abortSignal, text) => {\n      // If the input is empty, return nothing immediately (without the debouncing delay!)\n      if (text.length === 0) {\n        return [];\n      }\n      // Else we use the debounced api\n      else {\n        return debouncedSearchStarwarsHero(text, abortSignal);\n      }\n    },\n    // Ensure a new request is made everytime the text changes (even if it's debounced)\n    [inputText]\n  );\n\n  // Return everything needed for the hook consumer\n  return {\n    inputText,\n    setInputText,\n    search,\n  };\n};\n```\n\nAnd then you can use your hook easily:\n\n```tsx\nconst SearchStarwarsHeroExample = () => {\n  const { inputText, setInputText, search } = useSearchStarwarsHero();\n  return (\n    <div>\n      <input value={inputText} onChange={e => setInputText(e.target.value)} />\n      <div>\n        {search.loading && <div>...</div>}\n        {search.error && <div>Error: {search.error.message}</div>}\n        {search.result && (\n          <div>\n            <div>Results: {search.result.length}</div>\n            <ul>\n              {search.result.map(hero => (\n                <li key={hero.name}>{hero.name}</li>\n              ))}\n            </ul>\n          </div>\n        )}\n      </div>\n    </div>\n  );\n};\n```\n\n#### How to use request cancellation?\n\nYou can use the `useAsyncAbortable` alternative. The async function provided will receive `(abortSignal, ...params)` .\n\nThe library will take care of triggering the abort signal whenever a new async call is made so that only the last request is not cancelled.\nIt is your responsability to wire the abort signal appropriately.\n\n```tsx\nconst StarwarsHero = ({ id }) => {\n  const asyncHero = useAsyncAbortable(\n    async (abortSignal, id) => {\n      const result = await fetch(`https://swapi.dev/api/people/${id}/`, {\n        signal: abortSignal,\n      });\n      if (result.status !== 200) {\n        throw new Error('bad status = ' + result.status);\n      }\n      return result.json();\n    },\n    [id]\n  );\n\n  return <div>...</div>;\n};\n```\n\n#### How can I keep previous results available while a new request is pending?\n\nIt can be annoying to have the previous async call result be \"erased\" everytime a new call is triggered (default strategy).\nIf you are implementing some kind of search/autocomplete dropdown, it means a spinner will appear everytime the user types a new char, giving a bad UX effect.\nIt is possible to provide your own \"merge\" strategies.\nThe following will ensure that on new calls, the previous result is kept until the new call result is received\n\n```tsx\nconst StarwarsHero = ({ id }) => {\n  const asyncHero = useAsync(fetchStarwarsHero, [id], {\n    setLoading: state => ({ ...state, loading: true }),\n  });\n  return <div>...</div>;\n};\n```\n\n#### How to refresh / refetch the data?\n\nIf your params are not changing, yet you need to refresh the data, you can call `execute()`\n\n```tsx\nconst StarwarsHero = ({ id }) => {\n  const asyncHero = useAsync(fetchStarwarsHero, [id]);\n\n  return <div onClick={() => asyncHero.execute()}>...</div>;\n};\n```\n\n#### How to have better control when things get fetched/refetched?\n\nSometimes you end up in situations where the function tries to fetch too often, or not often, because your dependency array changes and you don't know how to handle this.\n\nIn this case you'd better use a closure with no arg define in the dependency array which params should trigger a refetch:\n\nHere, both `state.a` and `state.b` will trigger a refetch, despite b is not passed to the async fetch function.\n\n```tsx\nconst asyncSomething = useAsync(() => fetchSomething(state.a), [\n  state.a,\n  state.b,\n]);\n```\n\nHere, only `state.a` will trigger a refetch, despite b being passed to the async fetch function.\n\n```tsx\nconst asyncSomething = useAsync(() => fetchSomething(state.a, state.b), [\n  state.a,\n]);\n```\n\nNote you can also use this to \"build\" a more complex payload. Using `useMemo` does not guarantee the memoized value will not be cleared, so it's better to do:\n\n```tsx\nconst asyncSomething = useAsync(async () => {\n  const payload = buildFetchPayload(state);\n  const result = await fetchSomething(payload);\n  return result;\n}), [state.a, state.b, state.whateverNeedToTriggerRefetch]);\n```\n\nYou can also use `useAsyncCallback` to decide yourself manually when a fetch should be done:\n\n```tsx\nconst asyncSomething = useAsyncCallback(async () => {\n  const payload = buildFetchPayload(state);\n  const result = await fetchSomething(payload);\n  return result;\n}));\n\n// Call this manually whenever you need:\nasyncSomething.execute();\n```\n\n#### How to support retry?\n\nUse a lib that adds retry feature to async/promises directly.\n\n# License\n\nMIT\n\n# Hire a freelance expert\n\nLooking for a React/ReactNative freelance expert with more than 5 years production experience?\nContact me from my [website](https://sebastienlorber.com/) or with [Twitter](https://twitter.com/sebastienlorber).\n","readmeFilename":"README.md","keywords":["react-async-hook","async","fetch","axios","promise","react","react-native","reactjs","reactnative","hooks","hook","useAsync","useState","useFetch","usePromise","use-async","use-state","use-fetch","use-promise"]}