{"_id":"vue-request","_rev":"53-aebaf22796efacc02434a2bccb040d2d","name":"vue-request","description":"This is a library that can easily help you manage request states, supporting common features such as SWR, polling, error retry, caching, and pagination, etc.","dist-tags":{"latest":"2.0.4","beta":"1.2.4-beta.0","next":"2.0.0","v1":"1.2.5"},"versions":{"1.0.0":{"name":"vue-request","version":"1.0.0","description":"a http client for Vue.js based on axios","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["vue"],"author":{"name":"xiadd"},"license":"ISC","gitHead":"fdf660e0f12af63473955d4a6cac029999290713","_id":"vue-request@1.0.0","_shasum":"8194b63fa38f6b78e3c2f8efe802d8b8a5f609a2","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.2","_npmUser":{"name":"xiadd","email":"xiado@outlook.com"},"dist":{"shasum":"8194b63fa38f6b78e3c2f8efe802d8b8a5f609a2","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-1.0.0.tgz","integrity":"sha512-Nwnj2UT35u5FafRAA6xpdyftPLRUG0g0BvGni0g2ZjzOMdLZnahfgPWM1aeKE7gTF4EkfbmKdor7BmALjKFEOg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDJRPzr/GP52qQTtv1xwEtM5g1PZSrvEOJGp4yTqxKwCAiBJkzEnrHqpqYAmd7+o8R0TQqgbw4W5URLNE5/4l1CHHA=="}]},"maintainers":[{"name":"xiadd","email":"xiado@outlook.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/vue-request-1.0.0.tgz_1489836299338_0.1826928905211389"},"directories":{}},"1.0.1":{"name":"vue-request","version":"1.0.1","description":"a http client for Vue.js based on axios","main":"index.js","repository":{"type":"git","url":"git+https://github.com/xiadd/vue-request.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["vue"],"author":{"name":"xiadd"},"license":"ISC","devDependencies":{"axios":"^0.15.3","path-to-regexp":"^1.7.0","qs":"^6.4.0"},"gitHead":"64b12f4f3b6afaf175736e8e66e4285897997d29","bugs":{"url":"https://github.com/xiadd/vue-request/issues"},"homepage":"https://github.com/xiadd/vue-request#readme","_id":"vue-request@1.0.1","_shasum":"1c0c74d110683cfbcd811f11191dd15aae4d7a96","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.2","_npmUser":{"name":"xiadd","email":"xiado@outlook.com"},"dist":{"shasum":"1c0c74d110683cfbcd811f11191dd15aae4d7a96","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-1.0.1.tgz","integrity":"sha512-vX+JiPtSFzDmH8suBaHGtc4ztP77CxiYY27GeCb3/a5RjbZ2Y41K/9vu1dt/XtFQxbBW7LkeAYUD+dO+ANPzBw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfJ1/qApbkAjYqL4duKDbnyeZnMQte/i1hcQQ478bdCwIhAKxT7TgnaRN9h9YbuJaMJ+by9SqI60uiSEcDBXGu3Hue"}]},"maintainers":[{"name":"xiadd","email":"xiado@outlook.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/vue-request-1.0.1.tgz_1489841664837_0.3588853452820331"},"directories":{}},"1.0.0-1":{"name":"vue-request","version":"1.0.0-1","description":"A request library for Vue 3","license":"MIT","keywords":["vue","vue3","swr","request","http","fetch","composition-api"],"repository":{"type":"git","url":"https://github.com/attojs/vue-request.git"},"main":"dist/index.cjs.js","module":"dist/index.es.js","unpkg":"dist/vue-request.min.js","types":"dist/types/index.d.ts","scripts":{"build":"yarn clean && rollup --config ./build/rollup.config.js","dev":"webpack serve --config ./build/webpack.config.js","clean":"rimraf dist/*","test":"jest --coverage","publishing":"np","release":"yarn build && yarn publishing","lint":"eslint -c ./.eslintrc.js './{src,scripts,build}/**/*.{js,ts,tsx}'","format":"prettier -w '**/*.ts?(x)'"},"husky":{"hooks":{"pre-commit":"node ./scripts/preCommit.js && lint-staged","commit-msg":"commitlint -x @commitlint/config-conventional -e $HUSKY_GIT_PARAMS","pre-push":"yarn test --coverage=false"}},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint","prettier -c"]},"peerDependencies":{"vue":"^3.0.0"},"devDependencies":{"@babel/core":"^7.12.3","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.1","@babel/runtime-corejs3":"^7.12.5","@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/jest":"^26.0.15","@types/lodash":"^4.14.165","@typescript-eslint/eslint-plugin":"^4.8.2","@typescript-eslint/parser":"^4.8.2","@vue/babel-plugin-jsx":"^1.0.0-rc.3","@vue/test-utils":"^2.0.0-beta.8","babel-jest":"^26.6.0","babel-loader":"^8.2.1","eslint":"^7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-vue":"^7.0.0-0","fetch-mock":"^9.10.7","html-webpack-plugin":"^4.5.0","husky":"^4.3.0","jest":"^26.6.0","jest-environment-jsdom-global":"^2.0.4","lint-staged":"^10.5.2","lodash":"^4.17.20","node-fetch":"^2.6.1","np":"^7.0.0","prettier":"^2.2.0","rimraf":"^3.0.2","rollup":"^2.33.1","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","simple-git":"^2.21.0","ts-jest":"^26.4.1","ts-loader":"^8.0.11","typescript":"^4.0.5","vue":"^3.0.2","webpack":"^5.4.0","webpack-cli":"^4.2.0","webpack-dev-server":"^3.11.0"},"licenseText":"MIT License\n\nCopyright (c) 2020 AttoJS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"vue-request@1.0.0-1","dist":{"shasum":"315019156e7bc253accf0542608e81bdaaf426f1","integrity":"sha512-//HjT/HlSfGMGQawaF8ZA0+rO2CotLEx0Gd3slvYc27p+Zv7M2VXrg9i5NiaXU2LovbaDuIsaD41DiCiHnQlNQ==","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-1.0.0-1.tgz","fileCount":23,"unpackedSize":431672,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfzhJKCRA9TVsSAnZWagAAhcMP/11Ue1YavECATCMdUzhi\nAQ+lMblK2DUmXkqtDeu4GCibJcDDEWz/I3wpEee0vfox5pi6qAvk3Q/uE+4w\nBwFzpInS6RByqcLBAdYqBlWoCCRZbKU114uyffTDXptQo/zVgdP58k72bUUW\nfkjmSfR9hLv9sentfVyF/vOQ9XnyWdP3GWf0tBkFqYGmoXsV46Y3jVSk7dIT\nEbRP75pdSnpKY76/7CgMiO98PEsRyi1/irNWGteSTOvvy99QR25B9v5I7ixM\nyG33RMy1JrMinM5Ef5HJC3p/0+eGPowksZA2gbAuAbcAww9WourD838pLjLO\nB1BkMmLSD7ZNgZ4CU2lS73anrIuYNb4ooaVQ8jPJojHG2nEq0Uc7dkqQMN3y\njYon78oWg36tQ4qqITmdDiCyJMO979YJWNRlSmsfyqTRDvOYpffSzjqqCbao\nYBQ6FiCd3XEWcLLFnDoR7ByVPPz+VcsyEwPhy2FFREuEiPqOAk/ReDC3bAEJ\nkxGrwrLE91ih3Q6PCBCmjPoof515hTdxz6l2AIkC83RrW3OwB7m4p2y/QQhw\nvDY68V4ftV/FBhDsAqJ3F4jOvBjN/QCIOuiSQx41FcwNqz/DEu21bUjKnaWU\nxRnX4/80rl3c3DNA+jsj515Oge7ZXVzzH3jkpA6yVZSInt1aiBxjKHuu88Ms\n9sJg\r\n=By9Q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAG5bikp43B+DbX1Y8/VbVbYT+A7LxAQibjCa20n+eXAAiBrEyVk6CSKnDCfH1gY2NxMGFMf/YPgxoHEfn26Sd2qUw=="}]},"_npmUser":{"name":"john60676","email":"john60676@qq.com"},"directories":{},"maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-request_1.0.0-1_1607340618280_0.2952031977828584"},"_hasShrinkwrap":false},"1.0.0-beta":{"name":"vue-request","version":"1.0.0-beta","description":"A request library for Vue 3","license":"MIT","keywords":["vue","vue3","swr","request","http","fetch","composition-api"],"repository":{"type":"git","url":"https://github.com/attojs/vue-request.git"},"main":"dist/index.cjs.js","module":"dist/index.es.js","unpkg":"dist/vue-request.min.js","types":"dist/types/index.d.ts","scripts":{"build":"yarn clean && rollup --config ./build/rollup.config.js","dev":"webpack serve --config ./build/webpack.config.js","clean":"rimraf dist/*","test":"jest --coverage","publishing":"np","release":"yarn build && yarn publishing","lint":"eslint -c ./.eslintrc.js './{src,scripts,build}/**/*.{js,ts,tsx}'","format":"prettier -w '**/*.ts?(x)'"},"husky":{"hooks":{"pre-commit":"node ./scripts/preCommit.js && lint-staged","commit-msg":"commitlint -x @commitlint/config-conventional -e $HUSKY_GIT_PARAMS","pre-push":"yarn test --coverage=false"}},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint","prettier -c"]},"peerDependencies":{"vue":"^3.0.0"},"devDependencies":{"@babel/core":"^7.12.3","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.1","@babel/runtime-corejs3":"^7.12.5","@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/jest":"^26.0.15","@types/lodash":"^4.14.165","@typescript-eslint/eslint-plugin":"^4.8.2","@typescript-eslint/parser":"^4.8.2","@vue/babel-plugin-jsx":"^1.0.0-rc.3","@vue/test-utils":"^2.0.0-beta.8","babel-jest":"^26.6.0","babel-loader":"^8.2.1","eslint":"^7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-vue":"^7.0.0-0","fetch-mock":"^9.10.7","html-webpack-plugin":"^4.5.0","husky":"^4.3.0","jest":"^26.6.0","jest-environment-jsdom-global":"^2.0.4","lint-staged":"^10.5.2","lodash":"^4.17.20","node-fetch":"^2.6.1","np":"^7.0.0","prettier":"^2.2.0","rimraf":"^3.0.2","rollup":"^2.33.1","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","simple-git":"^2.21.0","ts-jest":"^26.4.1","ts-loader":"^8.0.11","typescript":"^4.0.5","vue":"^3.0.2","webpack":"^5.4.0","webpack-cli":"^4.2.0","webpack-dev-server":"^3.11.0"},"licenseText":"MIT License\n\nCopyright (c) 2020 AttoJS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"vue-request@1.0.0-beta","dist":{"shasum":"25e05805daf6d1d965549d1806341d6feb71aa9e","integrity":"sha512-0CRqPaN94o0MirUf559IHxhPTesQmyDmVqFuW5AC+z+siCLQRop7P3/K+hf1cpg/wRfl2EGCGIox5WmF1UVsPQ==","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-1.0.0-beta.tgz","fileCount":23,"unpackedSize":431675,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfzhPmCRA9TVsSAnZWagAAOzUP/R4JbS3M08e2CFtrQTTz\nvM/1ySouYF9v8cxe6Q0ptKpTZAO7HUyP7PJutaJAQIrETuHi0+VJL5ZHiF6G\netcEZ/YR6zHuDfeX47EX+F3hg76zAxnetRgVRkfH+jpEDl6OgEfVvjd6ad/H\nfhwUdnqIB4IW7lnCJM14tonecqjmAzxMvPzBxqZ0nbF6GBkJ5bVenr4ajSoT\nTE34QNWbsy7UV5fa33TfMe9JZD1ZB55BbfSh2uVVgohgLu9L0G7VU8BX5AuV\nTt29KE+QSYfIMairxvPr9v+5/tqQoaDRv5QiE8F1HeDn0UhQGsaYof8NREX5\nLLyM4wNDYwzIY9ZqYX0/Rs+KArIJ/rHX87WajywBJD4CaaOF54x4UTgxAQ1L\nLY/TExk72jaW8PBXGvhog/lo7rwfB1zrcl+jrsbKuvU/3H3I9k8FnCLcgppH\ndd8jBIQeaFx8gyTFuz2TPm6AmwMFDPwAEIiGYmm0cAIFfyhHNMcBp9Bu+CGz\n9ZnEYuux2nRfPEtbs0dlj2QBMjcPETfJOOuqU6vFuH2BcqNysDYLDS751S7+\nlNnBjymM+8NTW3HyfVfEIOVSlHHST8YuRsBjGwmLJpWxTgYpkbZxHIpX3PAU\nu+cQKxZ6x9N/M14X5TsqjQM1WFMxT9MqKV2hfUGnHEdwcgL6CNfwPqeNDpZL\nrX+W\r\n=GepU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEvzWGeXQNqh6zFD7dnd4BMkdHW4Ly1v7IrPRQJrjD8aAiBjylFjVWEdXCQw6wJ4dJufQgqs3xIZ4tB8YWmextxQQQ=="}]},"_npmUser":{"name":"john60676","email":"john60676@qq.com"},"directories":{},"maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-request_1.0.0-beta_1607341030179_0.1777820098639571"},"_hasShrinkwrap":false},"1.0.0-beta.4":{"name":"vue-request","version":"1.0.0-beta.4","description":"A request library for Vue 3","license":"MIT","keywords":["vue","vue3","swr","request","http","fetch","composition-api"],"repository":{"type":"git","url":"https://github.com/attojs/vue-request.git"},"main":"dist/index.cjs.js","module":"dist/index.es.js","unpkg":"dist/vue-request.min.js","types":"dist/types/index.d.ts","scripts":{"build":"yarn clean && rollup --config ./build/rollup.config.js","dev":"webpack serve --config ./build/webpack.config.js","clean":"rimraf dist/*","test":"jest --coverage","publishing":"np","release":"yarn build && yarn publishing","lint":"eslint -c ./.eslintrc.js './{src,scripts,build}/**/*.{js,ts,tsx}'","format":"prettier -w '**/*.ts?(x)'"},"husky":{"hooks":{"pre-commit":"node ./scripts/preCommit.js && lint-staged","commit-msg":"commitlint -x @commitlint/config-conventional -e $HUSKY_GIT_PARAMS","pre-push":"yarn test --coverage=false"}},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint","prettier -c"]},"peerDependencies":{"vue":"^3.0.0"},"devDependencies":{"@babel/core":"^7.12.3","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.1","@babel/runtime-corejs3":"^7.12.5","@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/jest":"^26.0.15","@types/lodash":"^4.14.165","@typescript-eslint/eslint-plugin":"^4.8.2","@typescript-eslint/parser":"^4.8.2","@vue/babel-plugin-jsx":"^1.0.0-rc.3","@vue/test-utils":"^2.0.0-beta.8","babel-jest":"^26.6.0","babel-loader":"^8.2.1","eslint":"^7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-vue":"^7.0.0-0","fetch-mock":"^9.10.7","html-webpack-plugin":"^4.5.0","husky":"^4.3.0","jest":"^26.6.0","jest-environment-jsdom-global":"^2.0.4","lint-staged":"^10.5.2","lodash":"^4.17.20","node-fetch":"^2.6.1","np":"^7.0.0","prettier":"^2.2.0","rimraf":"^3.0.2","rollup":"^2.33.1","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","simple-git":"^2.21.0","ts-jest":"^26.4.1","ts-loader":"^8.0.11","typescript":"^4.0.5","vue":"^3.0.2","webpack":"^5.4.0","webpack-cli":"^4.2.0","webpack-dev-server":"^3.11.0"},"readmeFilename":"README.md","readme":"English | [简体中文](README-zh_CN.md)\n\n<p align=\"center\">\n  <img\n    width=\"150\"\n    src=\"https://raw.githubusercontent.com/AttoJS/art/master/vue-request-logo.png\"\n    alt=\"VueRequest logo\"\n  />\n</p>\n<h1 align=\"center\">VueRequest</h1>\n<div align=\"center\">\n  <p align=\"center\">⚡️ A request library for Vue 3.</p>\n  <a href=\"https://codecov.io/github/attojs/vue-request?branch=master\">\n    <img\n      src=\"https://img.shields.io/codecov/c/github/attojs/vue-request?token=NW2XVQWGPP\"\n      alt=\"Coverage Status\"\n    />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/bundlephobia/min/vue-request\" alt=\"Size\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/npm/v/vue-request/beta\" alt=\"Version\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/github/languages/top/attojs/vue-request\" alt=\"Languages\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/npm/l/vue-request\" alt=\"License\" />\n  </a>\n</div>\n\n# Status: Beta\n\n## Features\n\n- 🚀 All data is reactive\n- 🔄 Interval polling\n- 🤖 Automatic error retry\n- 🗄 Built-in cache\n- 📠 Written in TypeScript\n- 🍃 Lightweight\n- 📦 Out of the box\n- 🔥 Interactive docs\n\n## Install\n\n```bash\nnpm install vue-request\n\n# or with yarn\nyarn add vue-request\n```\n\n### CDN\n\n```html\n<script src=\"https://unpkg.com/vue-request\"></script>\n```\n\nIt will be exposed to global as `window.VueRequest.useRequest`\n\n## Usage\n\n```tsx\nimport { useRequest } from 'vue-request';\n\nexport default {\n  setup() {\n    const { data } = useRequest('api/user');\n    return () => <div>{data.value}</div>;\n  },\n};\n```\n\n## TODO List\n\nIf you have any cool features, please submit an issue for discussion\n\n- [ ] Documentation\n- [ ] Pagination\n- [ ] Load More\n- [ ] Support Vue 2\n\n## Thanks\n\nThank them for inspiring us.\n\n- [vercel/swr](https://github.com/vercel/swr)\n- [alibaba/hooks](https://ahooks.js.org/hooks/async#userequest)\n\nThanks to [xiadd](https://github.com/xiadd) for providing the awesome [vue-request](https://www.npmjs.com/package/vue-request) npm package name!\n\n## License\n\n[MIT License](https://github.com/AttoJS/vue-request/blob/master/LICENSE) © 2020-present [AttoJS](https://github.com/AttoJS)\n","licenseText":"MIT License\n\nCopyright (c) 2020 AttoJS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"vue-request@1.0.0-beta.4","dist":{"shasum":"2db44c1d2eae0e7073544ccc4da09a090895f22d","integrity":"sha512-V8i1NmYhcfy2CHDFnSGdV9dXPZpQ1H16rEbdgw4KmRJUJJKujgTJVvC1xrTkyQQEl44ul/TtISGcQGMHGcUMfQ==","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-1.0.0-beta.4.tgz","fileCount":23,"unpackedSize":431653,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfzhf8CRA9TVsSAnZWagAAHF4P/0k//Za4kDnuT0nvNtay\n95dmWohLdqcjbCOjhFoW2E99yV5Q8HYjO7u4wlxYF8MxJdkaTZnrmX3v3XBB\nQ+XJXecrUWkZw3jqVGMcqOfH4o8DiSkPFSUsbTOUN+fr9zglDBJCy8dt6ddj\nTH6vnUcvVnpbbKfcKUXv0bSYSrskw2uTh64yBQpGNLGVyDsJf6xkwHcJkNAC\nXTpP3PubOHia6FDCCaLONOkS5T9iAYfU+tHrdU1E223C2+p9yBcsbGbZgweV\nQ4Y5SZTPMlItU5mJvoci1F7UxuOUbc6n/HEAwEuyTk1TmQiKV3gY/ii3Apik\nhWC0UjSql9qidGKdCLyvuOVAaUADQl0FEitlY6H2++sKbTofKvpIf92R9Tjv\nfxrkROnC9AHPbBsHdqoVRD33teNfIx07V1qrK7C8xDK5HzxA+k6fwM2/q5oS\nT2ivl/dmsC2m338nVHYG3b2q5N4P/UwgnzB6nRTSPxpqz4sNyCXzZWzhY9qh\npcoHSO7RrjzsggWVD1dQhE/EWWsvtRTOrfgJABBUAd5qywCyJpO0m94Kr5j4\n1aGCVMkr9npz8tG67br6gO8mObsSyZS5PqcdAtOTCB7EpgodfnMVHDijFSdq\no/bScGIRJD/j/L0xDaMIj5HDwYzSNdcF8hD+1HB3Rv57HgSrD+sNReJivxNj\ntXiq\r\n=ZtAH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCB41LM1Ub+Brqq6rk79daIpINFSy2qL5b/vTAP2+0hSQIhALnO1WoIJ8ig/voKlU8XfMZdBpJDZpowoml3UeQWyTDf"}]},"_npmUser":{"name":"john60676","email":"john60676@qq.com"},"directories":{},"maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-request_1.0.0-beta.4_1607342076280_0.18089036242220558"},"_hasShrinkwrap":false},"1.0.0-beta.5":{"name":"vue-request","version":"1.0.0-beta.5","description":"A request library for Vue 3","license":"MIT","keywords":["vue","vue3","swr","request","http","fetch","composition-api"],"repository":{"type":"git","url":"https://github.com/attojs/vue-request.git"},"main":"dist/index.cjs.js","module":"dist/index.es.js","unpkg":"dist/vue-request.min.js","types":"dist/types/index.d.ts","scripts":{"build":"yarn clean && rollup --config ./build/rollup.config.js","dev":"webpack serve --config ./build/webpack.config.js","clean":"rimraf dist/*","test":"jest --coverage","publishing":"np","release":"yarn build && yarn publishing","lint":"eslint -c ./.eslintrc.js './{src,scripts,build}/**/*.{js,ts,tsx}'","format":"prettier -w '**/*.ts?(x)'"},"husky":{"hooks":{"pre-commit":"node ./scripts/preCommit.js && lint-staged","commit-msg":"commitlint -x @commitlint/config-conventional -e $HUSKY_GIT_PARAMS","pre-push":"yarn test --coverage=false"}},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint","prettier -c"]},"peerDependencies":{"vue":"^3.0.0"},"devDependencies":{"@babel/core":"^7.12.3","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.1","@babel/runtime-corejs3":"^7.12.5","@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/jest":"^26.0.15","@types/lodash":"^4.14.165","@typescript-eslint/eslint-plugin":"^4.8.2","@typescript-eslint/parser":"^4.8.2","@vue/babel-plugin-jsx":"^1.0.0-rc.3","@vue/test-utils":"^2.0.0-beta.8","babel-jest":"^26.6.0","babel-loader":"^8.2.1","eslint":"^7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-vue":"^7.0.0-0","fetch-mock":"^9.10.7","html-webpack-plugin":"^4.5.0","husky":"^4.3.0","jest":"^26.6.0","jest-environment-jsdom-global":"^2.0.4","lint-staged":"^10.5.2","lodash":"^4.17.20","node-fetch":"^2.6.1","np":"^7.0.0","prettier":"^2.2.0","rimraf":"^3.0.2","rollup":"^2.33.1","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","simple-git":"^2.21.0","ts-jest":"^26.4.1","ts-loader":"^8.0.11","typescript":"^4.0.5","vue":"^3.0.2","webpack":"^5.4.0","webpack-cli":"^4.2.0","webpack-dev-server":"^3.11.0"},"readmeFilename":"README.md","readme":"English | [简体中文](README-zh_CN.md)\n\n<p align=\"center\">\n  <img\n    width=\"150\"\n    src=\"https://raw.githubusercontent.com/AttoJS/art/master/vue-request-logo.png\"\n    alt=\"VueRequest logo\"\n  />\n</p>\n<h1 align=\"center\">VueRequest</h1>\n<div align=\"center\">\n  <p align=\"center\">⚡️ A request library for Vue 3.</p>\n  <a href=\"https://codecov.io/github/attojs/vue-request?branch=master\">\n    <img\n      src=\"https://img.shields.io/codecov/c/github/attojs/vue-request?token=NW2XVQWGPP\"\n      alt=\"Coverage Status\"\n    />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/bundlephobia/min/vue-request\" alt=\"Size\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/npm/v/vue-request/beta\" alt=\"Version\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/github/languages/top/attojs/vue-request\" alt=\"Languages\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/npm/l/vue-request\" alt=\"License\" />\n  </a>\n</div>\n\n# Status: Beta\n\n## Features\n\n- 🚀 All data is reactive\n- 🔄 Interval polling\n- 🤖 Automatic error retry\n- 🗄 Built-in cache\n- 📠 Written in TypeScript\n- 🍃 Lightweight\n- 📦 Out of the box\n- 🔥 Interactive docs\n\n## Install\n\n```bash\nnpm install vue-request@beta\n\n# or with yarn\nyarn add vue-request@beta\n```\n\n### CDN\n\n```html\n<script src=\"https://unpkg.com/vue-request@beta\"></script>\n```\n\nIt will be exposed to global as `window.VueRequest.useRequest`\n\n## Usage\n\n```tsx\nimport { useRequest } from 'vue-request';\n\nexport default {\n  setup() {\n    const { data } = useRequest('api/user');\n    return () => <div>{data.value}</div>;\n  },\n};\n```\n\n## TODO List\n\nIf you have any cool features, please submit an issue for discussion\n\n- [ ] Documentation\n- [ ] Pagination\n- [ ] Load More\n- [ ] Support Vue 2\n\n## Thanks\n\nThank them for inspiring us.\n\n- [vercel/swr](https://github.com/vercel/swr)\n- [alibaba/hooks](https://ahooks.js.org/hooks/async#userequest)\n\nThanks to [xiadd](https://github.com/xiadd) for providing the awesome [vue-request](https://www.npmjs.com/package/vue-request) npm package name!\n\n## License\n\n[MIT License](https://github.com/AttoJS/vue-request/blob/master/LICENSE) © 2020-present [AttoJS](https://github.com/AttoJS)\n","licenseText":"MIT License\n\nCopyright (c) 2020 AttoJS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"vue-request@1.0.0-beta.5","dist":{"shasum":"139e17933195ca3f4ea91e747d7c5cf83c863c50","integrity":"sha512-FSkGodLJClGcOZ/7e/2tzvSlzz+IAOPdDVWfNxRac3YwokTvg7qAI9WaG1e0MbLIgLgj1QjtCFwWFf7//h5B1Q==","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-1.0.0-beta.5.tgz","fileCount":23,"unpackedSize":431990,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf1sgdCRA9TVsSAnZWagAApZMP/AsUk/NpUYrxxuzfRSuR\nW9whckiSyHF1oYyTXy0YMjXm4lJ3K3bIBRfu60WqyXGgN+UC6ATsNC2C3U/W\ni0k9x6DUCEhkP/VzRTTsP77d3R7ahqul2KKut3NMoFRUpAOSX1JU2JBIPCRR\nondMsmkygm0u+zjSLb77l70Bto7GqcQD+UZ3IIyxfgzGg4NfKWh40Gm7ZWLr\nlN2hdE1dm2ivcXwi2aSJM+a7Ij7fWI54uamWAnUC8QaAcz75LGksA43N4HEU\n6kUb/OJHTKVXTqGlQcpsYVNzwVtUFkeLz/8huQ3i6UQ7GGMFqp8+JVPrbgwL\nLgWh/aCQZrims0f8eZZNaIPHdimCVfqYLSOyc3oiu8OjWFLX+r/GNHKjW71Y\njng0I+0CPcMjZuH2yMbMJ7lmQ0O2dF7M/dWuvcbdIABLqAxLTOmonA7viMbD\nKbG1dRIyI/iCOgHgWkDJ6Tcg4CU21dmkf8D/3mGko72tKcAA0M+eVfSkgJ5W\nFYXZrvqsJRGnPNJM/TJSepAVmRiwA05P1Pvkk1rg8HMLOJVlqVbn9ogfru/I\net/nZeCrkkj5p1cfx8kGfDAiSyB0M/6+aq3QM/RV2tl38a2WoCFSPt7FJaW3\ntyIBUmRfyC8MfxNIV8vdB6Z65pXHoYfVOmadxuzdsIQpNRHAtN1OTec7Jbuj\n3Nmg\r\n=o7Ku\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA3+wqvHlyP2eHpwSVC62eSRnWEhmspOGm7ib+W0Qrv7AiEA8Rklbohwx+W0Vv/KG932XMYVRBmS35y1VfaxyzXwwTw="}]},"_npmUser":{"name":"john60676","email":"john60676@qq.com"},"directories":{},"maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-request_1.0.0-beta.5_1607911453453_0.019852033220163712"},"_hasShrinkwrap":false},"1.0.0-beta.6":{"name":"vue-request","version":"1.0.0-beta.6","description":"A request library for Vue 3","license":"MIT","keywords":["vue","vue3","swr","request","http","fetch","composition-api"],"repository":{"type":"git","url":"https://github.com/attojs/vue-request.git"},"main":"dist/index.cjs.js","module":"dist/index.es.js","unpkg":"dist/vue-request.min.js","types":"dist/types/index.d.ts","scripts":{"build":"yarn clean && rollup --config ./build/rollup.config.js","dev":"webpack serve --config ./build/webpack.config.js","clean":"rimraf dist/*","test":"jest --coverage","publishing":"np","changelog":"standard-changelog && standard-changelog -i CHANGELOG.zh-CN.md -o CHANGELOG.zh-CN.md","release":"yarn build && yarn publishing","lint":"eslint -c ./.eslintrc.js './{src,scripts,build}/**/*.{js,ts,tsx}'","format":"prettier -w '**/*.ts?(x)'"},"husky":{"hooks":{"pre-commit":"node ./scripts/preCommit.js && lint-staged","commit-msg":"commitlint -x @commitlint/config-conventional -e $HUSKY_GIT_PARAMS","pre-push":"yarn test --coverage=false"}},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint","prettier -c"]},"peerDependencies":{"vue":"^3.0.0"},"devDependencies":{"@babel/core":"^7.12.3","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.1","@babel/runtime-corejs3":"^7.12.5","@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/jest":"^26.0.15","@types/lodash":"^4.14.165","@typescript-eslint/eslint-plugin":"^4.8.2","@typescript-eslint/parser":"^4.8.2","@vue/babel-plugin-jsx":"^1.0.0-rc.3","@vue/test-utils":"^2.0.0-beta.8","babel-jest":"^26.6.0","babel-loader":"^8.2.1","eslint":"^7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-vue":"^7.0.0-0","fetch-mock":"^9.10.7","html-webpack-plugin":"^4.5.0","husky":"^4.3.0","jest":"^26.6.0","jest-environment-jsdom-global":"^2.0.4","lint-staged":"^10.5.2","lodash":"^4.17.20","node-fetch":"^2.6.1","np":"^7.0.0","prettier":"^2.2.0","rimraf":"^3.0.2","rollup":"^2.33.1","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","simple-git":"^2.21.0","standard-changelog":"^2.0.27","ts-jest":"^26.4.1","ts-loader":"^8.0.11","typescript":"^4.0.5","vue":"^3.0.2","webpack":"^5.4.0","webpack-cli":"^4.2.0","webpack-dev-server":"^3.11.0"},"readmeFilename":"README.md","readme":"English | [简体中文](README-zh_CN.md)\n\n<p align=\"center\">\n  <img\n    width=\"150\"\n    src=\"https://raw.githubusercontent.com/AttoJS/art/master/vue-request-logo.png\"\n    alt=\"VueRequest logo\"\n  />\n</p>\n<h1 align=\"center\">VueRequest</h1>\n<div align=\"center\">\n  <p align=\"center\">⚡️ A request library for Vue 3.</p>\n  <a href=\"https://codecov.io/github/attojs/vue-request?branch=master\">\n    <img\n      src=\"https://img.shields.io/codecov/c/github/attojs/vue-request?token=NW2XVQWGPP\"\n      alt=\"Coverage Status\"\n    />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/bundlephobia/min/vue-request\" alt=\"Size\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/npm/v/vue-request/beta\" alt=\"Version\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/github/languages/top/attojs/vue-request\" alt=\"Languages\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/npm/l/vue-request\" alt=\"License\" />\n  </a>\n</div>\n\n# Status: Beta\n\n## Features\n\n- 🚀 All data is reactive\n- 🔄 Interval polling\n- 🤖 Automatic error retry\n- 🗄 Built-in cache\n- 📠 Written in TypeScript\n- 🍃 Lightweight\n- 📦 Out of the box\n- 🔥 Interactive docs\n\n## Documentation\n\n- [English](https://attojs.github.io/vue-request-docs/) WIP\n- [中文](https://attojs.github.io/vue-request-docs/zh/)\n\n## Install\n\n```bash\nnpm install vue-request@beta\n\n# or with yarn\nyarn add vue-request@beta\n```\n\n### CDN\n\n```html\n<script src=\"https://unpkg.com/vue-request@beta\"></script>\n```\n\nIt will be exposed to global as `window.VueRequest.useRequest`\n\n## Usage\n\n```tsx\nimport { useRequest } from 'vue-request';\n\nexport default {\n  setup() {\n    const { data } = useRequest('api/user');\n    return () => <div>{data.value}</div>;\n  },\n};\n```\n\n## TODO List\n\nIf you have any cool features, please submit an issue for discussion\n\n- [ ] Documentation\n- [ ] Pagination\n- [ ] Load More\n- [ ] Support Vue 2\n\n## Thanks\n\nThank them for inspiring us.\n\n- [vercel/swr](https://github.com/vercel/swr)\n- [alibaba/hooks](https://ahooks.js.org/hooks/async#userequest)\n\nThanks to [xiadd](https://github.com/xiadd) for providing the awesome [vue-request](https://www.npmjs.com/package/vue-request) npm package name!\n\n## License\n\n[MIT License](https://github.com/AttoJS/vue-request/blob/master/LICENSE) © 2020-present [AttoJS](https://github.com/AttoJS)\n","licenseText":"MIT License\n\nCopyright (c) 2020 AttoJS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"vue-request@1.0.0-beta.6","dist":{"shasum":"1947dbcee3dd76f789e0406b4ee3d4c78834c5f1","integrity":"sha512-Acmm7tGT6vPcqS57wC98MLQJKKRyIiwhTGK531/BEJ6mYjJHyDBdqJ8IDGkohEVFJcspZcbm3UzjVUxELJYO8g==","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-1.0.0-beta.6.tgz","fileCount":25,"unpackedSize":433382,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf7ZNGCRA9TVsSAnZWagAAdrkQAIWoCxa/5zWQWANYqrX0\nL78uwwQnCbHVvw4AVt4C/IoHwyxXPJRW6i5MGy0XC6eWhhOz5BcZ3SO4lDFU\nd84McNhonnXeUQlefTUnkiXWOQQ17RRLHVSggbbdXg4hG3Gu/ipttsTZyux5\n9MDiO7wUDYV+Il6UypC9A0ib3a+FIp7qDkgSHnb2mJNHB8QFHYEiAcRJ++HI\ny5rVMRjlDK6FmADd4qwgaomTDRQunbjuvXEQ8KUg173u6Nf05yh2aO62pgjO\n8OFhPJ0dz4UyRfqNQxuuldfSAcLMg2m0C9U0L4wAgESQL8EU4jrKIjTJrzSb\nF7G6BaKOsX5Xe/q8J8THO6/47YOYyOnNPQoZyZhAnX7PdbSFjWuLkHzpvLVI\n3yBJsy2kttTinpnB/kmNpHiuKqz2aF4xzvZrnvvNV6pFMSB0Ilp4OVNErj2g\ngB7eQGl4mV18GMKaay9leY+OoUtHxxSiKJdSI0ofo6Mj19/69IXlISpBi6Nc\nKGmPWSGToe59JGiptQPjEl5EyHIsbmSm6fW4+df/OMgeWQ/cPhUaTsPJIk9b\nQPx3L4wNx8xzgVEHYL9npE6EzJdnB/tNk6kXRWWfVmlXa6NCGX1g+m2zcfbk\nk3ky3OsuCBefSA3qdYrIqPiC/rhjUNxM8Ppid+K2FR7kYWhKWER4VPBo+UQc\n+u3t\r\n=TOyH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDLlxu6OSwtDtYvTLgsxvkKToPgfIYKYhKXptn4U+vRPQIgIV0HUIccgtb0z3F8BS0wmhunDKzOhk3szdD7fjUpfxc="}]},"_npmUser":{"name":"john60676","email":"john60676@qq.com"},"directories":{},"maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-request_1.0.0-beta.6_1609405254045_0.07834971436885696"},"_hasShrinkwrap":false},"1.0.0-beta.7":{"name":"vue-request","version":"1.0.0-beta.7","description":"A request library for Vue 3","license":"MIT","keywords":["vue","vue3","swr","request","http","fetch","composition-api"],"repository":{"type":"git","url":"https://github.com/attojs/vue-request.git"},"main":"dist/index.cjs.js","module":"dist/index.es.js","unpkg":"dist/vue-request.min.js","types":"dist/types/index.d.ts","scripts":{"build":"yarn clean && rollup --config ./build/rollup.config.js","dev":"webpack serve --config ./build/webpack.config.js","clean":"rimraf dist/*","test":"jest --coverage","publishing":"np","changelog":"standard-changelog && standard-changelog -i CHANGELOG.zh-CN.md -o CHANGELOG.zh-CN.md","release":"yarn build && yarn publishing","lint":"eslint -c ./.eslintrc.js './{src,scripts,build}/**/*.{js,ts,tsx}'","format":"prettier -w '**/*.ts?(x)'"},"husky":{"hooks":{"pre-commit":"node ./scripts/preCommit.js && lint-staged","commit-msg":"commitlint -x @commitlint/config-conventional -e $HUSKY_GIT_PARAMS","pre-push":"yarn test --coverage=false"}},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint","prettier -c"]},"peerDependencies":{"vue":"^3.0.0"},"devDependencies":{"@babel/core":"^7.12.3","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.1","@babel/runtime-corejs3":"^7.12.5","@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/jest":"^26.0.15","@types/lodash":"^4.14.165","@typescript-eslint/eslint-plugin":"^4.8.2","@typescript-eslint/parser":"^4.8.2","@vue/babel-plugin-jsx":"^1.0.0-rc.3","@vue/test-utils":"^2.0.0-beta.8","babel-jest":"^26.6.0","babel-loader":"^8.2.1","eslint":"^7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-vue":"^7.0.0-0","fetch-mock":"^9.10.7","html-webpack-plugin":"^4.5.0","husky":"^4.3.0","jest":"^26.6.0","jest-environment-jsdom-global":"^2.0.4","lint-staged":"^10.5.2","lodash":"^4.17.20","node-fetch":"^2.6.1","np":"^7.0.0","prettier":"^2.2.0","rimraf":"^3.0.2","rollup":"^2.33.1","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","simple-git":"^2.21.0","standard-changelog":"^2.0.27","ts-jest":"^26.4.1","ts-loader":"^8.0.11","typescript":"^4.0.5","vue":"^3.0.2","webpack":"^5.4.0","webpack-cli":"^4.2.0","webpack-dev-server":"^3.11.0"},"readmeFilename":"README.md","readme":"English | [简体中文](README-zh_CN.md)\n\n<p align=\"center\">\n  <img\n    width=\"150\"\n    src=\"https://raw.githubusercontent.com/AttoJS/art/master/vue-request-logo.png\"\n    alt=\"VueRequest logo\"\n  />\n</p>\n<h1 align=\"center\">VueRequest</h1>\n<div align=\"center\">\n  <p align=\"center\">⚡️ A request library for Vue 3.</p>\n  <a href=\"https://codecov.io/github/attojs/vue-request?branch=master\">\n    <img\n      src=\"https://img.shields.io/codecov/c/github/attojs/vue-request?token=NW2XVQWGPP\"\n      alt=\"Coverage Status\"\n    />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/bundlephobia/min/vue-request\" alt=\"Size\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/npm/v/vue-request/beta\" alt=\"Version\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/github/languages/top/attojs/vue-request\" alt=\"Languages\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/npm/l/vue-request\" alt=\"License\" />\n  </a>\n</div>\n\n# Status: Beta\n\n## Features\n\n- 🚀 All data is reactive\n- 🔄 Interval polling\n- 🤖 Automatic error retry\n- 🗄 Built-in cache\n- 📠 Written in TypeScript\n- 🍃 Lightweight\n- 📦 Out of the box\n- 🔥 Interactive docs\n\n## Documentation\n\n- [English](https://attojs.github.io/vue-request-docs/) WIP\n- [中文](https://attojs.github.io/vue-request-docs/zh/)\n\n## Install\n\n```bash\nnpm install vue-request@beta\n\n# or with yarn\nyarn add vue-request@beta\n```\n\n### CDN\n\n```html\n<script src=\"https://unpkg.com/vue-request@beta\"></script>\n```\n\nIt will be exposed to global as `window.VueRequest.useRequest`\n\n## Usage\n\n```tsx\nimport { useRequest } from 'vue-request';\n\nexport default {\n  setup() {\n    const { data } = useRequest('api/user');\n    return () => <div>{data.value}</div>;\n  },\n};\n```\n\n## TODO List\n\nIf you have any cool features, please submit an issue for discussion\n\n- [ ] Documentation\n- [ ] Pagination\n- [ ] Load More\n- [ ] Support Vue 2\n\n## Thanks\n\nThank them for inspiring us.\n\n- [vercel/swr](https://github.com/vercel/swr)\n- [alibaba/hooks](https://ahooks.js.org/hooks/async#userequest)\n\nThanks to [xiadd](https://github.com/xiadd) for providing the awesome [vue-request](https://www.npmjs.com/package/vue-request) npm package name!\n\n## License\n\n[MIT License](https://github.com/AttoJS/vue-request/blob/master/LICENSE) © 2020-present [AttoJS](https://github.com/AttoJS)\n","licenseText":"MIT License\n\nCopyright (c) 2020 AttoJS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"vue-request@1.0.0-beta.7","dist":{"shasum":"fb470bbc70d5e3955ff1e0d2affb795665c5bab7","integrity":"sha512-3mh0FY11TfKAPAOqbd8XZyJRdkwOCHOM1CQa9aAYjilOLKK1KzQSKDBuQ1MdDXZs/gWfkdvtbV7aQBJdfEdYDQ==","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-1.0.0-beta.7.tgz","fileCount":25,"unpackedSize":435428,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf+6VHCRA9TVsSAnZWagAAjn4P/3Al7VP7b0NpMlO2N/gd\n9icPVtUpSGvRzLaulI8zfqptRCV10ViEBpzVJzzFl2+egvN15eZj1eG4nt1V\nmdhxWH8BFkkoDZEWzjBziuNEB0Wcfx0ekbAXxnuhtHr1fWa/NAm2zG07Mh0M\nmSBlMZDVfoHh5duUh42wOQqPBOEGuG4aTdO2TGqspp5hcqiY9ggNawIFYdpt\nOArO9N4+V4B0ePs3Mifo0A5YqmNXkqic4E2TvoZ/zDM/7X69ds+hUHQnhqh3\nPGVWEiVsfkED59pKb5fP1g4iK2PRUH+HEfjUxuhkXKch6E/Bs8wmOqDhQSop\np+WQwwXcwFlLgnCERD8pt5Zb10jQncH4J9HzpARKL3TlByr7gxa+RdwhTYJE\n4DALrRilft97f0oTnImv34xy7n25eGmcOnIcDJRSZiFe/JZPYvT+KPq5GJx8\nfVnHlDzvUFo9SiR2PH9GS5Fdoe8xaGjTHu1uCr9aEfAPD141lmPhI19rB5Fu\nx3V4yWN2PWk6GGc2AoPgbiuGF/3wwbyvfQEg65ZAzAi4PSGdJ6c4c2y4r2lQ\nwGNL+WlMIJn2kP3ST5AzJ2h4k0wp8Nd7XKh2w6kxFr1O09tKvN6xxuu+uU17\n1/k6k2YuULANp6Tat2FfPGylIaNCBMgE58muyAnnmLsHL9eiDjffVIKJqWEw\nABQI\r\n=Db8o\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCED65n8ei6cy9mjRG0JX5a/NXrqW0CUbTl5NzK6imvugIhAN9xgDfgTqFGjjz7r9dYDKL1GxUXeLN+lqLMcmpyma5w"}]},"_npmUser":{"name":"john60676","email":"john60676@qq.com"},"directories":{},"maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-request_1.0.0-beta.7_1610327366719_0.2650110368839833"},"_hasShrinkwrap":false},"1.0.2":{"name":"vue-request","version":"1.0.2","description":"A request library for Vue 3","license":"MIT","keywords":["vue","vue3","swr","request","http","fetch","composition-api"],"repository":{"type":"git","url":"git+https://github.com/attojs/vue-request.git"},"main":"dist/index.cjs.js","module":"dist/index.es.js","unpkg":"dist/vue-request.min.js","types":"dist/types/index.d.ts","scripts":{"build":"yarn clean && rollup --config ./build/rollup.config.js","dev":"webpack serve --config ./build/webpack.config.js","clean":"rimraf dist/*","test":"jest --coverage","publishing":"np","changelog":"standard-changelog && standard-changelog -i CHANGELOG.zh-CN.md -o CHANGELOG.zh-CN.md","release":"yarn build && yarn publishing","lint":"eslint -c ./.eslintrc.js './{src,scripts,build}/**/*.{js,ts,tsx}'","format":"prettier -w '**/*.ts?(x)'"},"husky":{"hooks":{"pre-commit":"node ./scripts/preCommit.js && lint-staged","commit-msg":"commitlint -x @commitlint/config-conventional -e $HUSKY_GIT_PARAMS","pre-push":"yarn test --coverage=false"}},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint","prettier -c"]},"peerDependencies":{"vue":"^3.0.0"},"devDependencies":{"@babel/core":"^7.12.3","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.1","@babel/runtime-corejs3":"^7.12.5","@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/jest":"^26.0.15","@types/lodash":"^4.14.165","@typescript-eslint/eslint-plugin":"^4.8.2","@typescript-eslint/parser":"^4.8.2","@vue/babel-plugin-jsx":"^1.0.0-rc.3","@vue/test-utils":"^2.0.0-beta.8","babel-jest":"^26.6.0","babel-loader":"^8.2.1","eslint":"^7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-vue":"^7.0.0-0","fetch-mock":"^9.10.7","html-webpack-plugin":"^4.5.0","husky":"^4.3.0","jest":"^26.6.0","jest-environment-jsdom-global":"^2.0.4","lint-staged":"^10.5.2","lodash":"^4.17.20","node-fetch":"^2.6.1","np":"^7.0.0","prettier":"^2.2.0","rimraf":"^3.0.2","rollup":"^2.33.1","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","simple-git":"^2.21.0","standard-changelog":"^2.0.27","ts-jest":"^26.4.1","ts-loader":"^8.0.11","typescript":"^4.0.5","vue":"^3.0.2","webpack":"^5.4.0","webpack-cli":"^4.2.0","webpack-dev-server":"^3.11.0"},"gitHead":"f675bbb1f4c808471f5a0d1edac505dc6c9a1394","bugs":{"url":"https://github.com/attojs/vue-request/issues"},"homepage":"https://github.com/attojs/vue-request#readme","_id":"vue-request@1.0.2","_nodeVersion":"12.10.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-C8meKDKVrDIDla8vO3Z/NXIqh8dCqrKUF0m8Th9CPxz/QkaF5h5rVib6jg8BL6KgnQ73o+P73jpXlgVUJQan9A==","shasum":"ebfb65e835eaf5f275d3a81985b774b91077f221","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-1.0.2.tgz","fileCount":19,"unpackedSize":433512,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgG3E/CRA9TVsSAnZWagAAAqgP/R1wNqp41nMncmkUEYDO\nea9Z5idTivRdzvfGbFKhsOosM8yX8Gj0w80YukumGmG3uev/Rg5ZBEpSjtqJ\nNPpkdIjTd6nacvj+dXncCD596JesyZOsiH0U5sQGGou8aObNaq69s85kx8JO\n8Fq2Nusfvfy6eiUSRyWhmrlEQLxjmHUylgmQtmtyZQbhM4pb90d5ttpteLjG\njWoeUOtJ1zw0/gv4rXSa1JjB3YqXrSR7iJ57VSRPsnraHteX0fi+SxSPaQrR\nR2enBtGJ/yRL0YH1AE/+e5Q8Ug9accqV375ZgPQyKnXKqgJKMqMmPEe7Jiw/\n/y8kmfvDviA2Zug+kMfUAFB/Ry6wlNJXiLy0MmMrX11WokQ8UC/ne/H/50BB\nRpu24i/QSe1c9TPsakWZKfg477+ipUDEAI2vRt9PkmsL+zM6g3zaUc7KoOYj\nl4IU6huRVjbEDKlTXGjzVAXkGb6lEMwhLMU23vXodmEauCezHItHfze9angS\nT9+PabiT6gNFEzhLOfKlasf0L//IX/OtzGXU9yGpo5SmdCeT88bEkuGpyD8k\nfJeLZoNc8G46iScsgGixkDhBRnkkUS2S/EaeUxIwFFs5VRcfwjMKTWKYr8wd\nMdEjAx7l26y515+iwUs7gQPQoIijVKuNOC/q986wZBdQ0BhEkm5MxlgGUSXW\nBARx\r\n=bu6+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCywORzAwpMpVjm8lAuquMitT54aDN4MoS4CU7QMDyzDAIgYwNGPhMGK9gYCE/wCtwljjk6WWucX5/4egG80P+yefY="}]},"_npmUser":{"name":"john60676","email":"john60676@qq.com"},"directories":{},"maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-request_1.0.2_1612411198989_0.4408244489505735"},"_hasShrinkwrap":false},"1.0.0-beta.8":{"name":"vue-request","version":"1.0.0-beta.8","description":"A request library for Vue 3","license":"MIT","keywords":["vue","vue3","swr","request","http","fetch","composition-api"],"repository":{"type":"git","url":"https://github.com/attojs/vue-request.git"},"main":"dist/index.cjs.js","module":"dist/index.es.js","unpkg":"dist/vue-request.min.js","types":"dist/types/index.d.ts","scripts":{"build":"yarn clean && rollup --config ./build/rollup.config.js","dev":"webpack serve --config ./build/webpack.config.js","clean":"rimraf dist/*","test":"jest --coverage","publishing":"np","changelog":"standard-version && standard-version -i CHANGELOG.zh-CN.md -o CHANGELOG.zh-CN.md","release":"yarn build && yarn publishing","lint":"eslint -c ./.eslintrc.js './{src,scripts,build}/**/*.{js,ts,tsx}'","format":"prettier -w '**/*.ts?(x)'"},"husky":{"hooks":{"pre-commit":"node ./scripts/preCommit.js && lint-staged","commit-msg":"commitlint -x @commitlint/config-conventional -e $HUSKY_GIT_PARAMS","pre-push":"yarn test --coverage=false"}},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint","prettier -c"]},"peerDependencies":{"vue":"^3.0.0"},"devDependencies":{"@babel/core":"^7.12.3","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.1","@babel/runtime-corejs3":"^7.12.5","@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/jest":"^26.0.15","@types/lodash":"^4.14.165","@types/mockjs":"^1.0.3","@typescript-eslint/eslint-plugin":"^4.8.2","@typescript-eslint/parser":"^4.8.2","@vue/babel-plugin-jsx":"^1.0.0-rc.3","@vue/test-utils":"^2.0.0-beta.8","axios":"^0.21.1","babel-jest":"^26.6.0","babel-loader":"^8.2.1","eslint":"^7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-vue":"^7.0.0-0","fetch-mock":"^9.10.7","html-webpack-plugin":"^4.5.0","husky":"^4.3.0","jest":"^26.6.0","jest-environment-jsdom-global":"^2.0.4","lint-staged":"^10.5.2","lodash":"^4.17.20","mockjs":"^1.1.0","node-fetch":"^2.6.1","np":"^7.0.0","prettier":"^2.2.0","rimraf":"^3.0.2","rollup":"^2.33.1","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","simple-git":"^2.21.0","standard-version":"^9.1.1","ts-jest":"^26.4.1","ts-loader":"^8.0.11","typescript":"^4.0.5","vue":"^3.0.2","webpack":"^5.4.0","webpack-cli":"^4.2.0","webpack-dev-server":"^3.11.0"},"readmeFilename":"README.md","readme":"English | [简体中文](README-zh_CN.md)\n\n<p align=\"center\">\n  <img\n    width=\"150\"\n    src=\"https://raw.githubusercontent.com/AttoJS/art/master/vue-request-logo.png\"\n    alt=\"VueRequest logo\"\n  />\n</p>\n<h1 align=\"center\">VueRequest</h1>\n<div align=\"center\">\n  <p align=\"center\">⚡️ A request library for Vue 3.</p>\n  <a href=\"https://codecov.io/github/attojs/vue-request?branch=master\">\n    <img\n      src=\"https://img.shields.io/codecov/c/github/attojs/vue-request?token=NW2XVQWGPP\"\n      alt=\"Coverage Status\"\n    />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/bundlephobia/min/vue-request\" alt=\"Size\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/npm/v/vue-request/beta\" alt=\"Version\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/github/languages/top/attojs/vue-request\" alt=\"Languages\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/npm/l/vue-request\" alt=\"License\" />\n  </a>\n</div>\n\n# Status: Beta\n\n## Features\n\n- 🚀 All data is reactive\n- 🔄 Interval polling\n- 🤖 Automatic error retry\n- 🗄 Built-in cache\n- 📠 Written in TypeScript\n- 🍃 Lightweight\n- 📦 Out of the box\n- 🔥 Interactive docs\n\n## Documentation\n\n- [English](https://attojs.github.io/vue-request-docs/)\n- [中文](https://attojs.github.io/vue-request-docs/zh/)\n- [国内镜像](https://attojs.gitee.io/vue-request-docs/zh/)\n\n## Install\n\n```bash\nnpm install vue-request@beta\n\n# or with yarn\nyarn add vue-request@beta\n```\n\n### CDN\n\n```html\n<script src=\"https://unpkg.com/vue-request@beta\"></script>\n```\n\nIt will be exposed to global as `window.VueRequest.useRequest`\n\n## Usage\n\n```tsx\nimport { useRequest } from 'vue-request';\n\nexport default {\n  setup() {\n    const { data } = useRequest('api/user');\n    return () => <div>{data.value}</div>;\n  },\n};\n```\n\n## TODO List\n\nIf you have any cool features, please submit an issue for discussion\n\n- [x] Documentation\n- [x] Pagination\n- [ ] Load More\n- [ ] Support Vue 2\n\n## Thanks\n\nThank them for inspiring us.\n\n- [vercel/swr](https://github.com/vercel/swr)\n- [alibaba/hooks](https://ahooks.js.org/hooks/async#userequest)\n\n## License\n\n[MIT License](https://github.com/AttoJS/vue-request/blob/master/LICENSE) © 2020-present [AttoJS](https://github.com/AttoJS)\n","licenseText":"MIT License\n\nCopyright (c) 2020 AttoJS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"vue-request@1.0.0-beta.8","dist":{"shasum":"3ebc09d5fc25957468a8061f9fec586c4f669522","integrity":"sha512-MloXO4SQtZl+5HFJsUeXDlT8tAhm5+vACeJizWPgheAl7RBTk6CtWab56SLikS90noS9UvRp2X5TgJcuQT7tUw==","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-1.0.0-beta.8.tgz","fileCount":27,"unpackedSize":506660,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNiKnCRA9TVsSAnZWagAAjGQP/RM8f31QrzCHtAMcCCE+\nvLCW7dN5KzixIVltWzy17UY7uGVR7ohnnb3yWeaW/FKTJBubYADq2mbmBFC8\nnHqXGuiAveWSbkdGg606M7pB5lqFB0aPj0V3lffXWPg3+KCuvL2z8c/F+Zkj\n8NNk2o/zEPsmq66zVi0PDDb1i5e+x8oHb2nx43IDRGnGBKXCncrU0YiYIWua\ncj9+lug+0BfjQuIP7LnnlLKHtIQv0bk5A7ZPRZ34+LtJv/B3a8pi3Stg/+BG\nOqNXW5MBpD+LoGN8poOHbRI3uNk619I5whmAKZ0Dz0dIPfUTksAExhytw/qV\nZ4+gi/J21eN13fzhvizqVLTffjD/ojKgaAtWDOT92EGIZKuRz8d/Lh05CLUn\nd3AsnpuxWMGBu+Xnvuk+Vi15fCOuetIoYq5EeJsjgtXjpR7okPEjL78+ND5O\nr/UOlRMt8PE+0+Y0oDsHAb0sVQbKfPIl6GynFB+Hz/Z70nuFiR4o+JDDxHs0\nxnSDsUCs7Ij1VQ4rS7nipJ+qkMmJW74NOi3rUlon8NfDm0bLsbsKWo1AI6d4\n86FisIbutr0/454t+EWXtRUGEOZs3rTVuUveUDbGh+Iy5d27mFAY7aeQBSK6\n12jBCGWQdjl5qTGC4UoT/PqFPuQ6YN62y69XePwnhH4XXizQ0vHldFuaIGRF\nJL4j\r\n=2ddy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHCPHYVIBomZalVVwL+/NE9xf72rBSW9y8HND42na7+GAiEA179HdblWJCiTfg5vunGZHEyFIkYyWGMHsd1yqU2kgT0="}]},"_npmUser":{"name":"john60676","email":"john60676@qq.com"},"directories":{},"maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-request_1.0.0-beta.8_1614160551038_0.8087914228562645"},"_hasShrinkwrap":false},"1.0.0-beta.9":{"name":"vue-request","version":"1.0.0-beta.9","description":"A request library for Vue 3","license":"MIT","keywords":["vue","vue3","swr","request","http","fetch","composition-api"],"repository":{"type":"git","url":"https://github.com/attojs/vue-request.git"},"main":"dist/index.cjs.js","module":"dist/index.es.js","unpkg":"dist/vue-request.min.js","types":"dist/types/index.d.ts","scripts":{"build":"yarn clean && rollup --config ./build/rollup.config.js","dev":"webpack serve --config ./build/webpack.config.js","clean":"rimraf dist/*","test":"jest --coverage","publishing":"np","changelog":"standard-version && standard-version -i CHANGELOG.zh-CN.md -o CHANGELOG.zh-CN.md","release":"yarn build && yarn publishing","lint":"eslint -c ./.eslintrc.js './{src,scripts,build}/**/*.{js,ts,tsx}'","format":"prettier -w '**/*.ts?(x)'","version":"yarn changelog"},"husky":{"hooks":{"pre-commit":"node ./scripts/preCommit.js && lint-staged","commit-msg":"commitlint -x @commitlint/config-conventional -e $HUSKY_GIT_PARAMS","pre-push":"yarn test --coverage=false"}},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint","prettier -c"]},"peerDependencies":{"vue":"^3.0.0"},"devDependencies":{"@babel/core":"^7.12.3","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.1","@babel/runtime-corejs3":"^7.12.5","@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/jest":"^26.0.15","@types/lodash":"^4.14.165","@types/mockjs":"^1.0.3","@typescript-eslint/eslint-plugin":"^4.8.2","@typescript-eslint/parser":"^4.8.2","@vue/babel-plugin-jsx":"^1.0.0-rc.3","@vue/test-utils":"^2.0.0-beta.8","axios":"^0.21.1","babel-jest":"^26.6.0","babel-loader":"^8.2.1","eslint":"^7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-vue":"^7.0.0-0","fetch-mock":"^9.10.7","html-webpack-plugin":"^4.5.0","husky":"^4.3.0","jest":"^26.6.0","jest-environment-jsdom-global":"^2.0.4","lint-staged":"^10.5.2","lodash":"^4.17.20","mockjs":"^1.1.0","node-fetch":"^2.6.1","np":"^7.0.0","prettier":"^2.2.0","rimraf":"^3.0.2","rollup":"^2.33.1","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","simple-git":"^2.21.0","standard-version":"^9.1.1","ts-jest":"^26.4.1","ts-loader":"^8.0.11","typescript":"^4.0.5","vue":"^3.0.2","webpack":"^5.4.0","webpack-cli":"^4.2.0","webpack-dev-server":"^3.11.0"},"readmeFilename":"README.md","readme":"English | [简体中文](README-zh_CN.md)\n\n<p align=\"center\">\n  <img\n    width=\"150\"\n    src=\"https://raw.githubusercontent.com/AttoJS/art/master/vue-request-logo.png\"\n    alt=\"VueRequest logo\"\n  />\n</p>\n<h1 align=\"center\">VueRequest</h1>\n<div align=\"center\">\n  <p align=\"center\">⚡️ A request library for Vue 3.</p>\n  <a href=\"https://codecov.io/github/attojs/vue-request?branch=master\">\n    <img\n      src=\"https://img.shields.io/codecov/c/github/attojs/vue-request?token=NW2XVQWGPP\"\n      alt=\"Coverage Status\"\n    />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/bundlephobia/min/vue-request\" alt=\"Size\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/npm/v/vue-request/beta\" alt=\"Version\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/github/languages/top/attojs/vue-request\" alt=\"Languages\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/npm/l/vue-request\" alt=\"License\" />\n  </a>\n</div>\n\n# Status: Beta\n\n## Features\n\n- 🚀 All data is reactive\n- 🔄 Interval polling\n- 🤖 Automatic error retry\n- 🗄 Built-in cache\n- 📠 Written in TypeScript\n- 🍃 Lightweight\n- 📦 Out of the box\n- 🔥 Interactive docs\n\n## Documentation\n\n- [English](https://attojs.github.io/vue-request-docs/)\n- [中文](https://attojs.github.io/vue-request-docs/zh/)\n- [国内镜像](https://attojs.gitee.io/vue-request-docs/zh/)\n\n## Install\n\n```bash\nnpm install vue-request@beta\n\n# or with yarn\nyarn add vue-request@beta\n```\n\n### CDN\n\n```html\n<script src=\"https://unpkg.com/vue-request@beta\"></script>\n```\n\nIt will be exposed to global as `window.VueRequest.useRequest`\n\n## Usage\n\n```tsx\nimport { useRequest } from 'vue-request';\n\nexport default {\n  setup() {\n    const { data } = useRequest('api/user');\n    return () => <div>{data.value}</div>;\n  },\n};\n```\n\n## TODO List\n\nIf you have any cool features, please submit an issue for discussion\n\n- [x] Documentation\n- [x] Pagination\n- [ ] Load More\n- [ ] Support Vue 2\n\n## Thanks\n\nThank them for inspiring us.\n\n- [vercel/swr](https://github.com/vercel/swr)\n- [alibaba/hooks](https://ahooks.js.org/hooks/async#userequest)\n\n## License\n\n[MIT License](https://github.com/AttoJS/vue-request/blob/master/LICENSE) © 2020-present [AttoJS](https://github.com/AttoJS)\n","licenseText":"MIT License\n\nCopyright (c) 2020 AttoJS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"vue-request@1.0.0-beta.9","dist":{"shasum":"5b56f2d18701829066d1514f5d7f7d44fdcdb112","integrity":"sha512-mdcFKAfVaVnaAI0uN25EWElyAy1evdfypWBHnfcf1t1QoluHWQrCWK4x7bfU+k/5cGwHEw0O7qxFCaudCVdQZw==","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-1.0.0-beta.9.tgz","fileCount":27,"unpackedSize":509646,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgOFuoCRA9TVsSAnZWagAA1EMP/3QRujvi0EClTxzkgqnl\nj8cLKybH/ykfgDIsubtx+z5BgeG6U0i6uCpnrBTkALAK8pbNO8spq9Bm+MeF\n1pO/JC+DvFeVMNl3rCaK1T4nyF8bqMGQTYnxRlr1BGGNmi+QqlQ6jrb+LcRu\nMTx2iInABEkbxYLf2bxjlTLy0nmhcEDLD94NqI74qWCyLlMqZ/ii1Sh8LQJ5\nZvABHWEuEtN68l0IzAdtAHDpFX2KPNcwP69RszDWaamLPfM8y2cB5ERM8+l6\n0MQQC/3FQ8Kw93RehYRmIea3RLqG2srWY+kfwdGX9aJLw4HHJrRseLbJ6zLI\nicHIBEpFWJrxbeU60YodVkmIF1cTQUjb/I+TDIlwm3uZCGVDJIoV6Z3H5Fbc\nzOLW+MTUTgYFyv9oxl7Qo/gWbpEH5BLXqk6yyr3B6/FlGGuY4iz2lALvyUIj\n/DbajAxEOoN40O1hLJxqGfjoEXjXGjONxNEk4s1UAjbM2lasZBYMkbVYh6bC\n1sUlRsY4jPHqI143uwF0XuSg4NUJ8YiJKV/jkBZh+ARqfBz3Ssn3l7GEdVpR\n3aIj/WVw2BVFHJsNFnEkuIMwfGH4bt8jUVwhnqDDyLsW5q8DNuV9+7xLDQT1\nI9qJ72uulwifHu9NDZpRTr0oeyQZkCLMe02XD7H5eJ2MmvP3SSj7y9DH+Mkt\nodWG\r\n=pM6g\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB4DA10y4U0uSeHMQT7j0u+Rk42Ke/KbcPy5M0XlCFUhAiAZ83qKiUHeCggFt6XuFZf2qLicYfwTN2wi2z3TX3W2FA=="}]},"_npmUser":{"name":"john60676","email":"john60676@qq.com"},"directories":{},"maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-request_1.0.0-beta.9_1614306215515_0.8181041748564919"},"_hasShrinkwrap":false},"1.0.0-beta.10":{"name":"vue-request","version":"1.0.0-beta.10","description":"A request library for Vue 3","license":"MIT","keywords":["vue","vue3","swr","request","http","fetch","composition-api"],"repository":{"type":"git","url":"https://github.com/attojs/vue-request.git"},"main":"dist/index.cjs.js","module":"dist/index.es.js","unpkg":"dist/vue-request.min.js","types":"dist/types/index.d.ts","scripts":{"build":"yarn clean && rollup --config ./build/rollup.config.js","dev":"webpack serve --config ./build/webpack.config.js","clean":"rimraf dist/*","test":"jest --coverage","publishing":"np","changelog":"standard-version && standard-version -i CHANGELOG.zh-CN.md -o CHANGELOG.zh-CN.md","release":"yarn build && yarn publishing","lint":"eslint -c ./.eslintrc.js './{src,scripts,build}/**/*.{js,ts,tsx}'","format":"prettier -w '**/*.ts?(x)'","version":"yarn changelog"},"husky":{"hooks":{"pre-commit":"node ./scripts/preCommit.js && lint-staged","commit-msg":"commitlint -x @commitlint/config-conventional -e $HUSKY_GIT_PARAMS","pre-push":"yarn test --coverage=false"}},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint","prettier -c"]},"peerDependencies":{"vue":"^3.0.0"},"devDependencies":{"@babel/core":"^7.12.3","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.1","@babel/runtime-corejs3":"^7.12.5","@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/jest":"^26.0.15","@types/lodash":"^4.14.165","@types/mockjs":"^1.0.3","@typescript-eslint/eslint-plugin":"^4.8.2","@typescript-eslint/parser":"^4.8.2","@vue/babel-plugin-jsx":"^1.0.0-rc.3","@vue/compiler-sfc":"^3.0.6","@vue/test-utils":"^2.0.0-beta.8","axios":"^0.21.1","babel-jest":"^26.6.0","babel-loader":"^8.2.1","eslint":"^7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-vue":"^7.0.0-0","fetch-mock":"^9.10.7","html-webpack-plugin":"^4.5.0","husky":"^4.3.0","jest":"^26.6.0","jest-environment-jsdom-global":"^2.0.4","lint-staged":"^10.5.2","lodash":"^4.17.20","mockjs":"^1.1.0","node-fetch":"^2.6.1","np":"^7.0.0","prettier":"^2.2.0","rimraf":"^3.0.2","rollup":"^2.33.1","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","simple-git":"^2.21.0","standard-version":"^9.1.1","ts-jest":"^26.4.1","ts-loader":"^8.0.11","typescript":"^4.0.5","vue":"^3.0.2","vue-loader":"^16.1.2","webpack":"^5.4.0","webpack-cli":"^4.2.0","webpack-dev-server":"^3.11.0"},"readmeFilename":"README.md","readme":"English | [简体中文](README-zh_CN.md)\n\n<p align=\"center\">\n  <img\n    width=\"150\"\n    src=\"https://raw.githubusercontent.com/AttoJS/art/master/vue-request-logo.png\"\n    alt=\"VueRequest logo\"\n  />\n</p>\n<h1 align=\"center\">VueRequest</h1>\n<div align=\"center\">\n  <p align=\"center\">⚡️ A request library for Vue 3.</p>\n  <a href=\"https://codecov.io/github/attojs/vue-request?branch=master\">\n    <img\n      src=\"https://img.shields.io/codecov/c/github/attojs/vue-request?token=NW2XVQWGPP\"\n      alt=\"Coverage Status\"\n    />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/bundlephobia/min/vue-request\" alt=\"Size\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/npm/v/vue-request/beta\" alt=\"Version\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/github/languages/top/attojs/vue-request\" alt=\"Languages\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/npm/l/vue-request\" alt=\"License\" />\n  </a>\n</div>\n\n# Status: Beta\n\n## Features\n\n- 🚀 All data is reactive\n- 🔄 Interval polling\n- 🤖 Automatic error retry\n- 🗄 Built-in cache\n- 📠 Written in TypeScript\n- 🍃 Lightweight\n- 📦 Out of the box\n- 🔥 Interactive docs\n\n## Documentation\n\n- [English](https://attojs.github.io/vue-request-docs/)\n- [中文](https://attojs.github.io/vue-request-docs/zh/)\n- [国内镜像](https://attojs.gitee.io/vue-request-docs/zh/)\n\n## Install\n\n```bash\nnpm install vue-request@beta\n\n# or with yarn\nyarn add vue-request@beta\n```\n\n### CDN\n\n```html\n<script src=\"https://unpkg.com/vue-request@beta\"></script>\n```\n\nIt will be exposed to global as `window.VueRequest.useRequest`\n\n## Usage\n\n```tsx\nimport { useRequest } from 'vue-request';\n\nexport default {\n  setup() {\n    const { data } = useRequest('api/user');\n    return () => <div>{data.value}</div>;\n  },\n};\n```\n\n## TODO List\n\nIf you have any cool features, please submit an issue for discussion\n\n- [x] Documentation\n- [x] Pagination\n- [ ] Load More\n- [ ] Support Vue 2\n\n## Thanks\n\nThank them for inspiring us.\n\n- [vercel/swr](https://github.com/vercel/swr)\n- [alibaba/hooks](https://ahooks.js.org/hooks/async#userequest)\n\n## License\n\n[MIT License](https://github.com/AttoJS/vue-request/blob/master/LICENSE) © 2020-present [AttoJS](https://github.com/AttoJS)\n","licenseText":"MIT License\n\nCopyright (c) 2020 AttoJS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"vue-request@1.0.0-beta.10","dist":{"shasum":"8cf212f33580dd8207ebbe782beed89cab382953","integrity":"sha512-tvLugs22r9pzfZKYKA2UQiFES92ln6d8YYhxuCUXyn0SkVB4E23IFwhkvdoX/3fadpd/YXwkDYXSvtbUIBBqUg==","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-1.0.0-beta.10.tgz","fileCount":27,"unpackedSize":510569,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgPelVCRA9TVsSAnZWagAAtpIQAKNDotAfwJCOZPKjJVhG\n6nVzfkg+Jx7hAfvSAYjw16znerQaL5rEMURVhCzDT6mCibhulZUddbY+5yjz\nH1PO7BgD2NFrglUceQG0yd/NAVoGRtkHV6Q5wzkrmq6HFF/Soz2rup7Q5wvq\nBf6datyK0i9jAAgU8GfOfnEH5GuZkHYZZ5vMOFEzLTKz+5tdaZjMPQVFtL/e\nlpxA5FeefSk1Saod7pkPBydSQEZk3tp7ulQ0JynnsQ27z5LOBhCcXUfC24er\nth8tNyjbLGh2dwf03vnk5qsyhhNU3qrxiq+MIyu5Yr4Cf3MJBURs8P/nHOL+\nxfx/2RkoAvgNQptz83+MXGLLFvqlGqB2oJAVFX2MRHAiq0iKv6EyhjDC4tMR\nzdOeybIoQcoJlpGV1awv3HWmTizHts2A03QvzhVP4hOEMMUOXBQIzWiIaqTw\namh35blJo/cwapPNcJdObzpklYxw55pllxDjOiFWvpThudCH7wBj2hgRU6I2\nGcE34ek5XEOQr9/vj9y2lIXpJsWNc3lGoLOkpBmzzUDQBDfxroYf76ZLSM0v\n8TXF7fsTaQcERrpOEK88h+IubIFdCMRY7eLlnWQg4wJzTSnuPV1CgUdPzE4v\nfWasnsVScLqpIuxYyzpjTINcp349Aj7ibCOnZ4RKwLArZtxn5B/LD7E2mDSB\ngWVk\r\n=7S4I\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC1Uq+8ggysW1qukWXuUUrnskM+whWpx0zYQhDEIvmbVAIgQJRC09HsbTbB+Lq3ZOyIz5ee8NFkEpCPtFLDUK6EhzY="}]},"_npmUser":{"name":"john60676","email":"john60676@qq.com"},"directories":{},"maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-request_1.0.0-beta.10_1614670164534_0.7400482505076167"},"_hasShrinkwrap":false},"1.0.0-beta.11":{"name":"vue-request","version":"1.0.0-beta.11","description":"A request library for Vue 3","license":"MIT","keywords":["vue","vue3","swr","request","http","fetch","composition-api"],"repository":{"type":"git","url":"https://github.com/attojs/vue-request.git"},"main":"dist/index.cjs.js","module":"dist/index.es.js","unpkg":"dist/vue-request.min.js","types":"dist/types/index.d.ts","scripts":{"build":"yarn clean && rollup --config ./build/rollup.config.js","dev":"webpack serve --config ./build/webpack.config.js","clean":"rimraf dist/*","test":"jest --coverage","publishing":"np","changelog":"standard-version && standard-version -i CHANGELOG.zh-CN.md -o CHANGELOG.zh-CN.md","release":"yarn build && yarn publishing","lint":"eslint -c ./.eslintrc.js './{src,scripts,build}/**/*.{js,ts,tsx}'","format":"prettier -w '**/*.ts?(x)'","version":"yarn changelog"},"husky":{"hooks":{"pre-commit":"node ./scripts/preCommit.js && lint-staged","commit-msg":"commitlint -x @commitlint/config-conventional -e $HUSKY_GIT_PARAMS","pre-push":"yarn test --coverage=false"}},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint","prettier -c"]},"peerDependencies":{"vue":"^3.0.0"},"devDependencies":{"@babel/core":"^7.12.3","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.1","@babel/runtime-corejs3":"^7.12.5","@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/jest":"^26.0.15","@types/lodash":"^4.14.165","@types/mockjs":"^1.0.3","@typescript-eslint/eslint-plugin":"^4.8.2","@typescript-eslint/parser":"^4.8.2","@vue/babel-plugin-jsx":"^1.0.0-rc.3","@vue/compiler-sfc":"^3.0.6","@vue/test-utils":"^2.0.0-beta.8","axios":"^0.21.1","babel-jest":"^26.6.0","babel-loader":"^8.2.1","eslint":"^7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-vue":"^7.0.0-0","fetch-mock":"^9.10.7","html-webpack-plugin":"^4.5.0","husky":"^4.3.0","jest":"^26.6.0","jest-environment-jsdom-global":"^2.0.4","lint-staged":"^10.5.2","lodash":"^4.17.20","mockjs":"^1.1.0","node-fetch":"^2.6.1","np":"^7.0.0","prettier":"^2.2.0","rimraf":"^3.0.2","rollup":"^2.33.1","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","simple-git":"^2.21.0","standard-version":"^9.1.1","ts-jest":"^26.4.1","ts-loader":"^8.0.11","typescript":"^4.0.5","vue":"^3.0.2","vue-loader":"^16.1.2","webpack":"^5.4.0","webpack-cli":"^4.2.0","webpack-dev-server":"^3.11.0"},"readmeFilename":"README.md","readme":"English | [简体中文](README-zh_CN.md)\n\n<p align=\"center\">\n  <img\n    width=\"150\"\n    src=\"https://raw.githubusercontent.com/AttoJS/art/master/vue-request-logo.png\"\n    alt=\"VueRequest logo\"\n  />\n</p>\n<h1 align=\"center\">VueRequest</h1>\n<div align=\"center\">\n  <p align=\"center\">⚡️ A request library for Vue 3.</p>\n  <a href=\"https://codecov.io/github/attojs/vue-request?branch=master\">\n    <img\n      src=\"https://img.shields.io/codecov/c/github/attojs/vue-request?token=NW2XVQWGPP\"\n      alt=\"Coverage Status\"\n    />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/bundlephobia/min/vue-request\" alt=\"Size\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/npm/v/vue-request/beta\" alt=\"Version\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/github/languages/top/attojs/vue-request\" alt=\"Languages\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/npm/l/vue-request\" alt=\"License\" />\n  </a>\n</div>\n\n# Status: Beta\n\n## Features\n\n- 🚀 All data is reactive\n- 🔄 Interval polling\n- 🤖 Automatic error retry\n- 🗄 Built-in cache\n- 📠 Written in TypeScript\n- 🍃 Lightweight\n- 📦 Out of the box\n- 🔥 Interactive docs\n\n## Documentation\n\n- [English](https://attojs.github.io/vue-request-docs/)\n- [中文](https://attojs.github.io/vue-request-docs/zh/)\n- [国内镜像](https://attojs.gitee.io/vue-request-docs/zh/)\n\n## Install\n\n```bash\nnpm install vue-request@beta\n\n# or with yarn\nyarn add vue-request@beta\n```\n\n### CDN\n\n```html\n<script src=\"https://unpkg.com/vue-request@beta\"></script>\n```\n\nIt will be exposed to global as `window.VueRequest.useRequest`\n\n## Usage\n\n```tsx\nimport { useRequest } from 'vue-request';\n\nexport default {\n  setup() {\n    const { data } = useRequest('api/user');\n    return () => <div>{data.value}</div>;\n  },\n};\n```\n\n## TODO List\n\nIf you have any cool features, please submit an issue for discussion\n\n- [x] Documentation\n- [x] Pagination\n- [ ] Load More\n- [ ] Support Vue 2\n\n## Thanks\n\nThank them for inspiring us.\n\n- [vercel/swr](https://github.com/vercel/swr)\n- [alibaba/hooks](https://ahooks.js.org/hooks/async#userequest)\n\n## License\n\n[MIT License](https://github.com/AttoJS/vue-request/blob/master/LICENSE) © 2020-present [AttoJS](https://github.com/AttoJS)\n","licenseText":"MIT License\n\nCopyright (c) 2020 AttoJS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"vue-request@1.0.0-beta.11","dist":{"shasum":"9d519b6251d45f0ce97f89c24f9643468816ae62","integrity":"sha512-ReqTThs81/xhpgvZoOU7OOQa+H4qQOyUFvAzmvQ1q+F+JDZGijWVBbb2URGIlM2y1QOE4cQrbRvSpb/3rsl/Ig==","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-1.0.0-beta.11.tgz","fileCount":28,"unpackedSize":528765,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgP05fCRA9TVsSAnZWagAA3pEP/0kMPWMtPd606UxgyohL\nRKrrZYhRsYlOFtNPnjd/bA/kEOmnyB9ntXyUCWYCCk4yUkWEM9ss0H5uBqXy\n+g+ZGFYB2dfTSKLEVLTdQJmS41mzsOrlpttsqMxDbJlOajJQiDsj2eD7J49d\ntLSLPTUoTITtfBnr5XoVoex8Ll1CBn0EYyM7AKmQIqMuTTmhkVcggL1DXMCn\npCkZw10uRN8BjpG+VDZL3jXwgfuNkMptNB6zzaHDhIfa5gV1YQ30tj7X89xF\n7e0pAmoyZsfLRgYSGz5DpiMSe7CJz5yr01rOKSKMlZVMUafm0sGeIa/35HZI\nFfM077PzbnQh1gdfOp7aBURh4zgOzYur9NVbE8zBISc76kmxn8u9Yp2O6ytP\nRbrWQHuwzJDl5Z4URZOqZzyYUEnVdR3Q+oSwyV1lihKUFaWzqZfW1f5xus7N\niiDwJiCw+S2hwgJ682Q4L7qJJCpQhT+8TJJzQ5FTVdNw9KNsFRRPAykFBwEh\nlLjHJtISAX7kyBvEIWwQ4fI83EYtkUDsaWybLd1XbmaVJ00LijsiG5FS/gZa\n6c21mVnoQetXHM+rFUNYOzUTHhNTC186k0XM/UGys4zSYXHBUEuya+eR8FeS\nG+S/hvBDmaUOdxGYnKxbsKE0AwrVFko+J6LNm7dmJtA2w3oyxarvQo40HAI8\niM+X\r\n=yxzf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHcKPTrxgm1d5klG7udbeHNA6LACFruPAk01R29YZyhQAiEA23RumSkydGvw2Qv1OmMy47M9xEV6tct9nQCjyZv7t6Y="}]},"_npmUser":{"name":"john60676","email":"john60676@qq.com"},"directories":{},"maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-request_1.0.0-beta.11_1614761566880_0.7263052113147597"},"_hasShrinkwrap":false},"1.0.3":{"name":"vue-request","version":"1.0.3","description":"A request library for Vue 3","license":"MIT","keywords":["vue","vue3","swr","request","http","fetch","composition-api","axios","vue-request","vue request"],"repository":{"type":"git","url":"https://github.com/attojs/vue-request.git"},"main":"dist/index.cjs.js","module":"dist/index.es.js","unpkg":"dist/vue-request.min.js","types":"dist/types/index.d.ts","scripts":{"build":"yarn clean && rollup --config ./build/rollup.config.js","dev":"webpack serve --config ./build/webpack.config.js","clean":"rimraf dist/*","test":"jest --coverage","publishing":"np","changelog":"standard-version && standard-version -i CHANGELOG.zh-CN.md -o CHANGELOG.zh-CN.md","release":"yarn build && yarn publishing","lint":"eslint -c ./.eslintrc.js './{src,scripts,build}/**/*.{js,ts,tsx}'","format":"prettier -w '**/*.ts?(x)'","version":"yarn changelog"},"husky":{"hooks":{"pre-commit":"node ./scripts/preCommit.js && lint-staged","commit-msg":"commitlint -x @commitlint/config-conventional -e $HUSKY_GIT_PARAMS","pre-push":"yarn test --coverage=false"}},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint","prettier -c"]},"peerDependencies":{"vue":"^3.0.0"},"devDependencies":{"@babel/core":"^7.12.3","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.1","@babel/runtime-corejs3":"^7.12.5","@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/jest":"^26.0.15","@types/lodash":"^4.14.165","@types/mockjs":"^1.0.3","@typescript-eslint/eslint-plugin":"^4.8.2","@typescript-eslint/parser":"^4.8.2","@vue/babel-plugin-jsx":"^1.0.0-rc.3","@vue/compiler-sfc":"^3.0.6","@vue/test-utils":"^2.0.0-beta.8","axios":"^0.21.1","babel-jest":"^26.6.0","babel-loader":"^8.2.1","eslint":"^7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-vue":"^7.0.0-0","fetch-mock":"^9.10.7","html-webpack-plugin":"^4.5.0","husky":"^4.3.0","jest":"^26.6.0","jest-environment-jsdom-global":"^2.0.4","lint-staged":"^10.5.2","lodash":"^4.17.20","mockjs":"^1.1.0","node-fetch":"^2.6.1","np":"^7.0.0","prettier":"^2.2.0","rimraf":"^3.0.2","rollup":"^2.33.1","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","simple-git":"^2.21.0","standard-version":"^9.1.1","ts-jest":"^26.4.1","ts-loader":"^8.0.11","typescript":"^4.0.5","vue":"^3.0.2","vue-loader":"^16.1.2","webpack":"^5.4.0","webpack-cli":"^4.2.0","webpack-dev-server":"^3.11.0"},"licenseText":"MIT License\n\nCopyright (c) 2020 AttoJS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"vue-request@1.0.3","dist":{"shasum":"6afc64e25c24a3e0d2d57e2253f7e37d86c4e1ca","integrity":"sha512-f2TGaDml3C52/Yw7E/sjIp/oOirTNSf5Cl2QXBMnWeSe2HGAlkUI4EgbuLFmlZZwHpgV+XeHYSNkwcX8vpjbDw==","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-1.0.3.tgz","fileCount":28,"unpackedSize":620956,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQ14LCRA9TVsSAnZWagAAa4oP/iPqABHsT+rwPNqXOT76\nHvViS5FVQ1GIdvfkwbUeGnAGAnJuRhW5mWL1fg4x3Fl/7STLoRs1aAh7somM\nfM5JUV+6z//9kWcNIOutqw6fDht+/dLsw0hp+8iw9vnVEsdZeaoSRBtY25F4\nkV+V5p39/MLOUGGm5+BF7PWFCBqZC4gwZmFo1HcDM2MJAbZYlzN7ndMQ4Lby\nT3QPuqjrmlcR8eR+pareZFZvSC62Y3q3Z9KE9UwoSGn5zucPZ1f4PfrHqhmg\nPmJ2laHVLy5zYg2JZBbXk1YEGeut5adwfM4o6CBfEMGDv1uxcsySsFSgoV62\n0kPzJgoG/qEpTGEU8B47guz9WZIBTIID8fEi0YmRwzmSIxCLxajxmCewZlHf\n1IIjaYE6oGUxhS5I5pKDv+4uIEytLTsmmQvMBY/2cweVx2ppp8Gn1m/GDLro\nZv8Az81j9fKBN64ZA19ugLP/+LF88qlp0HGoEoaCkWYJX1tfh/ehzQuz6ZeJ\nWLL4gx8YTOse1PDhCpTf7Hnwj50L47F7yyxH5KPfF2qXVLJ9yvrI2+UvZ1Ad\n56tCuDeQZQmD2sYrD0sPYSMLOtrWHcfePeqoLMMHCePWs9dazA/rTakEjkQA\nDsZjTmcF1D3T+oaPWiTcPdVMfmArBCvClJp+Vm+JGtkVDrAbUz0j2G0iQjut\nwIBG\r\n=HR9l\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID6qNezt1ltXFjhCtQfeUA+OFna7it5NZrmDR+gmDeedAiEAn6FQWqIROsLMK2oYKF0C1EXkdAmiaI69B8DZOeSOEqI="}]},"_npmUser":{"name":"john60676","email":"john60676@qq.com"},"directories":{},"maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-request_1.0.3_1615027722563_0.541272613308647"},"_hasShrinkwrap":false},"1.0.4":{"name":"vue-request","version":"1.0.4","description":"A request library for Vue 3","license":"MIT","keywords":["vue","vue3","swr","request","http","fetch","composition-api","axios","vue-request","vue request"],"repository":{"type":"git","url":"https://github.com/attojs/vue-request.git"},"main":"dist/index.cjs.js","module":"dist/index.es.js","unpkg":"dist/vue-request.min.js","types":"dist/types/index.d.ts","scripts":{"build":"yarn clean && rollup --config ./build/rollup.config.js","dev":"webpack serve --config ./build/webpack.config.js","clean":"rimraf dist/*","test":"jest --coverage","publishing":"np","changelog":"standard-version && standard-version -i CHANGELOG.zh-CN.md -o CHANGELOG.zh-CN.md","release":"yarn build && yarn publishing","lint":"eslint -c ./.eslintrc.js './{src,scripts,build}/**/*.{js,ts,tsx}'","format":"prettier -w '**/*.ts?(x)'","version":"yarn changelog"},"husky":{"hooks":{"pre-commit":"node ./scripts/preCommit.js && lint-staged","commit-msg":"commitlint -x @commitlint/config-conventional -e $HUSKY_GIT_PARAMS","pre-push":"yarn test --coverage=false"}},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint","prettier -c"]},"peerDependencies":{"vue":"^3.0.0"},"devDependencies":{"@babel/core":"^7.12.3","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.1","@babel/runtime-corejs3":"^7.12.5","@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/jest":"^26.0.15","@types/lodash":"^4.14.165","@types/mockjs":"^1.0.3","@typescript-eslint/eslint-plugin":"^4.8.2","@typescript-eslint/parser":"^4.8.2","@vue/babel-plugin-jsx":"^1.0.0-rc.3","@vue/compiler-sfc":"^3.0.6","@vue/test-utils":"^2.0.0-beta.8","axios":"^0.21.1","babel-jest":"^26.6.0","babel-loader":"^8.2.1","eslint":"^7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-vue":"^7.0.0-0","fetch-mock":"^9.10.7","html-webpack-plugin":"^4.5.0","husky":"^4.3.0","jest":"^26.6.0","jest-environment-jsdom-global":"^2.0.4","lint-staged":"^10.5.2","lodash":"^4.17.20","mockjs":"^1.1.0","node-fetch":"^2.6.1","np":"^7.0.0","prettier":"^2.2.0","rimraf":"^3.0.2","rollup":"^2.33.1","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","simple-git":"^2.21.0","standard-version":"^9.1.1","ts-jest":"^26.4.1","ts-loader":"^8.0.11","typescript":"^4.0.5","vue":"^3.0.2","vue-loader":"^16.1.2","webpack":"^5.4.0","webpack-cli":"^4.2.0","webpack-dev-server":"^3.11.0"},"licenseText":"MIT License\n\nCopyright (c) 2020 AttoJS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"vue-request@1.0.4","dist":{"shasum":"f24d26a6a40b65c30651fe146341491ec2969fb2","integrity":"sha512-rhE6mdytZP2gHlB1nJYC8G8LlQ8naaHPXc2hF6EjHjmeD9UTqmFRQp0fn/4GF2Gx/G/pQUj4bMqmEN/KkRE3jA==","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-1.0.4.tgz","fileCount":28,"unpackedSize":623025,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgRaLcCRA9TVsSAnZWagAAmuoP/2GXzJBBVUJSkm3spqwH\nbdxzpiqSvXC45uWe1xUfcN3ENz2gzaiKrCKCIdjmwKzwhgZduDecIvsn0Q5t\naX3qd7XnjBVoPDBmAMpWWxRvEfssg3qO4c2xkZYhhWG3kksrodC8SVWKpUwf\nJgJqKbEeXaiOZvGgPxQ5vzSsg6Nd8ws/On4QoSvtZITKQcWPkvfXeNA9a7ZO\n+oZKEnP0aooRxPDGxkPEOTL4I1AtKSzi2NDDfht2lvb4OxMZySxmsmSY69ED\nlyxo/ZHiuoX4DSNHQLZ3AzKGE/E4Lz6/L99V4ELk8D6OLLl8aRgTMWcNNhlB\nDTTM9Go/Mnt/wPaL22waqXF+iZ6daWS/sFCaH4wRBNfcs+afIH1a5KcqZPmx\njT9C40AhJ/mtAeQjDJ/GK4WZ2CIUqn12WEGF2yjktZTfQ8ky0pBu2aEoVsM9\nBUbTNAfSlBPbczxHFZZeIrM4ZYZV2t4ZIEY22Se1yRtDLvWrAMBSIgp2UYA5\nap7BveuhFTxHoIoLj+7JbHeq5c47Uz8JRe+/p7QkLgk9hU7nmeiskD67Itul\n0QglWdtyTCp98HT2cfp0S0zLqStbGvzhrJWK5YSAQ1OamYGJvg9AOtySiHqw\nFJ7kuSDY/JeMmIB+fbQTHGoY1vjWIX3gLy6vSO9Rz7KRUXCCWmMOAT/PzTES\nw7x4\r\n=rj3Q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBghB0FTy01BtqBvm0TeWvQzbVlPncdTkflS3I/XEK3/AiEAjHuaE7u8QVKE3TpX9kkZVPrnlcx4UYwVtyHBjjnNx/E="}]},"_npmUser":{"name":"john60676","email":"john60676@qq.com"},"directories":{},"maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-request_1.0.4_1615176411912_0.2442121565432287"},"_hasShrinkwrap":false},"1.0.5":{"name":"vue-request","version":"1.0.5","description":"Vue 3 composition API for data fetching, supports SWR, polling, error retry, cache request, pagination and other cool features.","license":"MIT","keywords":["vue","vue3","swr","request","http","fetch","composition-api","axios","vue-request","vue request"],"repository":{"type":"git","url":"https://github.com/attojs/vue-request.git"},"bugs":{"url":"https://github.com/attojs/vue-request/issues"},"homepage":"https://www.attojs.org/","main":"dist/index.cjs.js","module":"dist/index.es.js","unpkg":"dist/vue-request.min.js","types":"dist/types/index.d.ts","scripts":{"build":"yarn clean && rollup --config ./build/rollup.config.js","dev":"webpack serve --config ./build/webpack.config.js","clean":"rimraf dist/*","test":"jest --coverage","publishing":"np","changelog":"standard-version && standard-version -i CHANGELOG.zh-CN.md -o CHANGELOG.zh-CN.md","release":"yarn build && yarn publishing","lint":"eslint -c ./.eslintrc.js './{src,scripts,build}/**/*.{js,ts,tsx}'","format":"prettier -w '**/*.ts?(x)'","version":"yarn changelog"},"husky":{"hooks":{"pre-commit":"node ./scripts/preCommit.js && lint-staged","commit-msg":"commitlint -x @commitlint/config-conventional -e $HUSKY_GIT_PARAMS","pre-push":"yarn test --coverage=false"}},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint","prettier -c"]},"peerDependencies":{"vue":"^3.0.0"},"devDependencies":{"@babel/core":"^7.12.3","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.1","@babel/runtime-corejs3":"^7.12.5","@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/jest":"^26.0.15","@types/lodash":"^4.14.165","@types/mockjs":"^1.0.3","@typescript-eslint/eslint-plugin":"^4.8.2","@typescript-eslint/parser":"^4.8.2","@vue/babel-plugin-jsx":"^1.0.0-rc.3","@vue/compiler-sfc":"^3.0.6","@vue/test-utils":"^2.0.0-beta.8","axios":"^0.21.1","babel-jest":"^26.6.0","babel-loader":"^8.2.1","eslint":"^7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-vue":"^7.0.0-0","fetch-mock":"^9.10.7","html-webpack-plugin":"^4.5.0","husky":"^4.3.0","jest":"^26.6.0","jest-environment-jsdom-global":"^2.0.4","lint-staged":"^10.5.2","lodash":"^4.17.20","mockjs":"^1.1.0","node-fetch":"^2.6.1","np":"^7.0.0","prettier":"^2.2.0","rimraf":"^3.0.2","rollup":"^2.33.1","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","simple-git":"^2.21.0","standard-version":"^9.1.1","ts-jest":"^26.4.1","ts-loader":"^8.0.11","typescript":"^4.0.5","vue":"^3.0.2","vue-loader":"^16.1.2","webpack":"^5.4.0","webpack-cli":"^4.2.0","webpack-dev-server":"^3.11.0"},"licenseText":"MIT License\n\nCopyright (c) 2020 AttoJS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"vue-request@1.0.5","dist":{"shasum":"91c754f53d559694b9b52b576b9db2a2a164a07d","integrity":"sha512-XKgYTATiF/wWQ+RXtaorwMnkZCytoP665hOVq5VNnBpBvDPkq5P28UbpVxQ7BZ4en8v+VV2YXgSdTdqFgy0qUg==","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-1.0.5.tgz","fileCount":28,"unpackedSize":625046,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgWFFaCRA9TVsSAnZWagAACTsQAJhs+ElougfRKxBQzTEa\njXb3IHmosF10o82WXRRk9eugP+8lsnUxaQhRd+NRI43wUeMfbjGqVgWXeNgw\nWljBMqSdypkj8uDISbNDBsoFlvjKwGaCYo6LD9VfsuwzG4lXCxM9EUcV1QoD\nGH2nsgzBGGLsgsDt/PacDG460pBFw1wCDbcZlZaSABZnIK880ZVY4X2hBnEC\nOpdR4bnOTEBi6AfRYgZYhVQrRUfAgHj2CkM607NOSHU785q5zrW7jnqKrliL\nuQKECE2PexPY3syJ0P4Ivl1KEfSbDaaOBZ8wdEkM1e2+8eEOKtyxyTdz4+rl\nCOI6Z1MOiJ/W6yjJ5DdxSexznbYLM+hI7j/reCA2f0IYehdJN9nJInY/Ibnq\nYTYHOeAo9Ev/l8NDCSvcy3c+fOQ4qmo3RuZoS/DAUv++HytQx1Z/wYCzj80t\ncahYU4hP9yFnqPjmfUwOLhpMWXAnQTqbFdoH5QRKe5YF/iGv38/jQmckdRnX\nZmM6pewYqZif/tUuw2cp3Zzxnqc9AHllda3HqgRGD3fYWH+5TUoABXNZqlsS\n13QnX9poA0//grR5V1uuoz5oyi+7zhdAUmyjdA+/dBldoDEe+9p+CXzqEoL/\nxf95gdemuOd43e/XcHvodvmVgHzwhzzOzLD5YcEpjdiIbqg49rMEN+wtaP8C\nfqqi\r\n=b28i\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDlkonMnNMfNhy3msgP0CfHRoCJ7wR0YVzwdFOjfto5jwIgPaGrbjjlPcEIY4CB8MrRu80h0e4zwgeH0SPIOWPjooI="}]},"_npmUser":{"name":"john60676","email":"john60676@qq.com"},"directories":{},"maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-request_1.0.5_1616400729510_0.8214817513606176"},"_hasShrinkwrap":false},"1.1.0":{"name":"vue-request","version":"1.1.0","description":"Vue 3 composition API for data fetching, supports SWR, polling, error retry, cache request, pagination and other cool features.","license":"MIT","keywords":["vue","vue3","swr","request","http","fetch","composition-api","axios","vue-request","vue request"],"repository":{"type":"git","url":"https://github.com/attojs/vue-request.git"},"bugs":{"url":"https://github.com/attojs/vue-request/issues"},"homepage":"https://www.attojs.org/","main":"dist/index.cjs.js","module":"dist/index.es.js","unpkg":"dist/vue-request.min.js","types":"dist/types/index.d.ts","scripts":{"build":"yarn clean && rollup --config ./build/rollup.config.js","dev":"yarn vite ./example","clean":"rimraf dist/*","test":"jest --coverage","publishing":"np","changelog":"standard-version && standard-version -i CHANGELOG.zh-CN.md -o CHANGELOG.zh-CN.md","release":"yarn build && yarn publishing","lint":"eslint -c ./.eslintrc.js './{src,scripts,build}/**/*.{js,ts,tsx}'","format":"prettier -w '**/*.ts?(x)'","version":"yarn changelog","vite":"vite --config ./build/vite.config.ts"},"husky":{"hooks":{"pre-commit":"node ./scripts/preCommit.js && lint-staged","commit-msg":"commitlint -x @commitlint/config-conventional -e $HUSKY_GIT_PARAMS","pre-push":"yarn test --coverage=false"}},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint","prettier -c"]},"peerDependencies":{"vue":"^3.0.0"},"devDependencies":{"@babel/core":"^7.12.3","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.1","@babel/runtime-corejs3":"^7.12.5","@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/jest":"^26.0.15","@types/lodash":"^4.14.165","@types/mockjs":"^1.0.3","@typescript-eslint/eslint-plugin":"^4.8.2","@typescript-eslint/parser":"^4.8.2","@vitejs/plugin-vue":"^1.2.1","@vitejs/plugin-vue-jsx":"^1.1.3","@vue/babel-plugin-jsx":"^1.0.0-rc.3","@vue/compiler-sfc":"^3.0.6","@vue/test-utils":"^2.0.0-beta.8","axios":"^0.21.1","babel-jest":"^26.6.0","eslint":"^7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-vue":"^7.0.0-0","fetch-mock":"^9.10.7","husky":"^4.3.0","jest":"^26.6.0","jest-environment-jsdom-global":"^2.0.4","lint-staged":"^10.5.2","lodash":"^4.17.20","mockjs":"^1.1.0","node-fetch":"^2.6.1","np":"^7.0.0","prettier":"^2.2.0","rimraf":"^3.0.2","rollup":"^2.33.1","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","simple-git":"^2.21.0","standard-version":"^9.1.1","ts-jest":"^26.4.1","typescript":"^4.0.5","vite":"^2.1.5","vue":"^3.0.2"},"licenseText":"MIT License\n\nCopyright (c) 2020 AttoJS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"vue-request@1.1.0","dist":{"shasum":"612fd076160a7561b2b681daf9684a17ceff27bd","integrity":"sha512-XYjhT4MDjWfmDvH76YIwrc/CdFtL+a3pACrQg1fn329eC9QFfafwNjoE0DK20XxPZ+YRo7TLUI/rYtFUlp0+pA==","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-1.1.0.tgz","fileCount":28,"unpackedSize":697761,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfUKZCRA9TVsSAnZWagAAmIAQAJA5qBMjaNG7HJzKfqdN\n3mvbKrL11DBw+mfeweiWm8f1cISwylr5O4cHW64Uydsd9bCuXpQYyMMWmYbA\nPIuXjHnQqVA3H49PiZXjgbDei4VNTkCJ8Rii/6IN5fI7pMYg1sCaUpoY0JN0\nmyYcftFCq/G1W2jsR4OOVK3Cfc2bbGE+N2IkbdhYVsrNMF4KQlHf2vctxcFH\n5IQbk8xu6yEAuIky3iSUg/9MMR12IpwMt2D/56UZb4Y5n6xkyfCcxKMfNUHz\n64E3QjCwWpU9tFENla8LLtaVuxWGrdjljB9Klan38T8+aBaKeIsplbQHFGrQ\n9bZyiFFaxbS3IdgsXm2im2bpIzZHiJx5xvmJAnxUhqsiiQqvuya96ndDJ2yJ\n8QQDq1aigtk63kp1y1X8M76QheXF+O9UYlvmprlzpSqj6W096TeCYrcWG/WF\nB7jdyb5DGHCBAhFpnhW4rocv8GPn2kRzWFIgxnh7MoIObXIyaPA5gJxykNDa\n1ilQu2IaPsk1kDBUnnDs0PzbRsiUhzug7IBMc007KPO4RqlZ/DG76m5KURVY\nKhxTu4kfS83Lk7bunH+BAqjBRa/LlJ2SF9IjnGAP8lgD1i3p856PJkLCsKeg\nqinA79GHhr4BrDftYHsd1bbpmJgDvqcteSXkrkfIZHLSzcWp1x89uOEQHWF+\nsruH\r\n=PXg4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD7mtJhPuHWuqngw+8zvTT/xypKgPDGSYRsbnI6fCqoUwIgD8VQUDIKu4s1xrqC5Ax83SNOpVaipcd4B0LDHrD7Q5M="}]},"_npmUser":{"name":"john60676","email":"john60676@qq.com"},"directories":{},"maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-request_1.1.0_1618821784966_0.15041895889403545"},"_hasShrinkwrap":false},"1.1.1":{"name":"vue-request","version":"1.1.1","description":"Vue 3 composition API for data fetching, supports SWR, polling, error retry, cache request, pagination and other cool features.","license":"MIT","keywords":["vue","vue3","swr","request","http","fetch","composition-api","axios","vue-request","vue request"],"repository":{"type":"git","url":"https://github.com/attojs/vue-request.git"},"bugs":{"url":"https://github.com/attojs/vue-request/issues"},"homepage":"https://www.attojs.org/","main":"dist/index.cjs.js","module":"dist/index.es.js","unpkg":"dist/vue-request.min.js","types":"dist/types/index.d.ts","scripts":{"build":"yarn clean && rollup --config ./build/rollup.config.js","dev":"yarn vite ./example","clean":"rimraf dist/*","test":"jest --coverage","publishing":"np","changelog":"standard-version && standard-version -i CHANGELOG.zh-CN.md -o CHANGELOG.zh-CN.md","release":"yarn build && yarn publishing","lint":"eslint -c ./.eslintrc.js './{src,scripts,build}/**/*.{js,ts,tsx}'","format":"prettier -w '**/*.ts?(x)'","vite":"vite --config ./build/vite.config.ts"},"husky":{"hooks":{"pre-commit":"node ./scripts/preCommit.js && lint-staged","commit-msg":"commitlint -x @commitlint/config-conventional -e $HUSKY_GIT_PARAMS","pre-push":"yarn test --coverage=false"}},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint","prettier -c"]},"peerDependencies":{"vue":"^3.0.0"},"devDependencies":{"@babel/core":"^7.12.3","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.1","@babel/runtime-corejs3":"^7.12.5","@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/jest":"^26.0.15","@types/lodash":"^4.14.165","@types/mockjs":"^1.0.3","@typescript-eslint/eslint-plugin":"^4.8.2","@typescript-eslint/parser":"^4.8.2","@vitejs/plugin-vue":"^1.2.1","@vitejs/plugin-vue-jsx":"^1.1.3","@vue/babel-plugin-jsx":"^1.0.0-rc.3","@vue/compiler-sfc":"^3.0.6","@vue/test-utils":"^2.0.0-beta.8","axios":"^0.21.1","babel-jest":"^26.6.0","eslint":"^7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-vue":"^7.0.0-0","fetch-mock":"^9.10.7","husky":"^4.3.0","jest":"^26.6.0","jest-environment-jsdom-global":"^2.0.4","lint-staged":"^10.5.2","lodash":"^4.17.20","mockjs":"^1.1.0","node-fetch":"^2.6.1","np":"^7.0.0","prettier":"^2.2.0","rimraf":"^3.0.2","rollup":"^2.33.1","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","simple-git":"^2.21.0","standard-version":"^9.1.1","ts-jest":"^26.4.1","typescript":"^4.0.5","vite":"^2.1.5","vue":"^3.0.2"},"licenseText":"MIT License\n\nCopyright (c) 2020 AttoJS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"vue-request@1.1.1","dist":{"shasum":"735cb9476875bfd8f6e3e978cb5a1bf81ea92e4d","integrity":"sha512-xl+SKjpY209OP2bT1Xyv/HyLjKbC69kyrgVMQEUspUsGgD4GYQW0KzDXkBIZIKJ8xzwLjWN9dOG0ZynmqBH2kA==","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-1.1.1.tgz","fileCount":28,"unpackedSize":696695,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgiSx7CRA9TVsSAnZWagAAS5sQAIFTts+zSWolPIroeSEZ\n5CJ19KDssSxrRH385sn2ZxQRowMBGLjmdsem877P08WTwYl9EVEFZ62qv06T\nYor8AgDITalQg2+gVyu1VMly25Q4VLExGyoFlzfOs7Rxk+rKB6uAxZJ4XKIE\nRuZxiFMx+9piApvVK0urdaQSkRvsb4n+bL+QFP0/RTiNwQyBuRgYSgRGS/Vb\nnA86jqdsQ9Ag9G/wYOq+YMXq/0PSSXlto/4uGgJQJAZbVb+mNbV6gdts3vNM\n9d1L+IqdHym3n5qp3+R90Ykx5rd2rIRuip+K/zoCIdwNN5mCuqFK1oAyudBv\nTZDF+kAOj405nsoMIPPUp4sU34ZKaFT4jp5SLImvOa6GyasRaZmQNHF5VkFH\niMuSklvhFU8L55FU2d0hozOmMBxNMR4cO/VBXfgs5qh6YQHEOt/i1BO1To9f\nOOHv8y1kZy4r4rO9FuqdQBy5MTjmdmoUE1ThKnmMsnFc74jzmKSihQpQLLiW\nSfxcKU7dpU2kE4+J1PZfMoa8Scv14Epzls7Go7hSlTOQu+uwdwTEeQ9CVySA\nkspRxTnQRHs1a/WC8+VgtfpQe7yL1x+mhhfmYB73opwF/uI3j4kdashWhkB3\nBP6W2tKZJJs6adTQq6T2EyLY3eEzvEfhyUbhSEyCwK+OK4ndEeTHrBY/tn8P\nmnN9\r\n=4dRO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICpbBVB3yPotMxo+Ad3ruZ179o90ZzYwxR1EP+o8mVoMAiEA6z6qXYfg05sVZoNxAYLhVYzayfImVfn0zprChI8AUvY="}]},"_npmUser":{"name":"john60676","email":"john60676@qq.com"},"directories":{},"maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-request_1.1.1_1619602554687_0.5902735610151326"},"_hasShrinkwrap":false},"1.2.0":{"name":"vue-request","version":"1.2.0","description":"Vue 3 composition API for data fetching, supports SWR, polling, error retry, cache request, pagination and other cool features.","license":"MIT","keywords":["vue","vue3","swr","request","http","fetch","composition-api","axios","vue-request","vue request"],"repository":{"type":"git","url":"https://github.com/attojs/vue-request.git"},"bugs":{"url":"https://github.com/attojs/vue-request/issues"},"homepage":"https://www.attojs.org/","main":"dist/index.cjs.js","module":"dist/index.es.js","unpkg":"dist/vue-request.min.js","types":"dist/types/index.d.ts","scripts":{"build":"yarn clean && rollup --config ./build/rollup.config.js","dev":"yarn vite ./example","clean":"rimraf dist/*","test":"jest --coverage","publishing":"np","changelog":"standard-version && standard-version -i CHANGELOG.zh-CN.md -o CHANGELOG.zh-CN.md","release":"yarn build && yarn publishing","lint":"eslint -c ./.eslintrc.js './{src,scripts,build}/**/*.{js,ts,tsx}'","format":"prettier -w '**/*.ts?(x)'","vite":"vite --config ./build/vite.config.ts"},"husky":{"hooks":{"pre-commit":"node ./scripts/preCommit.js && lint-staged","commit-msg":"commitlint -x @commitlint/config-conventional -e $HUSKY_GIT_PARAMS","pre-push":"yarn test --coverage=false"}},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint","prettier -c"]},"peerDependencies":{"vue":"^3.0.0"},"devDependencies":{"@babel/core":"^7.12.3","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.1","@babel/runtime-corejs3":"^7.12.5","@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/jest":"^26.0.15","@types/mockjs":"^1.0.3","@typescript-eslint/eslint-plugin":"^4.8.2","@typescript-eslint/parser":"^4.8.2","@vitejs/plugin-vue":"^1.2.1","@vitejs/plugin-vue-jsx":"^1.1.3","@vue/babel-plugin-jsx":"^1.0.0-rc.3","@vue/compiler-sfc":"^3.0.6","@vue/test-utils":"^2.0.0-beta.8","axios":"^0.21.1","babel-jest":"^26.6.0","eslint":"^7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-vue":"^7.0.0-0","fetch-mock":"^9.10.7","husky":"^4.3.0","jest":"^26.6.0","jest-environment-jsdom-global":"^2.0.4","lint-staged":"^10.5.2","mockjs":"^1.1.0","node-fetch":"^2.6.1","np":"^7.0.0","prettier":"^2.2.0","rimraf":"^3.0.2","rollup":"^2.33.1","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","simple-git":"^2.21.0","standard-version":"^9.1.1","ts-jest":"^26.4.1","typescript":"^4.0.5","vite":"^2.1.5","vue":"^3.0.2"},"licenseText":"MIT License\n\nCopyright (c) 2020 AttoJS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"vue-request@1.2.0","dist":{"shasum":"ed4dd7d8657f03bd125a530e331c0243cdecc60f","integrity":"sha512-T8Q+ohkKeJJVd3VtO1uhjQiE2DBzlklCZtl5ErMFzgmoLbgRT4vDzUoAvUUsy2UQHFgIYDcKlCQ6BTpssE/XbQ==","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-1.2.0.tgz","fileCount":34,"unpackedSize":122863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgqMQcCRA9TVsSAnZWagAAf44P/REOWteJWdQvUcXoSZAg\nAlEGyrsk4u/29rtw98mWWY6j28C4Jv4VQKMl+Rmk0UxPEIQryFik6S2lt8AR\nspjG5JMj52eWjIDNTDhXsDkFw95D0wx+SM/A0Aqc+wWhK81rrMQPKLRUI3Nj\nqPC39jS+6jusgPRzygr0ky/4nbL+z+eRVLIi6u2c9ckSM3Ey0ijtO2rK9XLu\nT5OiyomDXQ7Z160ld2TKITEfna7FPCdMzXfZMp1/4dj9nWf7Bx6X4GZG/URD\nnexqprXkhMp+I9UxijN67bLCknCRXGbZ1+Jeu17VPsQkeQ76Ty3R+wckMtY2\nfDfSU2kYKB6rzOGeEt5Srw/e68nbn/L+5zfo0lBFSak0mjQdjC/5tnZEbAbu\nTa3MrMz9CAkOeVPT3l8eXhZqpSn73yLrB7hiqY5vJ02MpBmwvnVmtQMFo9zd\nnHmvbXDr83EDtW0NkJkxKlHKmnc1ncM32IesyzrEWA9V51wSDLYFjO+rSoHu\nqO+vfjY7BjgX8BiB/I2B31Czr+e8MR7y+JmypOHauTr7KeBP2I7AzogbGWHw\nMPxBR49RDZ6cL79iceQds866c/mOXpTeuZhLGjDxFR8BbETObx4HCSWht3Af\nNXVbIF7n5/sq/V/Wog6kYVA7OHhcJKI8xVBxZxlxYeKhhoR0FEJY0SuHfY0K\nwZD7\r\n=kNTJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC3p/Z8gj9QY3vMiOELvCWDHGK9bCNR6a9sJ3DU9ra+OAiEA5fiutVuhdV9lmsyqoJd8OAZYIl9K+SdIbVz80QPqmiM="}]},"_npmUser":{"name":"john60676","email":"john60676@qq.com"},"directories":{},"maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-request_1.2.0_1621672987759_0.5287695754567308"},"_hasShrinkwrap":false},"1.2.1":{"name":"vue-request","version":"1.2.1","description":"Vue 3 composition API for data fetching, supports SWR, polling, error retry, cache request, pagination and other cool features.","keywords":["vue","vue3","swr","request","http","fetch","composition-api","axios","vue-request","vue request"],"homepage":"https://www.attojs.org/","bugs":{"url":"https://github.com/attojs/vue-request/issues"},"repository":{"type":"git","url":"https://github.com/attojs/vue-request.git"},"license":"MIT","main":"dist/index.cjs.js","unpkg":"dist/vue-request.min.js","module":"dist/index.es.js","types":"dist/types/index.d.ts","scripts":{"build":"yarn clean && rollup --config ./build/rollup.config.js","dev":"yarn vite ./example","clean":"rimraf dist/*","test":"jest --coverage","publishing":"np","changelog":"standard-version && standard-version -i CHANGELOG.zh-CN.md -o CHANGELOG.zh-CN.md","release":"yarn build && yarn publishing","lint":"eslint -c ./.eslintrc.js './{src,scripts,build}/**/*.{js,ts,tsx}'","format":"prettier -w '**/*.ts?(x)'","vite":"vite --config ./build/vite.config.ts"},"husky":{"hooks":{"pre-commit":"node ./scripts/preCommit.js && lint-staged","commit-msg":"commitlint -x @commitlint/config-conventional -e $HUSKY_GIT_PARAMS","pre-push":"yarn test --coverage=false"}},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint --fix"],"package.json":"sort-package-json"},"devDependencies":{"@babel/core":"^7.12.3","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.1","@babel/runtime-corejs3":"^7.12.5","@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/jest":"^26.0.15","@types/mockjs":"^1.0.3","@typescript-eslint/eslint-plugin":"^4.8.2","@typescript-eslint/parser":"^4.8.2","@vitejs/plugin-vue":"^1.2.1","@vitejs/plugin-vue-jsx":"^1.1.3","@vue/babel-plugin-jsx":"^1.0.0-rc.3","@vue/compiler-sfc":"^3.0.6","@vue/test-utils":"^2.0.0-beta.8","axios":"^0.21.1","babel-jest":"^26.6.0","eslint":"^7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-simple-import-sort":"^7.0.0","eslint-plugin-vue":"^7.0.0-0","fetch-mock":"^9.10.7","husky":"^4.3.0","jest":"^26.6.0","jest-environment-jsdom-global":"^2.0.4","lint-staged":"^10.5.2","mockjs":"^1.1.0","node-fetch":"^2.6.1","np":"^7.0.0","prettier":"^2.2.0","rimraf":"^3.0.2","rollup":"^2.33.1","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","simple-git":"^2.21.0","sort-package-json":"^1.50.0","standard-version":"^9.1.1","ts-jest":"^26.4.1","typescript":"^4.0.5","vite":"^2.1.5","vue":"^3.0.2"},"peerDependencies":{"vue":"^3.0.0"},"licenseText":"MIT License\n\nCopyright (c) 2020 AttoJS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"vue-request@1.2.1","dist":{"shasum":"075437429110688b760db161a1dd27be8c20121f","integrity":"sha512-gwS1J2/fBhJA93I0bcos3FXyI0oHLLRENBKvubtP7iIREJjYevOXIiEF8Le/gBBGxzUQKOG5i9eeHMLU2F6w5g==","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-1.2.1.tgz","fileCount":35,"unpackedSize":125688,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICRZezyS3NjXPfRKibu4Nos2iYbsWf9BKojS1UVRr0XaAiEArmMIiEw+p/bY6xdq1A65UaMlqs8erKpLIOMpQXkVTqM="}]},"_npmUser":{"name":"john60676","email":"john60676@qq.com"},"directories":{},"maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-request_1.2.1_1633506396426_0.9482225288594908"},"_hasShrinkwrap":false},"1.2.2":{"name":"vue-request","version":"1.2.2","description":"Vue 3 composition API for data fetching, supports SWR, polling, error retry, cache request, pagination and other cool features.","keywords":["vue","vue3","swr","request","http","fetch","composition-api","axios","vue-request","vue request"],"homepage":"https://www.attojs.org/","bugs":{"url":"https://github.com/attojs/vue-request/issues"},"repository":{"type":"git","url":"https://github.com/attojs/vue-request.git"},"license":"MIT","main":"dist/index.cjs.js","unpkg":"dist/vue-request.min.js","module":"dist/index.es.js","types":"dist/types/index.d.ts","scripts":{"build":"yarn clean && rollup --config ./build/rollup.config.js","dev":"yarn vite ./example","clean":"rimraf dist/*","test":"jest --coverage","publishing":"np","changelog":"standard-version && standard-version -i CHANGELOG.zh-CN.md -o CHANGELOG.zh-CN.md","release":"yarn build && yarn publishing","lint":"eslint -c ./.eslintrc.js './{src,scripts,build}/**/*.{js,ts,tsx}'","format":"prettier -w '**/*.ts?(x)'","vite":"vite --config ./build/vite.config.ts"},"husky":{"hooks":{"pre-commit":"node ./scripts/preCommit.js && lint-staged","commit-msg":"commitlint -x @commitlint/config-conventional -e $HUSKY_GIT_PARAMS","pre-push":"yarn test --coverage=false"}},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint --fix"],"package.json":"sort-package-json"},"devDependencies":{"@babel/core":"^7.12.3","@babel/plugin-proposal-nullish-coalescing-operator":"^7.14.5","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.1","@babel/runtime-corejs3":"^7.12.5","@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/jest":"^26.0.15","@types/mockjs":"^1.0.3","@typescript-eslint/eslint-plugin":"^4.8.2","@typescript-eslint/parser":"^4.8.2","@vitejs/plugin-vue":"^1.2.1","@vitejs/plugin-vue-jsx":"^1.1.3","@vue/babel-plugin-jsx":"^1.0.0-rc.3","@vue/compiler-sfc":"^3.0.6","@vue/test-utils":"^2.0.0-beta.8","axios":"^0.21.1","babel-jest":"^26.6.0","eslint":"^7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-simple-import-sort":"^7.0.0","eslint-plugin-vue":"^7.0.0-0","fetch-mock":"^9.10.7","husky":"^4.3.0","jest":"^26.6.0","jest-environment-jsdom-global":"^2.0.4","lint-staged":"^10.5.2","mockjs":"^1.1.0","node-fetch":"^2.6.1","np":"^7.0.0","prettier":"^2.2.0","rimraf":"^3.0.2","rollup":"^2.33.1","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","simple-git":"^2.21.0","sort-package-json":"^1.50.0","standard-version":"^9.1.1","ts-jest":"^26.4.1","typescript":"^4.0.5","vite":"^2.1.5","vue":"^3.0.2"},"peerDependencies":{"vue":"^3.0.0"},"licenseText":"MIT License\n\nCopyright (c) 2020 AttoJS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"vue-request@1.2.2","dist":{"shasum":"0add938f8c07009c2fa1f4dcc2360ce9c3036d77","integrity":"sha512-q4ImX6q3xhqwO4Vorl1pgeBg7xUnk5sv0EtNHnZIkitkA5SQzuTA/A7O83OjpO2Bzo8bcbC5mPTuCOJ8qbo0ww==","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-1.2.2.tgz","fileCount":35,"unpackedSize":129451,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH+FRcpL2uB4SnQtctfqYOxQjNnQ7LDIy+08B1cLTdZUAiEAshogWJ9CbQm8x0ZNQOmC+tIYIWRIbGSpAQVo+cWn+3I="}]},"_npmUser":{"name":"john60676","email":"john60676@qq.com"},"directories":{},"maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-request_1.2.2_1633512348507_0.20950903233771911"},"_hasShrinkwrap":false},"1.2.3":{"name":"vue-request","version":"1.2.3","description":"Vue 3 composition API for data fetching, supports SWR, polling, error retry, cache request, pagination and other cool features.","keywords":["vue","vue3","swr","request","http","fetch","composition-api","axios","vue-request","vue request"],"homepage":"https://www.attojs.org/","bugs":{"url":"https://github.com/attojs/vue-request/issues"},"repository":{"type":"git","url":"https://github.com/attojs/vue-request.git"},"license":"MIT","main":"dist/index.cjs.js","unpkg":"dist/vue-request.min.js","module":"dist/index.es.js","types":"dist/types/index.d.ts","scripts":{"build":"yarn clean && rollup --config ./build/rollup.config.js","dev":"yarn vite ./example","clean":"rimraf dist/*","test":"jest --coverage","publishing":"np","changelog":"standard-version && standard-version -i CHANGELOG.zh-CN.md -o CHANGELOG.zh-CN.md","release":"yarn build && yarn publishing","lint":"eslint -c ./.eslintrc.js './{src,scripts,build}/**/*.{js,ts,tsx}'","format":"prettier -w '**/*.ts?(x)'","vite":"vite --config ./build/vite.config.ts"},"husky":{"hooks":{"pre-commit":"node ./scripts/preCommit.js && lint-staged","commit-msg":"commitlint -x @commitlint/config-conventional -e $HUSKY_GIT_PARAMS","pre-push":"yarn test --coverage=false"}},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint --fix"],"package.json":"sort-package-json"},"devDependencies":{"@babel/core":"^7.12.3","@babel/plugin-proposal-nullish-coalescing-operator":"^7.14.5","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.1","@babel/runtime-corejs3":"^7.12.5","@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/jest":"^26.0.15","@types/mockjs":"^1.0.3","@typescript-eslint/eslint-plugin":"^4.8.2","@typescript-eslint/parser":"^4.8.2","@vitejs/plugin-vue":"^1.2.1","@vitejs/plugin-vue-jsx":"^1.1.3","@vue/babel-plugin-jsx":"^1.0.0-rc.3","@vue/compiler-sfc":"^3.0.6","@vue/test-utils":"^2.0.0-beta.8","axios":"^0.21.1","babel-jest":"^26.6.0","eslint":"^7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-simple-import-sort":"^7.0.0","eslint-plugin-vue":"^7.0.0-0","fetch-mock":"^9.10.7","husky":"^4.3.0","jest":"^26.6.0","jest-environment-jsdom-global":"^2.0.4","lint-staged":"^10.5.2","mockjs":"^1.1.0","node-fetch":"^2.6.1","np":"^7.0.0","prettier":"^2.2.0","rimraf":"^3.0.2","rollup":"^2.33.1","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","simple-git":"^2.21.0","sort-package-json":"^1.50.0","standard-version":"^9.1.1","ts-jest":"^26.4.1","typescript":"^4.0.5","vite":"^2.1.5","vue":"^3.0.2"},"peerDependencies":{"vue":"^3.0.0"},"licenseText":"MIT License\n\nCopyright (c) 2020 AttoJS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"vue-request@1.2.3","dist":{"shasum":"bac6280bd0ee5d627916c16d522d9ef4fc1d205a","integrity":"sha512-Yo1KxKpucNZyv/angPv7S8q00MMhFi7mFyITVIIaNMzz6Mu7QrPfP1fIQOoupEqFK+dgbXa8M7/v+7UBPMrCMQ==","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-1.2.3.tgz","fileCount":35,"unpackedSize":130141,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh3Aa/CRA9TVsSAnZWagAA2lMP/AvZFo2OnxjXp7iSe7Ez\nokNrAMhPVeAR4lcEMN+T3dQ99WmvSx6LX4oFItLim8bNY2NpvXyefU19n+H4\nNcjCZvEQtKIY8oSXwuYxedvtgzccHIKiDcoQuuO+ucNDbkUUoQjty7ugw/B/\niCFIxeC/D7AEXFBLOf8+DtC6an8oANjFsvkAMIu9EUd+txgPfUVUHgD56OkM\nepB2/o9lIe377c4NsLqdax9o63A5eJYnghxwywBSxzN+h5pwHx2zYz2OU1lz\n1T99VAFiKugmPw9HhaikeYmdulXEF5vIDoAlNhUoV8KVhR4DXqGd0JBiVXtl\n/DsQDCmLnQXB99/i+oHJyc/LOXNC74gyPQjMIJkMwxcBdvRob1hJYTGB67rN\n+H/c2VfFatJp5wdSQjrtqlbkcOBWTV6iJDRNhrB+yNyrCJxFfM7OztGTgcyD\nB4XCJiZEM/ct6VLFN/1kZ5sgiE3GNZp1blYwGMcupHPF8zaovHAXtbT/Bgn1\nu+1XPzNkS6Z1NWwRMixFf1gMc0JM36hkZ07uxuo3b2tptUjObcPyZSjTN0Pp\nuHi+OD9NdtC2+8Nzndt57+HppyHko/RJ+qwKBB9LoxR8b0u5QDOhhLe5Svi5\njhat1nuBAMoDYrKZkPOojygB7mmVSeuP03lNClQsPCyaWJa5O8Y+7a/Ksnzz\nb3R7\r\n=SjrB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCceXkVKSeqC4RCGWx9i888hWe2+nqxjWqbtoWBL/HuEQIgcLlpyLChWRuvrrzaX3U4beC97ggcRHkqkDZWqehHC2o="}]},"_npmUser":{"name":"john60676","email":"john60676@qq.com"},"directories":{},"maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-request_1.2.3_1634046335559_0.8415101353085597"},"_hasShrinkwrap":false},"1.2.4-beta.0":{"name":"vue-request","version":"1.2.4-beta.0","description":"Vue 3 composition API for data fetching, supports SWR, polling, error retry, cache request, pagination and other cool features.","keywords":["vue","vue3","swr","request","http","fetch","composition-api","axios","vue-request","vue request"],"homepage":"https://www.attojs.org","bugs":{"url":"https://github.com/attojs/vue-request/issues"},"repository":{"type":"git","url":"git+https://github.com/attojs/vue-request.git"},"license":"MIT","main":"dist/index.cjs.js","unpkg":"dist/vue-request.min.js","module":"dist/index.es.js","types":"dist/types/index.d.ts","scripts":{"build":"yarn clean && rollup --config ./build/rollup.config.js","dev":"yarn vite ./example","clean":"rimraf dist/*","test":"jest --coverage","publishing":"np","changelog":"standard-version && standard-version -i CHANGELOG.zh-CN.md -o CHANGELOG.zh-CN.md","release":"yarn build && yarn publishing","lint":"eslint -c ./.eslintrc.js './{src,scripts,build}/**/*.{js,ts,tsx}'","format":"prettier -w '**/*.ts?(x)'","vite":"vite --config ./build/vite.config.ts"},"husky":{"hooks":{"pre-commit":"node ./scripts/preCommit.js && lint-staged","commit-msg":"commitlint -x @commitlint/config-conventional -e $HUSKY_GIT_PARAMS","pre-push":"yarn test --coverage=false"}},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint --fix"],"package.json":"sort-package-json"},"devDependencies":{"@babel/core":"^7.12.3","@babel/plugin-proposal-nullish-coalescing-operator":"^7.14.5","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.1","@babel/runtime-corejs3":"^7.12.5","@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/jest":"^26.0.15","@types/mockjs":"^1.0.3","@typescript-eslint/eslint-plugin":"^4.8.2","@typescript-eslint/parser":"^4.8.2","@vitejs/plugin-vue":"^1.2.1","@vitejs/plugin-vue-jsx":"^1.1.3","@vue/babel-plugin-jsx":"^1.0.0-rc.3","@vue/compiler-sfc":"^3.0.6","@vue/test-utils":"^2.0.0-beta.8","axios":"^0.21.1","babel-jest":"^26.6.0","eslint":"^7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-simple-import-sort":"^7.0.0","eslint-plugin-vue":"^7.0.0-0","fetch-mock":"^9.10.7","husky":"^4.3.0","jest":"^26.6.0","jest-environment-jsdom-global":"^2.0.4","lint-staged":"^10.5.2","mockjs":"^1.1.0","node-fetch":"^2.6.1","np":"^7.0.0","prettier":"^2.2.0","rimraf":"^3.0.2","rollup":"^2.33.1","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","simple-git":"^2.21.0","sort-package-json":"^1.50.0","standard-version":"^9.1.1","ts-jest":"^26.4.1","typescript":"^4.0.5","vite":"^2.1.5","vue":"^3.0.2"},"peerDependencies":{"vue":"^3.0.0"},"readme":"English | [简体中文](README-zh_CN.md)\n\n<p align=\"center\">\n  <a href=\"https://www.attojs.org\">\n    <img\n      width=\"150\"\n      src=\"https://raw.githubusercontent.com/AttoJS/art/master/vue-request-logo.png\"\n      alt=\"VueRequest logo\"\n    />\n  </a>\n</p>\n<h1 align=\"center\">VueRequest</h1>\n<div align=\"center\">\n  <p align=\"center\">⚡️ Vue 3 composition API for data fetching, supports SWR, polling, error retry, cache request, pagination, etc.</p>\n  <a href=\"https://codecov.io/github/attojs/vue-request?branch=master\">\n    <img\n      src=\"https://img.shields.io/codecov/c/github/attojs/vue-request?token=NW2XVQWGPP\"\n      alt=\"Coverage Status\"\n    />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/bundlephobia/minzip/vue-request/latest\" alt=\"Size\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/npm/v/vue-request\" alt=\"Version\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/github/languages/top/attojs/vue-request\" alt=\"Languages\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/npm/l/vue-request\" alt=\"License\" />\n  </a>\n  <a href=\"https://github.com/AttoJS/vue-request/stargazers\">\n    <img src=\"https://img.shields.io/github/stars/attojs/vue-request\" alt=\"Star\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/npm/dm/vue-request\" alt=\"Download\" />\n  </a>\n</div>\n\n## Why VueRequest\n\nIn the past projects, they were often confused by repeated implementations such as the management of the loading state, the requested throttling and debounce, the caching of request data, and pagination. Whenever we start a new project, we have to manually deal with the above problems, which will be a repetitive work, but also to ensure that the team is consistent.\n\nVueRequest aims to provide developers with a convenient and fast way to manage the state of the request API. In the development, save repetitive work, and it can be used only with a simple configuration, focusing on the core of the development project.\n\n## Features\n\n- 🚀 &nbsp;All data is reactive\n- 🔄 &nbsp;Interval polling\n- 🤖 &nbsp;Automatic error retry\n- 🗄 &nbsp;Built-in cache\n- 💧 &nbsp;Throttle and Debounce\n- ⚙️ &nbsp;Powerful pagination extension and load more extensions\n- 📠 &nbsp;Written in TypeScript\n- ⚡️ &nbsp;Compatible with Vite\n- 🍃 &nbsp;Lightweight\n- 📦 &nbsp;Out of the box\n\n## Documentation\n\n- [English](https://www.attojs.org/)\n- [中文文档](https://www.attojs.com/)\n\n## Install\n\nYou can install VueRequest with [NPM](https://www.npmjs.com/), [YARN](https://yarnpkg.com/), or a `<script>` via [unpkg.com](https://unpkg.com/)\n\n### NPM\n\n```sh\nnpm install vue-request\n# or\nyarn add vue-request\n```\n\n### CDN\n\n> For production, we recommend linking to a specific version number and build to avoid unexpected breakage from newer versions.\n\n```html\n<script src=\"https://unpkg.com/vue-request/dist/vue-request.min.js\"></script>\n```\n\nOnce you've added this you will have access to the `window.VueRequest` object and its exports.\n\n## Usage\n\n```vue\n<template>\n  <div>\n    <div v-if=\"loading\">loading...</div>\n    <div v-if=\"error\">failed to fetch</div>\n    <div v-if=\"data\">Hey! {{ data }}</div>\n  </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue';\nexport default defineComponent({\n  setup() {\n    const { data, loading, error } = useRequest(service);\n\n    return {\n      data,\n      loading,\n      error,\n    };\n  },\n});\n</script>\n```\n\nIn this example, `useRequest` accepts a `service` function. `service` is a asynchronous function. In other words, you can use **axios** to fetch data and return a **Promise**. More specific instructions can be viewed in [document](https://www.attojs.org/guide/documentation/dataFetching.html).\n\n`useRequest` also return 3 values: `data`, `loading` and `error`. When the request is not yet finished, data will be `undefined` and `loading` will be `true`. And when we get a response, it sets data and error based on the result of service and rerenders the component. This is because `data` and `error` are [Reactivity(Refs)](https://v3.vuejs.org/guide/reactivity-fundamentals.html), and their values will be set by the service response.\n\n## Some of the coolest features:\n\nVueRequest has many features, such as error retry, cache, pagination, throttle, debounce..., here are two cool features\n\n### 1.Refresh On Focus\n\nSometimes, you need to ensure data consistency between multiple browser windows; or when the user's computer is reactivated in the dormant state, the page data needs to be synchronized to the latest state. `refreshOnWindowFocus` may save you a lot of code. [Click here to go to the document](https://www.attojs.org/guide/documentation/refreshOnWindowFocus.html)\n\n```ts\nconst { data, error, run } = useRequest(getUserInfo, {\n  refreshOnWindowFocus: true,\n  refocusTimespan: 1000, // refresh interval 1s\n});\n```\n\n![vue-request](https://z3.ax1x.com/2021/09/10/hXAs8s.gif)\n\n### 2.Polling Data\n\nSometimes, you want to ensure that data is synchronized and updated between multiple devices. At this time, we can use the `pollingInterval` provided by us to periodically re-request the request API, so that the data consistency between multiple devices can be guaranteed. When the user modifies the data, the two windows will be updated simultaneously in real time. [Click here to go to the document](https://www.attojs.org/guide/documentation/polling.htm)\n\n```ts\nconst { data, error, run } = useRequest(getUserInfo, {\n  pollingInterval: 1000, // polling interval 1s\n});\n```\n\n![vue-request](https://z3.ax1x.com/2021/09/10/hXAy2n.gif)\n\n## TODO List\n\nIf you have any cool features, please submit an issue for discussion\n\n- [ ] Support Vue 2\n- [x] Documentation\n- [x] Pagination\n- [x] Load More\n\n## Thanks\n\nThank them for inspiring us.\n\n- [vercel/swr](https://github.com/vercel/swr)\n- [alibaba/hooks](https://ahooks.js.org/hooks/async#userequest)\n\n## License\n\n[MIT License](https://github.com/AttoJS/vue-request/blob/master/LICENSE) © 2020-present [AttoJS](https://github.com/AttoJS)\n","readmeFilename":"README.md","gitHead":"8b293ae9951f5f11e9fd970cf679c73ab57b1d21","_id":"vue-request@1.2.4-beta.0","_nodeVersion":"12.22.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-RcxshlNvDvwoLn0tbPk7C9NGb6a8Mazk3yFhh3f9BorO0MrU22EOQUpDX2KC5epnp3sa0Gr/fx3SsmMYVGVCkw==","shasum":"9cd30a63a20e249e1549e485ef4b7bef87881505","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-1.2.4-beta.0.tgz","fileCount":28,"unpackedSize":124124,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6NBwCRA9TVsSAnZWagAA2OsP/1tCKqhZfea0FHk9iuz7\neOq/SzqVc77WgVQtKiBtqoSUX9Ze5pIQm2l4AgvExvroGzhJUIxtjrfi53oo\nXwcm6ZlPy5xh/aX7UpixsMEDmLB3fmSQQ6zYhnilZkcgVg0ou01g2Q9NadlB\n1Q3OO0tFGIGZ8kbwfVfKYTAKBI2pxLw54M0fla71Xeh1g1zgdkQsVJ88hOUw\n9GmAck07DFr6pZfnxSXez/8QetTUDl/nr0kO7lRJ1THGGzE2dMyetO/Indvp\nAJogSmuNqgj/avsnym8cRsrAvZir5RSAXxKqv+aOJi0P5YgjyTDMN20K5d0v\nNG1YdObq6BDw4KKQFBBRAg2/KThWtpHOW6sQzMhgFd0AC621sxwe8Hjyr6uL\nFAGMHPtJkvYsEXwXi6UisRBAveSi3dVnV6ADuXCB+tQoYesBLpCmyGyV83a0\nfl4NuxWEZRDdlp9t9ES//RMDA8e89fFFr7JLXGSJoEcDB5T7DUCKI4EpkizZ\nYGin3FNzUwHCRR87hkdYTVz8htCBQhmISarYoX1o+7unzoHFXDd8n12ZTfc7\n8IPZLeYRdl3JN2sWAsQE+IvMPZrcdvOGqmER/ED3oxeTQ80ScI+6JzhUbKsV\nJBQymSj7c2t6ZpSYWgAWCrqcWOZTZBaDxLTJbmgK94T6/soEoJTeoGVW2K7u\neske\r\n=YIFK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCtzBcqLNp3M9WZce1S1eN+eibPAwRvcHiY0n3v5VdKRAIgUteOaK8B2x0KMKhPYmtoWi0P3MR7vZcugrQp3h/cmJE="}]},"_npmUser":{"name":"john60676","email":"john60676@qq.com"},"directories":{},"maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-request_1.2.4-beta.0_1642647664114_0.43156046325551767"},"_hasShrinkwrap":false},"1.2.4":{"name":"vue-request","version":"1.2.4","description":"Vue 3 composition API for data fetching, supports SWR, polling, error retry, cache request, pagination and other cool features.","keywords":["vue","vue3","swr","request","http","fetch","composition-api","axios","vue-request","vue request"],"homepage":"https://www.attojs.org/","bugs":{"url":"https://github.com/attojs/vue-request/issues"},"repository":{"type":"git","url":"https://github.com/attojs/vue-request.git"},"license":"MIT","main":"dist/index.cjs.js","unpkg":"dist/vue-request.min.js","module":"dist/index.es.js","types":"dist/types/index.d.ts","scripts":{"build":"yarn clean && rollup --config ./build/rollup.config.js","dev":"yarn vite ./example","clean":"rimraf dist/*","test":"jest --coverage","publishing":"np","changelog":"standard-version && standard-version -i CHANGELOG.zh-CN.md -o CHANGELOG.zh-CN.md","release":"yarn build && yarn publishing","lint":"eslint -c ./.eslintrc.js './{src,scripts,build}/**/*.{js,ts,tsx}'","format":"prettier -w '**/*.ts?(x)'","vite":"vite --config ./build/vite.config.ts"},"husky":{"hooks":{"pre-commit":"node ./scripts/preCommit.js && lint-staged","commit-msg":"commitlint -x @commitlint/config-conventional -e $HUSKY_GIT_PARAMS","pre-push":"yarn test --coverage=false"}},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint --fix"],"package.json":"sort-package-json"},"devDependencies":{"@babel/core":"^7.12.3","@babel/plugin-proposal-nullish-coalescing-operator":"^7.14.5","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.1","@babel/runtime-corejs3":"^7.12.5","@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/jest":"^26.0.15","@types/mockjs":"^1.0.3","@typescript-eslint/eslint-plugin":"^4.8.2","@typescript-eslint/parser":"^4.8.2","@vitejs/plugin-vue":"^1.2.1","@vitejs/plugin-vue-jsx":"^1.1.3","@vue/babel-plugin-jsx":"^1.0.0-rc.3","@vue/compiler-sfc":"^3.0.6","@vue/test-utils":"^2.0.0-beta.8","axios":"^0.21.1","babel-jest":"^26.6.0","eslint":"^7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-simple-import-sort":"^7.0.0","eslint-plugin-vue":"^7.0.0-0","fetch-mock":"^9.10.7","husky":"^4.3.0","jest":"^26.6.0","jest-environment-jsdom-global":"^2.0.4","lint-staged":"^10.5.2","mockjs":"^1.1.0","node-fetch":"^2.6.1","np":"^7.0.0","prettier":"^2.2.0","rimraf":"^3.0.2","rollup":"^2.33.1","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","simple-git":"^2.21.0","sort-package-json":"^1.50.0","standard-version":"^9.1.1","ts-jest":"^26.4.1","typescript":"^4.0.5","vite":"^2.1.5","vue":"^3.0.2"},"peerDependencies":{"vue":"^3.0.0"},"licenseText":"MIT License\n\nCopyright (c) 2020 AttoJS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"vue-request@1.2.4","dist":{"shasum":"02ab150cc2903605464e6efcb501c480d9dd536f","integrity":"sha512-i+i+6Fog6F8EtYUeueumzKS9Sg06CvjsMXH8TK0YSBxY4sDxIJ+snTEke5rLqiV9d19DTuJOxPQFjTBUpsMtXA==","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-1.2.4.tgz","fileCount":35,"unpackedSize":130359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6oOhCRA9TVsSAnZWagAAFPgP/2FAnYVLXDCqlSZiDZX/\nwIYF+v5rc7y8HNi6mYB44IpgXDbCR62/BhiwGeY/H4EKvMhnIK0McCtgaJCZ\nrDtqcO9BeKfst+PEc6x5CbQ/o1xm8ESRtaYbQqkQ/qaDu1GnDq6PN867XTel\n4I2YbnPqZgQSVf4teyMIHu71UcYqPaNR4ldSssgSEowLWv1ZtZXae3Y/h1B6\nFJGrZ4l+Jn2reTlv+8C4vM279OK1Gr0L8LJ5x+tu3/nXuEIzSv10jvdM4aVl\nJWwiYFcc7LUBysRwSGOyeKb9tCNLnxScb7EHBzxohQRYxrucWmVsD03Acvhm\nfpEQ6qUj42ePJiGdmcvTPEC/1AieS6kZCReU2dIY8PEc2DeZxlDz2Mb9qaUF\n0eaiMtbzEhR86jf0g39Lit8GyjmGEACl+BjV9vF9ONLIBqBgrxYNSpPfn/jq\nItKnZiACFhwipKni6zhtWQPgwOKDXMt4C30skcr23x6oPR8z2EOEuc+oMa8J\nKoCBnKgOvIS8iWrFJgTI8dRgVkL30N7Ul5iv8Q6VCiy88TuW/h68seVtjhhe\nc09oUCE3Fd5xebWDQWk+JoEmj6WoJr3eD+2Oao0wX4sQqqndyg9PgJ9eYKu8\n89Xg24dG2nCFDXkHkVU9Csopwe45PevFnZZFG8qBKo9zz736VeseFEq6za/o\n+V0d\r\n=o2jr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDBd8G6tYc2FHI1Ew1t/2iAsEmX71FBMdZQSzs9E54LIwIhALIepUuXfFFZPuPUYwSybgDW2zxkbG+lkdqeq3rfDzq7"}]},"_npmUser":{"name":"john60676","email":"john60676@qq.com"},"directories":{},"maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-request_1.2.4_1642759073524_0.024312813704105096"},"_hasShrinkwrap":false},"2.0.0-alpha.1":{"name":"vue-request","version":"2.0.0-alpha.1","description":"Vue composition API for data fetching, supports SWR, polling, error retry, cache request, pagination and other cool features.","keywords":["vue","vue3","vue2","swr","request","http","fetch","composition-api","vue-demi","axios","vue-request","vue request"],"homepage":"https://www.attojs.org/","bugs":{"url":"https://github.com/attojs/vue-request/issues"},"repository":{"type":"git","url":"https://github.com/attojs/vue-request/tree/next"},"license":"MIT","main":"dist/index.cjs.js","unpkg":"dist/vue-request.min.js","module":"dist/index.es.js","types":"dist/types/index.d.ts","scripts":{"build":"yarn switch:3 && yarn clean && yarn build:code && yarn build:types","build:code":"rollup --config ./build/rollup.config.js","build:types":"rollup --config ./build/rollup.config.types.js","dev":"yarn switch:3 && vite --config ./build/vite.config.ts ./examples/vue3","dev:2":"yarn switch:2 && vite --config ./build/vite-vue2.config.ts ./examples/vue2","test":"yarn test:3 && yarn test:2","test:3":"yarn switch:3 && jest --coverage","test:2":"yarn switch:2 && jest --coverage","switch:3":"vue-demi-switch 3 vue3","switch:2":"vue-demi-switch 2 vue2","clean":"rimraf dist/*","publishing":"np","changelog":"standard-version && standard-version -i CHANGELOG.zh-CN.md -o CHANGELOG.zh-CN.md","release":"yarn build && yarn publishing","lint":"eslint -c ./.eslintrc.js './{src,scripts,build}/**/*.{js,ts,tsx}'","format":"prettier -w '**/*.ts?(x)'","postinstall":"patch-package"},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint --fix"],"package.json":"sort-package-json"},"dependencies":{"vue-demi":"latest"},"devDependencies":{"@babel/core":"^7.12.3","@babel/plugin-proposal-nullish-coalescing-operator":"^7.14.5","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.1","@babel/runtime-corejs3":"^7.12.5","@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/jest":"^27.4.0","@types/mockjs":"^1.0.3","@types/node":"^17.0.16","@typescript-eslint/eslint-plugin":"^4.8.2","@typescript-eslint/parser":"^4.8.2","@vitejs/plugin-vue":"^1.2.1","@vitejs/plugin-vue-jsx":"^1.1.3","@vue/babel-plugin-jsx":"^1.0.0-rc.3","@vue/compiler-sfc":"^3.0.6","@vue/composition-api":"^1.4.6","axios":"^0.21.1","babel-jest":"^27.5.0","eslint":"^7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-simple-import-sort":"^7.0.0","eslint-plugin-vue":"^7.0.0-0","fetch-mock":"^9.10.7","husky":"^7.0.4","jest":"^27.5.0","jest-environment-jsdom-global":"^2.0.4","lint-staged":"^10.5.2","mockjs":"^1.1.0","node-fetch":"2","np":"^7.0.0","patch-package":"^6.4.7","prettier":"^2.2.0","rimraf":"^3.0.2","rollup":"^2.33.1","rollup-plugin-dts":"^4.2.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","simple-git":"^2.21.0","sort-package-json":"^1.50.0","standard-version":"^9.1.1","ts-jest":"^27.1.3","typescript":"^4.0.5","vite":"^2.1.5","vite-plugin-vue2":"^1.9.2","vue-template-compiler":"^2.6.14","vue2":"npm:vue@2","vue3":"npm:vue@3"},"peerDependencies":{"@vue/composition-api":"^1.0.0-rc.1","vue":"^2.0.0 || >=3.0.0"},"peerDependenciesMeta":{"@vue/composition-api":{"optional":true}},"readmeFilename":"README.md","readme":"English | [简体中文](README-zh_CN.md)\n\n<p align=\"center\">\n  <a href=\"https://www.attojs.org\">\n    <img\n      width=\"150\"\n      src=\"https://raw.githubusercontent.com/AttoJS/art/master/vue-request-logo.png\"\n      alt=\"VueRequest logo\"\n    />\n  </a>\n</p>\n<h1 align=\"center\">VueRequest</h1>\n<div align=\"center\">\n  <p align=\"center\">⚡️ Vue 3 composition API for data fetching, supports SWR, polling, error retry, cache request, pagination, etc.</p>\n  <a href=\"https://codecov.io/github/attojs/vue-request?branch=master\">\n    <img\n      src=\"https://img.shields.io/codecov/c/github/attojs/vue-request?token=NW2XVQWGPP\"\n      alt=\"Coverage Status\"\n    />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/bundlephobia/minzip/vue-request/latest\" alt=\"Size\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/npm/v/vue-request\" alt=\"Version\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/github/languages/top/attojs/vue-request\" alt=\"Languages\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/npm/l/vue-request\" alt=\"License\" />\n  </a>\n  <a href=\"https://github.com/AttoJS/vue-request/stargazers\">\n    <img src=\"https://img.shields.io/github/stars/attojs/vue-request\" alt=\"Star\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/npm/dm/vue-request\" alt=\"Download\" />\n  </a>\n</div>\n\n## Why VueRequest\n\nIn the past projects, they were often confused by repeated implementations such as the management of the loading state, the requested throttling and debounce, the caching of request data, and pagination. Whenever we start a new project, we have to manually deal with the above problems, which will be a repetitive work, but also to ensure that the team is consistent.\n\nVueRequest aims to provide developers with a convenient and fast way to manage the state of the request API. In the development, save repetitive work, and it can be used only with a simple configuration, focusing on the core of the development project.\n\n## Features\n\n- 🚀 &nbsp;All data is reactive\n- 🔄 &nbsp;Interval polling\n- 🤖 &nbsp;Automatic error retry\n- 🗄 &nbsp;Built-in cache\n- 💧 &nbsp;Throttle and Debounce\n- ⚙️ &nbsp;Powerful pagination extension and load more extensions\n- 📠 &nbsp;Written in TypeScript\n- ⚡️ &nbsp;Compatible with Vite\n- 🍃 &nbsp;Lightweight\n- 📦 &nbsp;Out of the box\n\n## Documentation\n\n- [English](https://www.attojs.org/)\n- [中文文档](https://www.attojs.com/)\n\n## Install\n\nYou can install VueRequest with [NPM](https://www.npmjs.com/), [YARN](https://yarnpkg.com/), or a `<script>` via [unpkg.com](https://unpkg.com/)\n\n### NPM\n\n```sh\nnpm install vue-request\n# or\nyarn add vue-request\n```\n\n### CDN\n\n> For production, we recommend linking to a specific version number and build to avoid unexpected breakage from newer versions.\n\n```html\n<script src=\"https://unpkg.com/vue-request/dist/vue-request.min.js\"></script>\n```\n\nOnce you've added this you will have access to the `window.VueRequest` object and its exports.\n\n## Usage\n\n```vue\n<template>\n  <div>\n    <div v-if=\"loading\">loading...</div>\n    <div v-if=\"error\">failed to fetch</div>\n    <div v-if=\"data\">Hey! {{ data }}</div>\n  </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue';\nexport default defineComponent({\n  setup() {\n    const { data, loading, error } = useRequest(service);\n\n    return {\n      data,\n      loading,\n      error,\n    };\n  },\n});\n</script>\n```\n\nIn this example, `useRequest` accepts a `service` function. `service` is a asynchronous function. In other words, you can use **axios** to fetch data and return a **Promise**. More specific instructions can be viewed in [document](https://www.attojs.org/guide/documentation/dataFetching.html).\n\n`useRequest` also return 3 values: `data`, `loading` and `error`. When the request is not yet finished, data will be `undefined` and `loading` will be `true`. And when we get a response, it sets data and error based on the result of service and rerenders the component. This is because `data` and `error` are [Reactivity(Refs)](https://v3.vuejs.org/guide/reactivity-fundamentals.html), and their values will be set by the service response.\n\n## Some of the coolest features:\n\nVueRequest has many features, such as error retry, cache, pagination, throttle, debounce..., here are two cool features\n\n### 1.Refresh On Focus\n\nSometimes, you need to ensure data consistency between multiple browser windows; or when the user's computer is reactivated in the dormant state, the page data needs to be synchronized to the latest state. `refreshOnWindowFocus` may save you a lot of code. [Click here to go to the document](https://www.attojs.org/guide/documentation/refreshOnWindowFocus.html)\n\n```ts\nconst { data, error, run } = useRequest(getUserInfo, {\n  refreshOnWindowFocus: true,\n  refocusTimespan: 1000, // refresh interval 1s\n});\n```\n\n![vue-request](https://z3.ax1x.com/2021/09/10/hXAs8s.gif)\n\n### 2.Polling Data\n\nSometimes, you want to ensure that data is synchronized and updated between multiple devices. At this time, we can use the `pollingInterval` provided by us to periodically re-request the request API, so that the data consistency between multiple devices can be guaranteed. When the user modifies the data, the two windows will be updated simultaneously in real time. [Click here to go to the document](https://www.attojs.org/guide/documentation/polling.htm)\n\n```ts\nconst { data, error, run } = useRequest(getUserInfo, {\n  pollingInterval: 1000, // polling interval 1s\n});\n```\n\n![vue-request](https://z3.ax1x.com/2021/09/10/hXAy2n.gif)\n\n## TODO List\n\nIf you have any cool features, please submit an issue for discussion\n\n- [ ] Support Vue 2\n- [x] Documentation\n- [x] Pagination\n- [x] Load More\n\n## Thanks\n\nThank them for inspiring us.\n\n- [vercel/swr](https://github.com/vercel/swr)\n- [alibaba/hooks](https://ahooks.js.org/hooks/async#userequest)\n\n## License\n\n[MIT License](https://github.com/AttoJS/vue-request/blob/master/LICENSE) © 2020-present [AttoJS](https://github.com/AttoJS)\n","licenseText":"MIT License\n\nCopyright (c) 2020 AttoJS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"vue-request@2.0.0-alpha.1","dist":{"shasum":"acb805b65f8ac23bb759d15967a70a89082d04df","integrity":"sha512-mxG22tRUxy68VSMsIimuKyAv+HAslWpHsV0HYIAUv4XtN1GUu8zTSFKLSGDoqxPCukiojq8c0LPQgfK7oNg1Kg==","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-2.0.0-alpha.1.tgz","fileCount":13,"unpackedSize":118912,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiQY84ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpoOg//ZLNfkT60rWhYI0xA0GXV3VfaDevpogiUdFDeMsD6DL1Stvc/\r\nt99eyt+hJ7cstZ7JHCCcUUfzOtqL1144LpJbCDOyBngnivwiJl0Alqt/3hwW\r\nPMZQVqPJSD85e1OUObb96H1k8IYnTHA33j7PuoZnQnl5tJjWblKcSiQ4inQ5\r\nHbSkXoaJaVFWT2cihFmKeEFYxruYpRkuwXxdwf+io+ncp19fQgXvk17B2Fp2\r\nan9nLrGhVVPmC2tQtl3tdKjheDNupX2NSQhJCvI6naIPKyNt+2zPFqE4Gl7n\r\nsjkZ4s+yxyuEmOxQM1yNgLCt97R7S4APLpvtdzmW6LFl0kJVwmGj/jrz7/pG\r\nf+53YqwrvASUJsmnfi11j6NZXWTr9wIHK0ZMPU9NZZHu78L9ipbxhTOPS7iA\r\niB76DMHv7w7IKnhnzXen/YbXqbmhqRLCoOFmeWEbLeHEnZhxPcbYq73D2Gju\r\nxKQXcIoVfSQQxL+FcylWq7AWHWlcljzrVl6iybVjeKhKhR0KdONRSj1pvhzW\r\n9uROTNh/wvuAbO6bA0jjZmXgd8l1bUFD66Ae4i9nsLwQx+12ojqwClTWLyn+\r\nFx/OZi8eOFd3xMflLBScCioY6LLfYwLGOTegIftm3GovkcJ0Otp382YfXuDu\r\nfgKlUTlnbyr7YWN8odYHJ1ad/tc56rooMas=\r\n=x6Wt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD11VaxD4WMXSxegrE8mB3Zy+HvDB2iN37op08JTDaD6QIhAJS/O0YSfLd/IxPMeh6on4KJb4y7cCp14AFaOqRYi1kR"}]},"_npmUser":{"name":"john60676","email":"john60676@qq.com"},"directories":{},"maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-request_2.0.0-alpha.1_1648463672622_0.21640769937271176"},"_hasShrinkwrap":false},"2.0.0-alpha.2":{"name":"vue-request","version":"2.0.0-alpha.2","description":"Vue composition API for data fetching, supports SWR, polling, error retry, cache request, pagination and other cool features.","keywords":["vue","vue3","vue2","swr","request","http","fetch","composition-api","vue-demi","axios","vue-request","vue request"],"homepage":"https://www.attojs.org/","bugs":{"url":"https://github.com/attojs/vue-request/issues"},"repository":{"type":"git","url":"https://github.com/attojs/vue-request/tree/next"},"license":"MIT","main":"dist/index.cjs.js","unpkg":"dist/vue-request.min.js","module":"dist/index.es.js","types":"dist/types/index.d.ts","scripts":{"build":"yarn switch:3 && yarn clean && yarn build:code && yarn build:types","build:code":"rollup --config ./build/rollup.config.js","build:types":"rollup --config ./build/rollup.config.types.js","dev":"yarn switch:3 && vite --config ./build/vite.config.ts ./examples/vue3","dev:2":"yarn switch:2 && vite --config ./build/vite-vue2.config.ts ./examples/vue2","test":"yarn test:3 && yarn test:2","test:3":"yarn switch:3 && jest --coverage","test:2":"yarn switch:2 && jest --coverage","switch:3":"vue-demi-switch 3 vue3","switch:2":"vue-demi-switch 2 vue2","clean":"rimraf dist/*","publishing":"np","changelog":"standard-version && standard-version -i CHANGELOG.zh-CN.md -o CHANGELOG.zh-CN.md","release":"yarn build && yarn publishing","lint":"eslint -c ./.eslintrc.js './{src,scripts,build}/**/*.{js,ts,tsx}'","format":"prettier -w '**/*.ts?(x)'","patch-package":"patch-package"},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint --fix"],"package.json":"sort-package-json"},"dependencies":{"vue-demi":"latest"},"devDependencies":{"@babel/core":"^7.12.3","@babel/plugin-proposal-nullish-coalescing-operator":"^7.14.5","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.1","@babel/runtime-corejs3":"^7.12.5","@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/jest":"^27.4.0","@types/mockjs":"^1.0.3","@types/node":"^17.0.16","@typescript-eslint/eslint-plugin":"^4.8.2","@typescript-eslint/parser":"^4.8.2","@vitejs/plugin-vue":"^1.2.1","@vitejs/plugin-vue-jsx":"^1.1.3","@vue/babel-plugin-jsx":"^1.0.0-rc.3","@vue/compiler-sfc":"^3.0.6","@vue/composition-api":"^1.4.6","axios":"^0.21.1","babel-jest":"^27.5.0","eslint":"^7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-simple-import-sort":"^7.0.0","eslint-plugin-vue":"^7.0.0-0","fetch-mock":"^9.10.7","husky":"^7.0.4","jest":"^27.5.0","jest-environment-jsdom-global":"^2.0.4","lint-staged":"^10.5.2","mockjs":"^1.1.0","node-fetch":"2","np":"^7.0.0","patch-package":"^6.4.7","prettier":"^2.2.0","rimraf":"^3.0.2","rollup":"^2.33.1","rollup-plugin-dts":"^4.2.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","simple-git":"^2.21.0","sort-package-json":"^1.50.0","standard-version":"^9.1.1","ts-jest":"^27.1.3","typescript":"^4.0.5","vite":"^2.1.5","vite-plugin-vue2":"^1.9.2","vue-template-compiler":"^2.6.14","vue2":"npm:vue@2","vue3":"npm:vue@3"},"peerDependencies":{"@vue/composition-api":"^1.0.0-rc.1","vue":"^2.0.0 || >=3.0.0"},"peerDependenciesMeta":{"@vue/composition-api":{"optional":true}},"readmeFilename":"README.md","readme":"English | [简体中文](README-zh_CN.md)\n\n<p align=\"center\">\n  <a href=\"https://www.attojs.org\">\n    <img\n      width=\"150\"\n      src=\"https://raw.githubusercontent.com/AttoJS/art/master/vue-request-logo.png\"\n      alt=\"VueRequest logo\"\n    />\n  </a>\n</p>\n<h1 align=\"center\">VueRequest</h1>\n<div align=\"center\">\n  <p align=\"center\">⚡️ Vue composition API for data fetching, supports SWR, polling, error retry, cache request, pagination, etc.</p>\n  <a href=\"https://codecov.io/github/attojs/vue-request?branch=master\">\n    <img\n      src=\"https://img.shields.io/codecov/c/github/attojs/vue-request?token=NW2XVQWGPP\"\n      alt=\"Coverage Status\"\n    />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/bundlephobia/minzip/vue-request/latest\" alt=\"Size\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/npm/v/vue-request\" alt=\"Version\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/github/languages/top/attojs/vue-request\" alt=\"Languages\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/npm/l/vue-request\" alt=\"License\" />\n  </a>\n  <a href=\"https://github.com/AttoJS/vue-request/stargazers\">\n    <img src=\"https://img.shields.io/github/stars/attojs/vue-request\" alt=\"Star\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/npm/dm/vue-request\" alt=\"Download\" />\n  </a>\n</div>\n\n## Status\n\n<span style=\"font-size: 40px\">Alpha</span>\n\n## Why VueRequest\n\nIn the past projects, they were often confused by repeated implementations such as the management of the loading state, the requested throttling and debounce, the caching of request data, and pagination. Whenever we start a new project, we have to manually deal with the above problems, which will be a repetitive work, but also to ensure that the team is consistent.\n\nVueRequest aims to provide developers with a convenient and fast way to manage the state of the request API. In the development, save repetitive work, and it can be used only with a simple configuration, focusing on the core of the development project.\n\n## Features\n\n- 🚀 &nbsp;All data is reactive\n- 🔄 &nbsp;Interval polling\n- 🤖 &nbsp;Automatic error retry\n- 🗄 &nbsp;Built-in cache\n- 💧 &nbsp;Throttle and Debounce\n- ⚙️ &nbsp;Powerful pagination extension and load more extensions\n- 📠 &nbsp;Written in TypeScript\n- ⚡️ &nbsp;Compatible with Vite\n- 🍃 &nbsp;Lightweight\n- 📦 &nbsp;Out of the box\n\n## Documentation\n\n- [English](https://www.attojs.org/)\n- [中文文档](https://www.attojs.com/)\n\n## Install\n\nYou can install VueRequest with [NPM](https://www.npmjs.com/), [YARN](https://yarnpkg.com/), or a `<script>` via [unpkg.com](https://unpkg.com/)\n\n### NPM\n\n```sh\nnpm install vue-request@next\n# or\nyarn add vue-request@next\n```\n\n### CDN\n\n> For production, we recommend linking to a specific version number and build to avoid unexpected breakage from newer versions.\n\n```html\n<script src=\"https://unpkg.com/vue-request/dist/vue-request.min.js\"></script>\n```\n\nOnce you've added this you will have access to the `window.VueRequest` object and its exports.\n\n## Usage\n\n```vue\n<template>\n  <div>\n    <div v-if=\"loading\">loading...</div>\n    <div v-if=\"error\">failed to fetch</div>\n    <div v-if=\"data\">Hey! {{ data }}</div>\n  </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue';\nexport default defineComponent({\n  setup() {\n    const { data, loading, error } = useRequest(service);\n\n    return {\n      data,\n      loading,\n      error,\n    };\n  },\n});\n</script>\n```\n\nIn this example, `useRequest` accepts a `service` function. `service` is a asynchronous function. In other words, you can use **axios** to fetch data and return a **Promise**. More specific instructions can be viewed in [document](https://www.attojs.org/guide/documentation/dataFetching.html).\n\n`useRequest` also return 3 values: `data`, `loading` and `error`. When the request is not yet finished, data will be `undefined` and `loading` will be `true`. And when we get a response, it sets data and error based on the result of service and rerenders the component. This is because `data` and `error` are [Reactivity(Refs)](https://v3.vuejs.org/guide/reactivity-fundamentals.html), and their values will be set by the service response.\n\n## Some of the coolest features:\n\nVueRequest has many features, such as error retry, cache, pagination, throttle, debounce..., here are two cool features\n\n### 1.Refresh On Focus\n\nSometimes, you need to ensure data consistency between multiple browser windows; or when the user's computer is reactivated in the dormant state, the page data needs to be synchronized to the latest state. `refreshOnWindowFocus` may save you a lot of code. [Click here to go to the document](https://www.attojs.org/guide/documentation/refreshOnWindowFocus.html)\n\n```ts\nconst { data, error, run } = useRequest(getUserInfo, {\n  refreshOnWindowFocus: true,\n  refocusTimespan: 1000, // refresh interval 1s\n});\n```\n\n![vue-request](https://z3.ax1x.com/2021/09/10/hXAs8s.gif)\n\n### 2.Polling Data\n\nSometimes, you want to ensure that data is synchronized and updated between multiple devices. At this time, we can use the `pollingInterval` provided by us to periodically re-request the request API, so that the data consistency between multiple devices can be guaranteed. When the user modifies the data, the two windows will be updated simultaneously in real time. [Click here to go to the document](https://www.attojs.org/guide/documentation/polling.htm)\n\n```ts\nconst { data, error, run } = useRequest(getUserInfo, {\n  pollingInterval: 1000, // polling interval 1s\n});\n```\n\n![vue-request](https://z3.ax1x.com/2021/09/10/hXAy2n.gif)\n\n## TODO List\n\nIf you have any cool features, please submit an issue for discussion\n\n- [x] Support Vue 2\n- [x] Documentation\n- [x] Pagination\n- [x] Load More\n\n## Thanks\n\nThank them for inspiring us.\n\n- [vercel/swr](https://github.com/vercel/swr)\n- [alibaba/hooks](https://ahooks.js.org/hooks/async#userequest)\n\n## License\n\n[MIT License](https://github.com/AttoJS/vue-request/blob/master/LICENSE) © 2020-present [AttoJS](https://github.com/AttoJS)\n","licenseText":"MIT License\n\nCopyright (c) 2020 AttoJS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"vue-request@2.0.0-alpha.2","dist":{"shasum":"f83cab2856b353e1cb5d185f7e17e181bc96df45","integrity":"sha512-O/Lb7CDPe5StEV63em4LdqVt3I71tY/wmvlN/KQYpEyCKkpVvqiyFAd/j6vj2oN5ISX7sJ1xNPBTB+1k8UVr4Q==","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-2.0.0-alpha.2.tgz","fileCount":13,"unpackedSize":119040,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiQr4cACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoYPw//XkCxGT/M9Mig2V4GSlb7RG2d0xD5jMPix++DF9dKcBhZSPSe\r\n9ZQ1NFnHfmud47OjZ0Nih/u+JR7TSFRMQL5qqV9N0XdlTCiUD8guEaoiD8oq\r\n6WI+0PG+4urx5Lh1vfcOVG/5IT8w+CDoKXwdF3dG148AmPeJAGvt+33RM1lr\r\nIucG6s37qeYo6fwFIX/yB9MG424qKMc4ooqcNQuyTG5lRYDt2JG7S9AsTF6j\r\nsKT6J1vasv/3oaZ3dJ7Cy1BEtH2Ucikx2gjqsO1MFe32ZfNneqDrj4GwJCda\r\nW4a8T2K4vRwBV9qW536z9v008OqP8S7beTGJgvStnzZ0S6l6jWIekY7/Oe8t\r\ndgWqPOFsH4F4ZGa+gkiq869ZtnKJfc+QlpZmfcmKc50UdXvf/8bqLdSY6l+o\r\nhR08hb6LlebEE00ynTf8GPSrI69uEVuym64ZX4WJPq++pdx7QfNQVhagoUyV\r\nkbJ7GmoB2/YKPkhQvHitGMEjLbMIIy0ilnTg6MuimVhkaka8o7QQxIa15NIw\r\n3JPQSeUj6Kn2MSBPuNXNY6d5XVmPEixBkBFGMgiPQ0fe/xrzikCJ2mF+ePgY\r\ncl3+R8pXSKBZHLI79pqD9w+AgK4Skn9XpLuGmnI5SoVFWPVH/E7YTuNWzUDu\r\naTeWBEfBFp5FJRuLszGqQfE474BTCx7codQ=\r\n=rleA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD82GrT4qdKmgbB64c1STJBDRU5B3SXkhOeU/SR/C4VgwIgV5j6A8KlbUJ+amPkhJ+W5PzqNfK498obX1IyriGW7cQ="}]},"_npmUser":{"name":"john60676","email":"john60676@qq.com"},"directories":{},"maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-request_2.0.0-alpha.2_1648541212383_0.4659067906329808"},"_hasShrinkwrap":false},"2.0.0-alpha.3":{"name":"vue-request","version":"2.0.0-alpha.3","description":"Vue composition API for data fetching, supports SWR, polling, error retry, cache request, pagination and other cool features.","keywords":["vue","vue3","vue2","swr","request","http","fetch","composition-api","vue-demi","axios","vue-request","vue request"],"homepage":"https://www.attojs.org/","bugs":{"url":"https://github.com/attojs/vue-request/issues"},"repository":{"type":"git","url":"https://github.com/attojs/vue-request/tree/next"},"license":"MIT","main":"dist/index.cjs.js","unpkg":"dist/vue-request.min.js","module":"dist/index.es.js","types":"dist/types/index.d.ts","scripts":{"build":"yarn switch:3 && yarn clean && yarn build:code && yarn build:types","build:code":"rollup --config ./build/rollup.config.js","build:types":"rollup --config ./build/rollup.config.types.js","dev":"yarn switch:3 && vite --config ./build/vite.config.ts ./examples/vue3","dev:2":"yarn switch:2 && vite --config ./build/vite-vue2.config.ts ./examples/vue2","test":"yarn test:3 && yarn test:2","test:3":"yarn switch:3 && jest --coverage","test:2":"yarn switch:2 && jest --coverage","switch:3":"vue-demi-switch 3 vue3","switch:2":"vue-demi-switch 2 vue2","clean":"rimraf dist/*","publishing":"np","changelog":"standard-version && standard-version -i CHANGELOG.zh-CN.md -o CHANGELOG.zh-CN.md","release":"yarn build && yarn publishing","lint":"eslint -c ./.eslintrc.js './{src,scripts,build}/**/*.{js,ts,tsx}'","format":"prettier -w '**/*.ts?(x)'","patch-package":"patch-package"},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint --fix"],"package.json":"sort-package-json"},"dependencies":{"vue-demi":"latest"},"devDependencies":{"@babel/core":"^7.12.3","@babel/plugin-proposal-nullish-coalescing-operator":"^7.14.5","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.1","@babel/runtime-corejs3":"^7.12.5","@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/jest":"^27.4.0","@types/mockjs":"^1.0.3","@types/node":"^17.0.16","@typescript-eslint/eslint-plugin":"^4.8.2","@typescript-eslint/parser":"^4.8.2","@vitejs/plugin-vue":"^1.2.1","@vitejs/plugin-vue-jsx":"^1.1.3","@vue/babel-plugin-jsx":"^1.0.0-rc.3","@vue/compiler-sfc":"^3.0.6","@vue/composition-api":"^1.4.6","axios":"^0.21.1","babel-jest":"^27.5.0","eslint":"^7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-simple-import-sort":"^7.0.0","eslint-plugin-vue":"^7.0.0-0","fetch-mock":"^9.10.7","husky":"^7.0.4","jest":"^27.5.0","jest-environment-jsdom-global":"^2.0.4","lint-staged":"^10.5.2","mockjs":"^1.1.0","node-fetch":"2","np":"^7.0.0","patch-package":"^6.4.7","prettier":"^2.2.0","rimraf":"^3.0.2","rollup":"^2.33.1","rollup-plugin-dts":"^4.2.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","simple-git":"^2.21.0","sort-package-json":"^1.50.0","standard-version":"^9.1.1","ts-jest":"^27.1.3","typescript":"^4.0.5","vite":"^2.1.5","vite-plugin-vue2":"^1.9.2","vue-template-compiler":"^2.6.14","vue2":"npm:vue@2","vue3":"npm:vue@3"},"peerDependencies":{"@vue/composition-api":"^1.0.0-rc.1","vue":"^2.0.0 || >=3.0.0"},"peerDependenciesMeta":{"@vue/composition-api":{"optional":true}},"readmeFilename":"README.md","readme":"English | [简体中文](README-zh_CN.md)\n\n<p align=\"center\">\n  <a href=\"https://www.attojs.org\">\n    <img\n      width=\"150\"\n      src=\"https://raw.githubusercontent.com/AttoJS/art/master/vue-request-logo.png\"\n      alt=\"VueRequest logo\"\n    />\n  </a>\n</p>\n<h1 align=\"center\">VueRequest</h1>\n<div align=\"center\">\n  <p align=\"center\">⚡️ Vue composition API for data fetching, supports SWR, polling, error retry, cache request, pagination, etc.</p>\n   <a href=\"https://codecov.io/github/attojs/vue-request?branch=master\">\n    <img\n      src=\"https://img.shields.io/codecov/c/github/attojs/vue-request?token=NW2XVQWGPP\"\n      alt=\"Coverage Status\"\n    />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/bundlephobia/minzip/vue-request/next\" alt=\"Size\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/npm/v/vue-request/next\" alt=\"Version\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/github/languages/top/attojs/vue-request\" alt=\"Languages\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/npm/l/vue-request\" alt=\"License\" />\n  </a>\n  <a href=\"https://github.com/AttoJS/vue-request/stargazers\">\n    <img src=\"https://img.shields.io/github/stars/attojs/vue-request\" alt=\"Star\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/npm/dm/vue-request\" alt=\"Download\" />\n  </a>\n</div>\n\n## Status\n\nCurrently in Alpha version. For details, please see the [changelog](https://github.com/AttoJS/vue-request/issues/121).\n\n## Why VueRequest\n\nIn the past projects, they were often confused by repeated implementations such as the management of the loading state, the requested throttling and debounce, the caching of request data, and pagination. Whenever we start a new project, we have to manually deal with the above problems, which will be a repetitive work, but also to ensure that the team is consistent.\n\nVueRequest aims to provide developers with a convenient and fast way to manage the state of the request API. In the development, save repetitive work, and it can be used only with a simple configuration, focusing on the core of the development project.\n\n## Features\n\n- 🌈 &nbsp;Support Vue 2 & 3\n- 🚀 &nbsp;All data is reactive\n- 🔄 &nbsp;Interval polling\n- 🤖 &nbsp;Automatic error retry\n- 🗄 &nbsp;Built-in cache\n- 💧 &nbsp;Throttle and Debounce\n- ⚙️ &nbsp;Powerful pagination extension and load more extensions\n- 📠 &nbsp;Written in TypeScript\n- ⚡️ &nbsp;Compatible with Vite\n- 🍃 &nbsp;Lightweight\n- 📦 &nbsp;Out of the box\n\n## Documentation\n\n- [English](https://www.attojs.org/)\n- [中文文档](https://www.attojs.com/)\n\n## Install\n\nYou can install VueRequest with [NPM](https://www.npmjs.com/), [YARN](https://yarnpkg.com/), or a `<script>` via [unpkg.com](https://unpkg.com/)\n\n### NPM\n\n```sh\nnpm install vue-request@next\n# or\nyarn add vue-request@next\n```\n\n### CDN\n\n> For production, we recommend linking to a specific version number and build to avoid unexpected breakage from newer versions.\n\n```html\n<script src=\"https://unpkg.com/vue-request/dist/vue-request.min.js\"></script>\n```\n\nOnce you've added this you will have access to the `window.VueRequest` object and its exports.\n\n## Usage\n\n```vue\n<template>\n  <div>\n    <div v-if=\"loading\">loading...</div>\n    <div v-if=\"error\">failed to fetch</div>\n    <div v-if=\"data\">Hey! {{ data }}</div>\n  </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue';\nexport default defineComponent({\n  setup() {\n    const { data, loading, error } = useRequest(service);\n\n    return {\n      data,\n      loading,\n      error,\n    };\n  },\n});\n</script>\n```\n\nIn this example, `useRequest` accepts a `service` function. `service` is a asynchronous function. In other words, you can use **axios** to fetch data and return a **Promise**. More specific instructions can be viewed in [document](https://www.attojs.org/guide/documentation/dataFetching.html).\n\n`useRequest` also return 3 values: `data`, `loading` and `error`. When the request is not yet finished, data will be `undefined` and `loading` will be `true`. And when we get a response, it sets data and error based on the result of service and rerenders the component. This is because `data` and `error` are [Reactivity(Refs)](https://v3.vuejs.org/guide/reactivity-fundamentals.html), and their values will be set by the service response.\n\n## Some of the coolest features:\n\nVueRequest has many features, such as error retry, cache, pagination, throttle, debounce..., here are two cool features\n\n### 1.Refresh On Focus\n\nSometimes, you need to ensure data consistency between multiple browser windows; or when the user's computer is reactivated in the dormant state, the page data needs to be synchronized to the latest state. `refreshOnWindowFocus` may save you a lot of code. [Click here to go to the document](https://www.attojs.org/guide/documentation/refreshOnWindowFocus.html)\n\n```ts\nconst { data, error, run } = useRequest(getUserInfo, {\n  refreshOnWindowFocus: true,\n  refocusTimespan: 1000, // refresh interval 1s\n});\n```\n\n![vue-request](https://z3.ax1x.com/2021/09/10/hXAs8s.gif)\n\n### 2.Polling Data\n\nSometimes, you want to ensure that data is synchronized and updated between multiple devices. At this time, we can use the `pollingInterval` provided by us to periodically re-request the request API, so that the data consistency between multiple devices can be guaranteed. When the user modifies the data, the two windows will be updated simultaneously in real time. [Click here to go to the document](https://www.attojs.org/guide/documentation/polling.htm)\n\n```ts\nconst { data, error, run } = useRequest(getUserInfo, {\n  pollingInterval: 1000, // polling interval 1s\n});\n```\n\n![vue-request](https://z3.ax1x.com/2021/09/10/hXAy2n.gif)\n\n## Thanks\n\nThank them for inspiring us.\n\n- [vercel/swr](https://github.com/vercel/swr)\n- [alibaba/hooks](https://ahooks.js.org/hooks/async#userequest)\n\n## License\n\n[MIT License](https://github.com/AttoJS/vue-request/blob/master/LICENSE) © 2020-present [AttoJS](https://github.com/AttoJS)\n","licenseText":"MIT License\n\nCopyright (c) 2020 AttoJS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"vue-request@2.0.0-alpha.3","dist":{"shasum":"7479a7f723574f96e2604e103463955d77c5c09c","integrity":"sha512-n3hnX59OuH/e7nObDQuQKoD69onLfWfqf32A3xQNC76djRF3tKw78vljwEf1G7YCwZOz0wxOznybYc0lmGXVsw==","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-2.0.0-alpha.3.tgz","fileCount":13,"unpackedSize":118057,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCHqeYMKcEQNq/TIGHxA7tfmuZ+Ts1k5MUg5h1EAIQIEwIgIwh7nKbMFPgNOTfl4JPedFy5c8P9Amp8Ast3Nag0Fwo="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiZmi0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq9Jg//dmxU1mC6MKUV4kBwB7fvGVZ+HLR+9q7Bz/u1V/qiGbYO9zqO\r\nyi0aEPbpc3QLXncbMlAjJOuTRYlFNRN5rIBAM57zhivXL9oqrjz2YJpe6j8F\r\ni6dlvYMMly94L99kS+Ocj/kXwn4UTVkudCmRFXnOrNpQQEw21A6dXnIU5vVx\r\n9x9nl8BtofHRLXAjbOOblCpXrGOtRYzUT7s+R7XzBXqtdn31k0TgJq00hp8q\r\nefrKqb7o5i6omWiFii1bTMR9bi64gmA2EEoHIFwMiGLz43w26rM73KTNQ40p\r\nihjWTmYgcuZo6xl0n5++tVLgeDB6QrrAW1QUfJlqRlTIZnIgUTSHjSiWG9My\r\nW4Uz8sSaBbUgm5i/FuXoGxegd0tAFRlS7gU9/giYG9Kkxh4No67HjRnNoWYm\r\n3Xvleg8docn0h4uZgHQe9sYT50/Mr4ppvxdxuR6r4oPKTk+IYEAd4snp+X/Q\r\nkGY+nBLef/eIpDKjKdjSxheujabVuuiIZRd+K+u0glNLWTunCo9hWB9kTAY2\r\nCFJqskb0iUnyrE0j6bUCe51rCNnd3rMVYuEvvOF47mnL8xjWPCj/dPibxmSE\r\nav4k86CZKZ3EWn+5xJCXwXLixvxKXhz1FQginFrKdzYHx6f4RfpSw7cWLakB\r\nBuY9L0oqxzHi+KLQstwS0ZudbB32e0q+s4w=\r\n=/P47\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"john60676","email":"john60676@qq.com"},"directories":{},"maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-request_2.0.0-alpha.3_1650878644117_0.39417635800645456"},"_hasShrinkwrap":false},"2.0.0-beta.1":{"name":"vue-request","version":"2.0.0-beta.1","description":"Vue composition API for data fetching, supports SWR, polling, error retry, cache request, pagination and other cool features.","keywords":["vue","vue3","vue2","swr","request","http","fetch","composition-api","vue-demi","axios","vue-request","vue request"],"homepage":"https://www.attojs.org/","bugs":{"url":"https://github.com/attojs/vue-request/issues"},"repository":{"type":"git","url":"https://github.com/attojs/vue-request/tree/next"},"license":"MIT","main":"dist/index.cjs.js","unpkg":"dist/vue-request.min.js","module":"dist/index.es.js","types":"dist/types/index.d.ts","scripts":{"build":"yarn switch:3 && yarn clean && yarn build:code && yarn build:types","build:code":"rollup --config ./build/rollup.config.js","build:types":"rollup --config ./build/rollup.config.types.js","dev":"yarn switch:3 && vite --config ./build/vite.config.ts ./examples/vue3","dev:2":"yarn switch:2 && vite --config ./build/vite-vue2.config.ts ./examples/vue2","test":"yarn test:3 && yarn test:2","test:3":"yarn switch:3 && jest --coverage","test:2":"yarn switch:2 && jest --coverage","switch:3":"vue-demi-switch 3 vue3","switch:2":"vue-demi-switch 2 vue2","clean":"rimraf dist/*","publishing":"np","changelog":"standard-version && standard-version -i CHANGELOG.zh-CN.md -o CHANGELOG.zh-CN.md","release":"yarn build && yarn publishing","lint":"eslint -c ./.eslintrc.js './{src,scripts,build}/**/*.{js,ts,tsx}'","format":"prettier -w '**/*.ts?(x)'","patch-package":"patch-package"},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint --fix"],"package.json":"sort-package-json"},"dependencies":{"vue-demi":"latest"},"devDependencies":{"@babel/core":"^7.12.3","@babel/plugin-proposal-nullish-coalescing-operator":"^7.14.5","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.1","@babel/runtime-corejs3":"^7.12.5","@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/jest":"^27.4.0","@types/mockjs":"^1.0.3","@types/node":"^17.0.16","@typescript-eslint/eslint-plugin":"^4.8.2","@typescript-eslint/parser":"^4.8.2","@vitejs/plugin-vue":"^1.2.1","@vitejs/plugin-vue-jsx":"^1.1.3","@vue/babel-plugin-jsx":"^1.0.0-rc.3","@vue/compiler-sfc":"^3.0.6","@vue/composition-api":"^1.4.6","axios":"^0.21.1","babel-jest":"^27.5.0","eslint":"^7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-simple-import-sort":"^7.0.0","eslint-plugin-vue":"^7.0.0-0","fetch-mock":"^9.10.7","husky":"^7.0.4","jest":"^27.5.0","jest-environment-jsdom-global":"^2.0.4","lint-staged":"^10.5.2","mockjs":"^1.1.0","node-fetch":"2","np":"^7.0.0","patch-package":"^6.4.7","prettier":"^2.2.0","rimraf":"^3.0.2","rollup":"^2.33.1","rollup-plugin-dts":"^4.2.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","simple-git":"^2.21.0","sort-package-json":"^1.50.0","standard-version":"^9.1.1","ts-jest":"^27.1.3","typescript":"^4.0.5","vite":"^2.1.5","vite-plugin-vue2":"^1.9.2","vue-template-compiler":"^2.6.14","vue2":"npm:vue@2","vue3":"npm:vue@3"},"peerDependencies":{"@vue/composition-api":"^1.0.0-rc.1","vue":"^2.0.0 || >=3.0.0"},"peerDependenciesMeta":{"@vue/composition-api":{"optional":true}},"readmeFilename":"README.md","readme":"English | [简体中文](README-zh_CN.md)\n\n<p align=\"center\">\n  <a href=\"https://www.attojs.org\">\n    <img\n      width=\"150\"\n      src=\"https://raw.githubusercontent.com/AttoJS/art/master/vue-request-logo.png\"\n      alt=\"VueRequest logo\"\n    />\n  </a>\n</p>\n<h1 align=\"center\">VueRequest</h1>\n<div align=\"center\">\n  <p align=\"center\">⚡️ Vue composition API for data fetching, supports SWR, polling, error retry, cache request, pagination, etc.</p>\n   <a href=\"https://codecov.io/github/attojs/vue-request?branch=master\">\n    <img\n      src=\"https://img.shields.io/codecov/c/github/attojs/vue-request?token=NW2XVQWGPP\"\n      alt=\"Coverage Status\"\n    />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/bundlephobia/minzip/vue-request/next\" alt=\"Size\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/npm/v/vue-request/next\" alt=\"Version\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/github/languages/top/attojs/vue-request\" alt=\"Languages\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/npm/l/vue-request\" alt=\"License\" />\n  </a>\n  <a href=\"https://github.com/AttoJS/vue-request/stargazers\">\n    <img src=\"https://img.shields.io/github/stars/attojs/vue-request\" alt=\"Star\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/npm/dm/vue-request\" alt=\"Download\" />\n  </a>\n</div>\n\n## Status\n\nCurrently in Alpha version. For details, please see the [changelog](https://github.com/AttoJS/vue-request/issues/121).\n\n## Why VueRequest\n\nIn the past projects, they were often confused by repeated implementations such as the management of the loading state, the requested throttling and debounce, the caching of request data, and pagination. Whenever we start a new project, we have to manually deal with the above problems, which will be a repetitive work, but also to ensure that the team is consistent.\n\nVueRequest aims to provide developers with a convenient and fast way to manage the state of the request API. In the development, save repetitive work, and it can be used only with a simple configuration, focusing on the core of the development project.\n\n## Features\n\n- 🌈 &nbsp;Support Vue 2 & 3\n- 🚀 &nbsp;All data is reactive\n- 🔄 &nbsp;Interval polling\n- 🤖 &nbsp;Automatic error retry\n- 🗄 &nbsp;Built-in cache\n- 💧 &nbsp;Throttle and Debounce\n- ⚙️ &nbsp;Powerful pagination extension and load more extensions\n- 📠 &nbsp;Written in TypeScript\n- ⚡️ &nbsp;Compatible with Vite\n- 🍃 &nbsp;Lightweight\n- 📦 &nbsp;Out of the box\n\n## Documentation\n\n- [English](https://www.attojs.org/)\n- [中文文档](https://www.attojs.com/)\n\n## Install\n\nYou can install VueRequest with [NPM](https://www.npmjs.com/), [YARN](https://yarnpkg.com/), or a `<script>` via [unpkg.com](https://unpkg.com/)\n\n### NPM\n\n```sh\nnpm install vue-request@next\n# or\nyarn add vue-request@next\n```\n\n### CDN\n\n> For production, we recommend linking to a specific version number and build to avoid unexpected breakage from newer versions.\n\n```html\n<script src=\"https://unpkg.com/vue-request/dist/vue-request.min.js\"></script>\n```\n\nOnce you've added this you will have access to the `window.VueRequest` object and its exports.\n\n## Usage\n\n```vue\n<template>\n  <div>\n    <div v-if=\"loading\">loading...</div>\n    <div v-if=\"error\">failed to fetch</div>\n    <div v-if=\"data\">Hey! {{ data }}</div>\n  </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue';\nexport default defineComponent({\n  setup() {\n    const { data, loading, error } = useRequest(service);\n\n    return {\n      data,\n      loading,\n      error,\n    };\n  },\n});\n</script>\n```\n\nIn this example, `useRequest` accepts a `service` function. `service` is a asynchronous function. In other words, you can use **axios** to fetch data and return a **Promise**. More specific instructions can be viewed in [document](https://www.attojs.org/guide/documentation/dataFetching.html).\n\n`useRequest` also return 3 values: `data`, `loading` and `error`. When the request is not yet finished, data will be `undefined` and `loading` will be `true`. And when we get a response, it sets data and error based on the result of service and rerenders the component. This is because `data` and `error` are [Reactivity(Refs)](https://v3.vuejs.org/guide/reactivity-fundamentals.html), and their values will be set by the service response.\n\n## Some of the coolest features:\n\nVueRequest has many features, such as error retry, cache, pagination, throttle, debounce..., here are two cool features\n\n### 1.Refresh On Focus\n\nSometimes, you need to ensure data consistency between multiple browser windows; or when the user's computer is reactivated in the dormant state, the page data needs to be synchronized to the latest state. `refreshOnWindowFocus` may save you a lot of code. [Click here to go to the document](https://www.attojs.org/guide/documentation/refreshOnWindowFocus.html)\n\n```ts\nconst { data, error, run } = useRequest(getUserInfo, {\n  refreshOnWindowFocus: true,\n  refocusTimespan: 1000, // refresh interval 1s\n});\n```\n\n![vue-request](https://z3.ax1x.com/2021/09/10/hXAs8s.gif)\n\n### 2.Polling Data\n\nSometimes, you want to ensure that data is synchronized and updated between multiple devices. At this time, we can use the `pollingInterval` provided by us to periodically re-request the request API, so that the data consistency between multiple devices can be guaranteed. When the user modifies the data, the two windows will be updated simultaneously in real time. [Click here to go to the document](https://www.attojs.org/guide/documentation/polling.htm)\n\n```ts\nconst { data, error, run } = useRequest(getUserInfo, {\n  pollingInterval: 1000, // polling interval 1s\n});\n```\n\n![vue-request](https://z3.ax1x.com/2021/09/10/hXAy2n.gif)\n\n## Thanks\n\nThank them for inspiring us.\n\n- [vercel/swr](https://github.com/vercel/swr)\n- [alibaba/hooks](https://ahooks.js.org/hooks/async#userequest)\n\n## License\n\n[MIT License](https://github.com/AttoJS/vue-request/blob/master/LICENSE) © 2020-present [AttoJS](https://github.com/AttoJS)\n","licenseText":"MIT License\n\nCopyright (c) 2020 AttoJS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"vue-request@2.0.0-beta.1","dist":{"shasum":"67261eb1d0f0f8f7191e12ba99e03bf3c3680399","integrity":"sha512-kNJh0FDR5NgO5qYBVjzrbDioFXkTDhQVZOy8EexHrcq4wuKFUYX0CCjAzCppzqNafXr8bBM6MC/d0uV+kMurwg==","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-2.0.0-beta.1.tgz","fileCount":13,"unpackedSize":118056,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDaCymiW1Bj4I3/n3NaEtgGWXrSEv6C8SOu7EPZEhDW0QIhAPBirbacWr5X0PF8XXK3jBXCbu25si/SO2k+HHlqqO5Q"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJihz/aACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpaWA/+NFj8xyJWMWBODIWBETka2cSh67IROidMrfs0JOxzuzrkmGLP\r\nPVXw3kVqhDCwwvCWw0hcFtU43Vub++Yp72Zl3i6MHyRADDRPMQi4yRYQ+B/8\r\nsLwjx0FA633UKWybZKzkKDGDaLIW9neJWCLqKOt9QJarp5oj9T6i7vQ0PSv8\r\nOibAN/36fEcGk1WnZ04PV/tUBebury5PM8SRRgf0Z8XMNwzn6zWDneNqspKh\r\ngegnYE9l1vj7crCuatAnfx0VowOCZZ3z+JJO4hDZ/GS0gtUhBq9fh3cNyBjT\r\nd55C/4Aj6+gal/gsFMLcrGjY571njciRR+ObnGAUkS307kLlScGXtAWcvEGg\r\nERlMkA7ipBfw/T8bybjlG3htFmjnhAFuwnW61SMSj2tTKSCwuYlDp7jhmZ5r\r\nxJYYdTqpJdNI6EbGQfA3RKIggkP2mgS9hb+F/NnQNtycIZQ5Rq/JUHjn6uMz\r\nMx+sI2CcjYqUz7MYdeKTgTAxd/sC32NLYNnb+CflYZixaxfU2aH+sOx73HYu\r\nDXSJUqSZ7gTtVm3h7gdwOm9yeQUQnOT8K+22Ql4CnzJNcUNrknvg6i95y7jK\r\nMHp3IVEwXp4p9em0DT9zCfLjV4hlleBioWByVJuMsc2ToIkUxWH7xBSabKIT\r\nvZOBDYqLjcPPPpZ1Rfgl0vjEZC6pnZ7P28A=\r\n=a2H6\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"john60676","email":"john60676@qq.com"},"directories":{},"maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-request_2.0.0-beta.1_1653030873808_0.2674290159210151"},"_hasShrinkwrap":false},"2.0.0-beta.2":{"name":"vue-request","version":"2.0.0-beta.2","description":"Vue composition API for data fetching, supports SWR, polling, error retry, cache request, pagination and other cool features.","keywords":["vue","vue3","vue2","swr","request","http","fetch","composition-api","vue-demi","axios","vue-request","vue request"],"homepage":"https://www.attojs.org/","bugs":{"url":"https://github.com/attojs/vue-request/issues"},"repository":{"type":"git","url":"https://github.com/attojs/vue-request/tree/next"},"license":"MIT","main":"dist/index.cjs.js","unpkg":"dist/vue-request.min.js","module":"dist/index.es.js","types":"dist/types/index.d.ts","scripts":{"build":"yarn switch:3 && yarn clean && yarn build:code && yarn build:types","build:code":"rollup --config ./build/rollup.config.js","build:types":"rollup --config ./build/rollup.config.types.js","dev":"yarn switch:3 && vite --config ./build/vite.config.ts ./examples/vue3","dev:2":"yarn switch:2 && vite --config ./build/vite-vue2.config.ts ./examples/vue2","test":"yarn test:3 && yarn test:2","test:3":"yarn switch:3 && jest --coverage","test:2":"yarn switch:2 && jest --coverage","switch:3":"vue-demi-switch 3 vue3","switch:2":"vue-demi-switch 2 vue2","clean":"rimraf dist/*","publishing":"np","changelog":"standard-version && standard-version -i CHANGELOG.zh-CN.md -o CHANGELOG.zh-CN.md","release":"yarn build && yarn publishing","lint":"eslint -c ./.eslintrc.js './{src,scripts,build}/**/*.{js,ts,tsx}'","format":"prettier -w '**/*.ts?(x)'","patch-package":"patch-package"},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint --fix"],"package.json":"sort-package-json"},"dependencies":{"vue-demi":"latest"},"devDependencies":{"@babel/core":"^7.12.3","@babel/plugin-proposal-nullish-coalescing-operator":"^7.14.5","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.1","@babel/runtime-corejs3":"^7.12.5","@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/jest":"^27.4.0","@types/mockjs":"^1.0.3","@types/node":"^17.0.16","@typescript-eslint/eslint-plugin":"^4.8.2","@typescript-eslint/parser":"^4.8.2","@vitejs/plugin-vue":"^1.2.1","@vitejs/plugin-vue-jsx":"^1.1.3","@vue/babel-plugin-jsx":"^1.0.0-rc.3","@vue/compiler-sfc":"^3.0.6","@vue/composition-api":"^1.4.6","axios":"^0.21.1","babel-jest":"^27.5.0","eslint":"^7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-simple-import-sort":"^7.0.0","eslint-plugin-vue":"^7.0.0-0","fetch-mock":"^9.10.7","husky":"^7.0.4","jest":"^27.5.0","jest-environment-jsdom-global":"^2.0.4","lint-staged":"^10.5.2","mockjs":"^1.1.0","node-fetch":"2","np":"^7.0.0","patch-package":"^6.4.7","prettier":"^2.2.0","rimraf":"^3.0.2","rollup":"^2.33.1","rollup-plugin-dts":"^4.2.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","simple-git":"^2.21.0","sort-package-json":"^1.50.0","standard-version":"^9.1.1","ts-jest":"^27.1.3","typescript":"^4.0.5","vite":"^2.1.5","vite-plugin-vue2":"^1.9.2","vue-template-compiler":"^2.6.14","vue2":"npm:vue@2","vue3":"npm:vue@3"},"peerDependencies":{"@vue/composition-api":"^1.0.0-rc.1","vue":"^2.0.0 || >=3.0.0"},"peerDependenciesMeta":{"@vue/composition-api":{"optional":true}},"readmeFilename":"README.md","readme":"English | [简体中文](README-zh_CN.md)\n\n<p align=\"center\">\n  <a href=\"https://www.attojs.org\">\n    <img\n      width=\"150\"\n      src=\"https://raw.githubusercontent.com/AttoJS/art/master/vue-request-logo.png\"\n      alt=\"VueRequest logo\"\n    />\n  </a>\n</p>\n<h1 align=\"center\">VueRequest</h1>\n<div align=\"center\">\n  <p align=\"center\">⚡️ Vue composition API for data fetching, supports SWR, polling, error retry, cache request, pagination, etc.</p>\n   <a href=\"https://codecov.io/github/attojs/vue-request?branch=master\">\n    <img\n      src=\"https://img.shields.io/codecov/c/github/attojs/vue-request?token=NW2XVQWGPP\"\n      alt=\"Coverage Status\"\n    />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/bundlephobia/minzip/vue-request/next\" alt=\"Size\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/npm/v/vue-request/next\" alt=\"Version\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/github/languages/top/attojs/vue-request\" alt=\"Languages\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/npm/l/vue-request\" alt=\"License\" />\n  </a>\n  <a href=\"https://github.com/AttoJS/vue-request/stargazers\">\n    <img src=\"https://img.shields.io/github/stars/attojs/vue-request\" alt=\"Star\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/npm/dm/vue-request\" alt=\"Download\" />\n  </a>\n</div>\n\n## Status\n\nCurrently in Alpha version. For details, please see the [changelog](https://github.com/AttoJS/vue-request/issues/121).\n\n## Why VueRequest\n\nIn the past projects, they were often confused by repeated implementations such as the management of the loading state, the requested throttling and debounce, the caching of request data, and pagination. Whenever we start a new project, we have to manually deal with the above problems, which will be a repetitive work, but also to ensure that the team is consistent.\n\nVueRequest aims to provide developers with a convenient and fast way to manage the state of the request API. In the development, save repetitive work, and it can be used only with a simple configuration, focusing on the core of the development project.\n\n## Features\n\n- 🌈 &nbsp;Support Vue 2 & 3\n- 🚀 &nbsp;All data is reactive\n- 🔄 &nbsp;Interval polling\n- 🤖 &nbsp;Automatic error retry\n- 🗄 &nbsp;Built-in cache\n- 💧 &nbsp;Throttle and Debounce\n- ⚙️ &nbsp;Powerful pagination extension and load more extensions\n- 📠 &nbsp;Written in TypeScript\n- ⚡️ &nbsp;Compatible with Vite\n- 🍃 &nbsp;Lightweight\n- 📦 &nbsp;Out of the box\n\n## Documentation\n\n- [English](https://www.attojs.org/)\n- [中文文档](https://www.attojs.com/)\n\n## Install\n\nYou can install VueRequest with [NPM](https://www.npmjs.com/), [YARN](https://yarnpkg.com/), or a `<script>` via [unpkg.com](https://unpkg.com/)\n\n### NPM\n\n```sh\nnpm install vue-request@next\n# or\nyarn add vue-request@next\n```\n\n### CDN\n\n> For production, we recommend linking to a specific version number and build to avoid unexpected breakage from newer versions.\n\n```html\n<script src=\"https://unpkg.com/vue-request/dist/vue-request.min.js\"></script>\n```\n\nOnce you've added this you will have access to the `window.VueRequest` object and its exports.\n\n## Usage\n\n```vue\n<template>\n  <div>\n    <div v-if=\"loading\">loading...</div>\n    <div v-if=\"error\">failed to fetch</div>\n    <div v-if=\"data\">Hey! {{ data }}</div>\n  </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue';\nexport default defineComponent({\n  setup() {\n    const { data, loading, error } = useRequest(service);\n\n    return {\n      data,\n      loading,\n      error,\n    };\n  },\n});\n</script>\n```\n\nIn this example, `useRequest` accepts a `service` function. `service` is a asynchronous function. In other words, you can use **axios** to fetch data and return a **Promise**. More specific instructions can be viewed in [document](https://www.attojs.org/guide/documentation/dataFetching.html).\n\n`useRequest` also return 3 values: `data`, `loading` and `error`. When the request is not yet finished, data will be `undefined` and `loading` will be `true`. And when we get a response, it sets data and error based on the result of service and rerenders the component. This is because `data` and `error` are [Reactivity(Refs)](https://v3.vuejs.org/guide/reactivity-fundamentals.html), and their values will be set by the service response.\n\n## Some of the coolest features:\n\nVueRequest has many features, such as error retry, cache, pagination, throttle, debounce..., here are two cool features\n\n### 1.Refresh On Focus\n\nSometimes, you need to ensure data consistency between multiple browser windows; or when the user's computer is reactivated in the dormant state, the page data needs to be synchronized to the latest state. `refreshOnWindowFocus` may save you a lot of code. [Click here to go to the document](https://www.attojs.org/guide/documentation/refreshOnWindowFocus.html)\n\n```ts\nconst { data, error, run } = useRequest(getUserInfo, {\n  refreshOnWindowFocus: true,\n  refocusTimespan: 1000, // refresh interval 1s\n});\n```\n\n![vue-request](https://z3.ax1x.com/2021/09/10/hXAs8s.gif)\n\n### 2.Polling Data\n\nSometimes, you want to ensure that data is synchronized and updated between multiple devices. At this time, we can use the `pollingInterval` provided by us to periodically re-request the request API, so that the data consistency between multiple devices can be guaranteed. When the user modifies the data, the two windows will be updated simultaneously in real time. [Click here to go to the document](https://www.attojs.org/guide/documentation/polling.htm)\n\n```ts\nconst { data, error, run } = useRequest(getUserInfo, {\n  pollingInterval: 1000, // polling interval 1s\n});\n```\n\n![vue-request](https://z3.ax1x.com/2021/09/10/hXAy2n.gif)\n\n## Thanks\n\nThank them for inspiring us.\n\n- [vercel/swr](https://github.com/vercel/swr)\n- [alibaba/hooks](https://ahooks.js.org/hooks/async#userequest)\n\n## License\n\n[MIT License](https://github.com/AttoJS/vue-request/blob/master/LICENSE) © 2020-present [AttoJS](https://github.com/AttoJS)\n","licenseText":"MIT License\n\nCopyright (c) 2020 AttoJS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"vue-request@2.0.0-beta.2","dist":{"shasum":"5e878efe70a9000ff51ba99a6245370b9125324a","integrity":"sha512-iwDupwC9DZ/8okvftn2Ua5yEzX20i3yOgA+y4zIWbEO0Dk+hieJK/0LaYI6KpwWXg1aoezpikCX0BjtOWV4YEw==","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-2.0.0-beta.2.tgz","fileCount":13,"unpackedSize":118056,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCHJVEqXQDaln7G2E8TQZ55SJtSzzv+0FEBD68YZ5vJeQIhAIBORM3VbmxALNvTX9j4HPKmVtW5dY2jAL5a2gtp423l"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJih0FbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrYzw//UFZsARdT2+cwt5XP5FQP/OCwPkJOQLYAQsj+tDTB1PiiDsxM\r\n5knPUjKjtNKkX1E1nplJIXp2ElMVc1UAGkQQM2kRHyrTKmDNwfhqsQGqAs2l\r\nBEiGnBxjwg5F28GW/+hDt8gitPZTnkwzDZTMklsqmiRuph2ptlfq75W7rXH2\r\nhh/Sg99Z/DyCBc9q5j7wcEKARh+6zP/Oycpevqhh5nTVfn8Wrb3bzZmAMaOg\r\nVQsgm9pBMkVJIRNc4ciiQHIrtMGmP1bClbcZSmzJV5yGZyFg3e4R0fgNKFoo\r\n+pzfxkfsXv++LsJE9P5cy0q3DFgzyqO5CWU12l3hO71bBqoaAfdliKPKD2O7\r\nAsVKljAjgUL5VLCyae5Sa/YFDZZZYnSHjrZpZz1e3v/Wgq3LnUGjpvVTuX7G\r\nOf1k0lWctjFfpOzriEQXZ3+G4iqgys0/Y8VaCGPj7RuItOzAXjz9uK2cAFok\r\nIdxcJJovXAwHWUAhhzHWlzUNJd4BNYdfOXd84l+C3faTVC+KqJCj4/DQh5gm\r\n+NfD0gFxpQY/37ccAfTW8gPNUNAAsot5eiDLotv8D6w3ql1yA3PM7NEjW75U\r\ncpIldN4T+07/XZEA5DJppF9AkZhhw/NP3VsTNUdXvF5eyctD9t9RBOOCe2B9\r\nehrIxu8EpdiSWdGxieahkDN+AUICsQC5wkY=\r\n=7jPW\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"john60676","email":"john60676@qq.com"},"directories":{},"maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-request_2.0.0-beta.2_1653031259329_0.24282952751982156"},"_hasShrinkwrap":false},"2.0.0-rc.1":{"name":"vue-request","version":"2.0.0-rc.1","description":"Vue composition API for data fetching, supports SWR, polling, error retry, cache request, pagination and other cool features.","keywords":["vue","vue3","vue2","swr","request","http","fetch","composition-api","vue-demi","axios","vue-request","vue request"],"homepage":"https://www.attojs.org/","bugs":{"url":"https://github.com/attojs/vue-request/issues"},"repository":{"type":"git","url":"https://github.com/attojs/vue-request/tree/next"},"license":"MIT","main":"dist/index.cjs.js","unpkg":"dist/vue-request.min.js","module":"dist/index.es.js","types":"dist/types/index.d.ts","scripts":{"build":"yarn switch:3 && yarn clean && yarn build:code && yarn build:types","build:code":"rollup --config ./build/rollup.config.js","build:types":"rollup --config ./build/rollup.config.types.js","dev":"yarn switch:3 && vite --config ./build/vite.config.ts ./examples/vue3","dev:2":"yarn switch:2 && vite --config ./build/vite-vue2.config.ts ./examples/vue2","test":"yarn test:3 && yarn test:2","test:3":"yarn switch:3 && jest --coverage","test:2":"yarn switch:2 && jest --coverage","switch:3":"vue-demi-switch 3 vue3","switch:2":"vue-demi-switch 2 vue2","clean":"rimraf dist/*","publishing":"np","changelog":"standard-version && standard-version -i CHANGELOG.zh-CN.md -o CHANGELOG.zh-CN.md","release":"yarn build && yarn publishing","lint":"eslint -c ./.eslintrc.js './{src,scripts,build}/**/*.{js,ts,tsx}'","format":"prettier -w '**/*.ts?(x)'","patch-package":"patch-package"},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint --fix"],"package.json":"sort-package-json"},"dependencies":{"vue-demi":"latest"},"devDependencies":{"@babel/core":"^7.12.3","@babel/plugin-proposal-nullish-coalescing-operator":"^7.14.5","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.1","@babel/runtime-corejs3":"^7.12.5","@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/jest":"^27.4.0","@types/mockjs":"^1.0.3","@types/node":"^17.0.16","@typescript-eslint/eslint-plugin":"^4.8.2","@typescript-eslint/parser":"^4.8.2","@vitejs/plugin-vue":"^1.2.1","@vitejs/plugin-vue-jsx":"^1.1.3","@vue/babel-plugin-jsx":"^1.0.0-rc.3","@vue/compiler-sfc":"^3.0.6","@vue/composition-api":"^1.4.6","axios":"^0.21.1","babel-jest":"^27.5.0","eslint":"^7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-simple-import-sort":"^7.0.0","eslint-plugin-vue":"^7.0.0-0","fetch-mock":"^9.10.7","husky":"^7.0.4","jest":"^27.5.0","jest-environment-jsdom-global":"^2.0.4","lint-staged":"^10.5.2","mockjs":"^1.1.0","node-fetch":"2","np":"^7.0.0","patch-package":"^6.4.7","prettier":"^2.2.0","rimraf":"^3.0.2","rollup":"^2.33.1","rollup-plugin-dts":"^4.2.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","simple-git":"^2.21.0","sort-package-json":"^1.50.0","standard-version":"^9.1.1","ts-jest":"^27.1.3","typescript":"^4.0.5","vite":"^2.1.5","vite-plugin-vue2":"^1.9.2","vue-template-compiler":"^2.6.14","vue2":"npm:vue@2","vue3":"npm:vue@3"},"peerDependencies":{"@vue/composition-api":"^1.0.0-rc.1","vue":"^2.0.0 || >=3.0.0"},"peerDependenciesMeta":{"@vue/composition-api":{"optional":true}},"readmeFilename":"README.md","readme":"English | [简体中文](README-zh_CN.md)\n\n<p align=\"center\">\n  <a href=\"https://www.attojs.org\">\n    <img\n      width=\"150\"\n      src=\"https://raw.githubusercontent.com/AttoJS/art/master/vue-request-logo.png\"\n      alt=\"VueRequest logo\"\n    />\n  </a>\n</p>\n<h1 align=\"center\">VueRequest</h1>\n<div align=\"center\">\n  <p align=\"center\">⚡️ Vue composition API for data fetching, supports SWR, polling, error retry, cache request, pagination, etc.</p>\n   <a href=\"https://codecov.io/github/attojs/vue-request?branch=master\">\n    <img\n      src=\"https://img.shields.io/codecov/c/github/attojs/vue-request?token=NW2XVQWGPP\"\n      alt=\"Coverage Status\"\n    />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/bundlephobia/minzip/vue-request/next\" alt=\"Size\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/npm/v/vue-request/next\" alt=\"Version\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/github/languages/top/attojs/vue-request\" alt=\"Languages\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/npm/l/vue-request\" alt=\"License\" />\n  </a>\n  <a href=\"https://github.com/AttoJS/vue-request/stargazers\">\n    <img src=\"https://img.shields.io/github/stars/attojs/vue-request\" alt=\"Star\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/npm/dm/vue-request\" alt=\"Download\" />\n  </a>\n</div>\n\n## Status\n\nCurrently in Beta version. For details, please see the [changelog](https://github.com/AttoJS/vue-request/issues/121).\n\n## Why VueRequest\n\nIn the past projects, they were often confused by repeated implementations such as the management of the loading state, the requested throttling and debounce, the caching of request data, and pagination. Whenever we start a new project, we have to manually deal with the above problems, which will be a repetitive work, but also to ensure that the team is consistent.\n\nVueRequest aims to provide developers with a convenient and fast way to manage the state of the request API. In the development, save repetitive work, and it can be used only with a simple configuration, focusing on the core of the development project.\n\n## Features\n\n- 🌈 &nbsp;Support Vue 2 & 3\n- 🚀 &nbsp;All data is reactive\n- 🔄 &nbsp;Interval polling\n- 🤖 &nbsp;Automatic error retry\n- 🗄 &nbsp;Built-in cache\n- 💧 &nbsp;Throttle and Debounce\n- ⚙️ &nbsp;Powerful pagination extension and load more extensions\n- 📠 &nbsp;Written in TypeScript\n- ⚡️ &nbsp;Compatible with Vite\n- 🍃 &nbsp;Lightweight\n- 📦 &nbsp;Out of the box\n\n## Documentation\n\n- [English](https://www.attojs.org/)\n- [中文文档](https://www.attojs.com/)\n\n## Install\n\nYou can install VueRequest with [NPM](https://www.npmjs.com/), [YARN](https://yarnpkg.com/), or a `<script>` via [unpkg.com](https://unpkg.com/)\n\n### NPM\n\n```sh\nnpm install vue-request@next\n# or\nyarn add vue-request@next\n```\n\n### CDN\n\n> For production, we recommend linking to a specific version number and build to avoid unexpected breakage from newer versions.\n\n```html\n<script src=\"https://unpkg.com/vue-request/dist/vue-request.min.js\"></script>\n```\n\nOnce you've added this you will have access to the `window.VueRequest` object and its exports.\n\n## Usage\n\n```vue\n<template>\n  <div>\n    <div v-if=\"loading\">loading...</div>\n    <div v-if=\"error\">failed to fetch</div>\n    <div v-if=\"data\">Hey! {{ data }}</div>\n  </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue';\nexport default defineComponent({\n  setup() {\n    const { data, loading, error } = useRequest(service);\n\n    return {\n      data,\n      loading,\n      error,\n    };\n  },\n});\n</script>\n```\n\nIn this example, `useRequest` accepts a `service` function. `service` is a asynchronous function. In other words, you can use **axios** to fetch data and return a **Promise**. More specific instructions can be viewed in [document](https://www.attojs.org/guide/documentation/dataFetching.html).\n\n`useRequest` also return 3 values: `data`, `loading` and `error`. When the request is not yet finished, data will be `undefined` and `loading` will be `true`. And when we get a response, it sets data and error based on the result of service and rerenders the component. This is because `data` and `error` are [Reactivity(Refs)](https://v3.vuejs.org/guide/reactivity-fundamentals.html), and their values will be set by the service response.\n\n## Some of the coolest features:\n\nVueRequest has many features, such as error retry, cache, pagination, throttle, debounce..., here are two cool features\n\n### 1.Refresh On Focus\n\nSometimes, you need to ensure data consistency between multiple browser windows; or when the user's computer is reactivated in the dormant state, the page data needs to be synchronized to the latest state. `refreshOnWindowFocus` may save you a lot of code. [Click here to go to the document](https://www.attojs.org/guide/documentation/refreshOnWindowFocus.html)\n\n```ts\nconst { data, error, run } = useRequest(getUserInfo, {\n  refreshOnWindowFocus: true,\n  refocusTimespan: 1000, // refresh interval 1s\n});\n```\n\n![vue-request](https://z3.ax1x.com/2021/09/10/hXAs8s.gif)\n\n### 2.Polling Data\n\nSometimes, you want to ensure that data is synchronized and updated between multiple devices. At this time, we can use the `pollingInterval` provided by us to periodically re-request the request API, so that the data consistency between multiple devices can be guaranteed. When the user modifies the data, the two windows will be updated simultaneously in real time. [Click here to go to the document](https://www.attojs.org/guide/documentation/polling.htm)\n\n```ts\nconst { data, error, run } = useRequest(getUserInfo, {\n  pollingInterval: 1000, // polling interval 1s\n});\n```\n\n![vue-request](https://z3.ax1x.com/2021/09/10/hXAy2n.gif)\n\n## Thanks\n\nThank them for inspiring us.\n\n- [vercel/swr](https://github.com/vercel/swr)\n- [alibaba/hooks](https://ahooks.js.org/hooks/async#userequest)\n\n## License\n\n[MIT License](https://github.com/AttoJS/vue-request/blob/master/LICENSE) © 2020-present [AttoJS](https://github.com/AttoJS)\n","licenseText":"MIT License\n\nCopyright (c) 2020 AttoJS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"vue-request@2.0.0-rc.1","dist":{"shasum":"7e3828911ff82aa456526635b008548520b2d041","integrity":"sha512-x5N/wja4UsLuk7mGICmJ8COij1QMOjnC3z6Pfo8dQ9rJj7iF+roGeBWnBXCn9/2hrKg9IhpleclyWXur7cswUg==","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-2.0.0-rc.1.tgz","fileCount":13,"unpackedSize":122000,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDMhiUQniy08ZJVCQBScinlAhJg0eMgCBhqViVhRFIteQIgdaDrC/E9vXzTtL3Cs5miBcPRSHN442G1mWjkMZ8g6iY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJirDj1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp5mg/8C597mP059c4rT1qzvajxnqH6jE9CAc2iiCHnccCbSEqS2ZU8\r\ngWdXjk701euaqvlCvPmxxC9ykJ43a8Urus9VoQOSJTkVsjZOP39Il62iIg8g\r\n6AtBRgbn6XIh5ZZZfQ1f3vFY8/EmJqFEJFQivUG4mlK8b3b1dkr+fMUEb2Fg\r\nogPB/QAPZGJ1IclqPsKxc3sq0T/YKev7ElIf5mthcoNtdcA2aENnHIm/AMdJ\r\nt0HlxisLvuBgaRXeCoooKCABCkwq71sdwH4KOc5G5jYxMIcnOlLLhf4yHUXR\r\nhzOikYxDVkkqbYtczvER63ci3QZlnVMJYd+Lbs4tw4jfauSK9AloapG8uuTe\r\nTNbCDFZRqJnxtWEcvvRgmghD11se61u+rRIbCU6xa6jYRuPDebebkl+mlg7r\r\nkOUyn+iGDyqKSHhQUNYgE5t/dxQhN+5JjJrRH3t5QyisfBto2vy6kh/pRJ5v\r\nvfugETSU1ZuTDpGnkj9ryz13xQeugPCg5BDJ07sgglGJ65G/ikvlAlNlJhnq\r\ngfNuA3PMbUx8J63z+OTg9Czs9WpmgEPFS4sn2kBkqS9i17lteBs80SxgET9T\r\nM5zzyl1VCxAgxGHyqGV94C47l7Xzj2I1e2jtoB72xmsNO/VIFzWi6Sb+SxPq\r\nRwl5ITBpV/a37DBQPWf92AVppNO7v6nzmAE=\r\n=aX6Y\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"john60676","email":"john60676@qq.com"},"directories":{},"maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-request_2.0.0-rc.1_1655453941194_0.9043566073992644"},"_hasShrinkwrap":false},"2.0.0-rc.2":{"name":"vue-request","version":"2.0.0-rc.2","description":"Vue composition API for data fetching, supports SWR, polling, error retry, cache request, pagination and other cool features.","keywords":["vue","vue3","vue2","swr","request","http","fetch","composition-api","vue-demi","axios","vue-request","vue request"],"homepage":"https://www.attojs.org/","bugs":{"url":"https://github.com/attojs/vue-request/issues"},"repository":{"type":"git","url":"https://github.com/attojs/vue-request/tree/next"},"license":"MIT","main":"dist/index.cjs.js","unpkg":"dist/vue-request.min.js","module":"dist/index.es.js","types":"dist/types/index.d.ts","scripts":{"build":"yarn switch:3 && yarn clean && yarn build:code && yarn build:types","build:code":"rollup --config ./build/rollup.config.js","build:types":"rollup --config ./build/rollup.config.types.js","dev":"yarn switch:3 && vite --config ./build/vite.config.ts ./examples/vue3","dev:2":"yarn switch:2 && vite --config ./build/vite-vue2.config.ts ./examples/vue2","test":"yarn test:3 && yarn test:2","test:3":"yarn switch:3 && jest --coverage","test:2":"yarn switch:2 && jest --coverage","switch:3":"vue-demi-switch 3 vue3","switch:2":"vue-demi-switch 2 vue2","clean":"rimraf dist/*","publishing":"np","changelog":"standard-version && standard-version -i CHANGELOG.zh-CN.md -o CHANGELOG.zh-CN.md","release":"yarn build && yarn publishing","lint":"eslint -c ./.eslintrc.js './{src,scripts,build}/**/*.{js,ts,tsx}'","format":"prettier -w '**/*.ts?(x)'","patch-package":"patch-package"},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint --fix"],"package.json":"sort-package-json"},"dependencies":{"vue-demi":"latest"},"devDependencies":{"@babel/core":"^7.12.3","@babel/plugin-proposal-nullish-coalescing-operator":"^7.14.5","@babel/plugin-syntax-class-properties":"^7.12.13","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.1","@babel/runtime-corejs3":"^7.12.5","@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/jest":"^27.4.0","@types/mockjs":"^1.0.3","@types/node":"^17.0.16","@typescript-eslint/eslint-plugin":"^4.8.2","@typescript-eslint/parser":"^4.8.2","@vitejs/plugin-vue":"^1.2.1","@vitejs/plugin-vue-jsx":"^1.1.3","@vue/babel-plugin-jsx":"^1.0.0-rc.3","@vue/compiler-sfc":"^3.0.6","@vue/composition-api":"^1.4.6","axios":"^0.21.1","babel-jest":"^27.5.0","eslint":"^7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-simple-import-sort":"^7.0.0","eslint-plugin-vue":"^7.0.0-0","fetch-mock":"^9.10.7","husky":"^7.0.4","jest":"^27.5.0","jest-environment-jsdom-global":"^2.0.4","lint-staged":"^10.5.2","mockjs":"^1.1.0","node-fetch":"2","np":"^7.0.0","patch-package":"^6.4.7","prettier":"^2.2.0","rimraf":"^3.0.2","rollup":"^2.33.1","rollup-plugin-dts":"^4.2.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","simple-git":"^2.21.0","sort-package-json":"^1.50.0","standard-version":"^9.1.1","ts-jest":"^27.1.3","typescript":"^4.0.5","vite":"^2.1.5","vite-plugin-vue2":"^1.9.2","vue-template-compiler":"^2.6.14","vue2":"npm:vue@2","vue3":"npm:vue@3"},"peerDependencies":{"@vue/composition-api":"^1.0.0-rc.1","vue":"^2.0.0 || >=3.0.0"},"peerDependenciesMeta":{"@vue/composition-api":{"optional":true}},"readmeFilename":"README.md","readme":"English | [简体中文](README-zh_CN.md)\n\n<p align=\"center\">\n  <a href=\"https://next.attojs.org\">\n    <img\n      width=\"150\"\n      src=\"https://raw.githubusercontent.com/AttoJS/art/master/vue-request-logo.png\"\n      alt=\"VueRequest logo\"\n    />\n  </a>\n</p>\n<h1 align=\"center\">VueRequest</h1>\n<div align=\"center\">\n  <p align=\"center\">⚡️ Vue composition API for data fetching, supports SWR, polling, error retry, cache request, pagination, etc.</p>\n   <a href=\"https://codecov.io/github/attojs/vue-request?branch=master\">\n    <img\n      src=\"https://img.shields.io/codecov/c/github/attojs/vue-request?token=NW2XVQWGPP\"\n      alt=\"Coverage Status\"\n    />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/bundlephobia/minzip/vue-request/next\" alt=\"Size\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/npm/v/vue-request/next\" alt=\"Version\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/github/languages/top/attojs/vue-request\" alt=\"Languages\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/npm/l/vue-request\" alt=\"License\" />\n  </a>\n  <a href=\"https://github.com/AttoJS/vue-request/stargazers\">\n    <img src=\"https://img.shields.io/github/stars/attojs/vue-request\" alt=\"Star\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/npm/dm/vue-request\" alt=\"Download\" />\n  </a>\n</div>\n\n## Status\n\nCurrently in RC version. For details, please see the [changelog](https://github.com/AttoJS/vue-request/issues/121).\n\n## Why VueRequest\n\nIn the past projects, they were often confused by repeated implementations such as the management of the loading state, the requested throttling and debounce, the caching of request data, and pagination. Whenever we start a new project, we have to manually deal with the above problems, which will be a repetitive work, but also to ensure that the team is consistent.\n\nVueRequest aims to provide developers with a convenient and fast way to manage the state of the request API. In the development, save repetitive work, and it can be used only with a simple configuration, focusing on the core of the development project.\n\n## Features\n\n- 🌈 &nbsp;Support Vue 2 & 3\n- 🚀 &nbsp;All data is reactive\n- 🔄 &nbsp;Interval polling\n- 🤖 &nbsp;Automatic error retry\n- 🗄 &nbsp;Built-in cache\n- 💧 &nbsp;Throttle and Debounce\n- ⚙️ &nbsp;Powerful pagination extension and load more extensions\n- 📠 &nbsp;Written in TypeScript\n- ⚡️ &nbsp;Compatible with Vite\n- 🍃 &nbsp;Lightweight\n- 📦 &nbsp;Out of the box\n\n## Documentation\n\n- [English](https://next.attojs.org/)\n- [中文文档](https://next.attojs.com/)\n\n## Install\n\nYou can install VueRequest with [NPM](https://www.npmjs.com/), [YARN](https://yarnpkg.com/), or a `<script>` via [unpkg.com](https://unpkg.com/)\n\n### NPM\n\n```sh\nnpm install vue-request@next\n# or\nyarn add vue-request@next\n# or\npnpm install vue-request@next\n```\n\n### CDN\n\n> For production, we recommend linking to a specific version number and build to avoid unexpected breakage from newer versions.\n\n```html\n<script src=\"https://unpkg.com/vue-request@next/dist/vue-request.min.js\"></script>\n```\n\nOnce you've added this you will have access to the `window.VueRequest` object and its exports.\n\n## Usage\n\n```vue\n<template>\n  <div>\n    <div v-if=\"loading\">loading...</div>\n    <div v-if=\"error\">failed to fetch</div>\n    <div v-if=\"data\">Hey! {{ data }}</div>\n  </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue';\nexport default defineComponent({\n  setup() {\n    const { data, loading, error } = useRequest(service);\n\n    return {\n      data,\n      loading,\n      error,\n    };\n  },\n});\n</script>\n```\n\nIn this example, `useRequest` accepts a `service` function. `service` is a asynchronous function. In other words, you can use **axios** to fetch data and return a **Promise**. More specific instructions can be viewed in [document](https://next.attojs.org/guide/documentation/dataFetching.html).\n\n`useRequest` also return 3 values: `data`, `loading` and `error`. When the request is not yet finished, data will be `undefined` and `loading` will be `true`. And when we get a response, it sets data and error based on the result of service and rerenders the component. This is because `data` and `error` are [Reactivity(Refs)](https://v3.vuejs.org/guide/reactivity-fundamentals.html), and their values will be set by the service response.\n\n## Some of the coolest features:\n\nVueRequest has many features, such as error retry, cache, pagination, throttle, debounce..., here are two cool features\n\n### 1.Refresh On Focus\n\nSometimes, you need to ensure data consistency between multiple browser windows; or when the user's computer is reactivated in the dormant state, the page data needs to be synchronized to the latest state. `refreshOnWindowFocus` may save you a lot of code. [Click here to go to the document](https://next.attojs.org/guide/documentation/refreshOnWindowFocus.html)\n\n```ts\nconst { data, error, run } = useRequest(getUserInfo, {\n  refreshOnWindowFocus: true,\n  refocusTimespan: 1000, // refresh interval 1s\n});\n```\n\n![vue-request](https://z3.ax1x.com/2021/09/10/hXAs8s.gif)\n\n### 2.Polling Data\n\nSometimes, you want to ensure that data is synchronized and updated between multiple devices. At this time, we can use the `pollingInterval` provided by us to periodically re-request the request API, so that the data consistency between multiple devices can be guaranteed. When the user modifies the data, the two windows will be updated simultaneously in real time. [Click here to go to the document](https://next.attojs.org/guide/documentation/polling.html)\n\n```ts\nconst { data, error, run } = useRequest(getUserInfo, {\n  pollingInterval: 1000, // polling interval 1s\n});\n```\n\n![vue-request](https://z3.ax1x.com/2021/09/10/hXAy2n.gif)\n\n## Thanks\n\nThank them for inspiring us.\n\n- [vercel/swr](https://github.com/vercel/swr)\n- [alibaba/hooks](https://ahooks.js.org/hooks/async#userequest)\n\n## License\n\n[MIT License](https://github.com/AttoJS/vue-request/blob/master/LICENSE) © 2020-present [AttoJS](https://github.com/AttoJS)\n","licenseText":"MIT License\n\nCopyright (c) 2020 AttoJS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"vue-request@2.0.0-rc.2","dist":{"shasum":"6fa297016eb6712481f1f326a02c116a11a39b78","integrity":"sha512-8KJNnWy+M3NJNfjptFFdJfz7tzhCPu2/sNM7bkCzk1+VJP/iU7l8D/sJi/0Kq+WxhJeUUIIVrx8u26c1h8orhA==","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-2.0.0-rc.2.tgz","fileCount":13,"unpackedSize":127252,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCNWjah8whqmQc0NhmrxQMrLBeRiEpbVNevD/rBkG4V1QIhAIVNnpZdcXgq8pq+fHQdQ92dXdKlXS+8uc3+GBXUKlLW"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiutWNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqudBAAmyNzXlwMbvzbCqfoAPU0Sh9jkdIhHo4P8+OTu9NArShBLR2W\r\nETlUy/IDPv6WgdEJD4NeRJrBWxbKf1byMDEX5xzlm+emyojESEdwXcxFlPsh\r\nKwOIp4oCieq8C4hxVBk0rWkJo0d3H1n8SvCwRwyauPPaSVigfNhZ2L0IvLz5\r\n6Clsy6/wV5/MDqpvhf62i9kwBZk/1rAQdjTtJdovLb5GLMYs0zkEamYQ/17w\r\nCRNbJMYtruu3cEBqKu87IJFevVCOJvqqB1w4PLmRV+aaG9l89X+FMRgZKzkQ\r\nfbDBTBhgy2lXWHL2pDeyqCygBr+ROSwanCjEyouP0/7AgtGfS4pEwr/2kFKr\r\nZFKFP60n5tjoR/sRS6bBBJ5H2AJVyM51zUao8grioTEPWr772uLxFjxjwNGa\r\nYO6HXL/tSKARrw2h+csU+8nYK+EKgeoEsbJMCK7MK7f1riLq72iwd+0cdZiq\r\nhm6kusgh5708v8PLgmRy6kzVBxbYp4QWN4o/FQnHV7he64qFVlEsBj9oPyB3\r\n8JdcPS1sZGCXtb6qphsyX9MtuHHfqi2HvxQ+RKN642P6sY3boWYySbyvBgtS\r\nYhmB9j2GN0cIk+Mq+53nU7TOY2CPVh2hMrFa4nGLKNV3LXepr9EKfV7c0I5c\r\nZvtu7m4yweukctXIV+2eS6JyI70kaAtE2W0=\r\n=4tAs\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"john60676","email":"john60676@qq.com"},"directories":{},"maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-request_2.0.0-rc.2_1656411532943_0.5905936255165798"},"_hasShrinkwrap":false},"2.0.0-rc.3":{"name":"vue-request","version":"2.0.0-rc.3","description":"Vue composition API for data fetching, supports SWR, polling, error retry, cache request, pagination and other cool features.","keywords":["vue","vue3","vue2","swr","request","http","fetch","composition-api","vue-demi","axios","vue-request","vue request"],"homepage":"https://www.attojs.org/","bugs":{"url":"https://github.com/attojs/vue-request/issues"},"repository":{"type":"git","url":"https://github.com/attojs/vue-request/tree/next"},"license":"MIT","main":"dist/index.cjs.js","unpkg":"dist/vue-request.min.js","module":"dist/index.es.js","types":"dist/types/index.d.ts","scripts":{"build":"yarn switch:3 && yarn clean && yarn build:code && yarn build:types","build:code":"rollup --config ./build/rollup.config.js","build:types":"rollup --config ./build/rollup.config.types.js","dev":"yarn switch:3 && vite --config ./build/vite.config.ts ./examples/vue3","dev:2":"yarn switch:2 && vite --config ./build/vite-vue2.config.ts ./examples/vue2","test":"yarn test:3 && yarn test:2","test:3":"yarn switch:3 && jest --coverage","test:2":"yarn switch:2 && jest --coverage","switch:3":"vue-demi-switch 3 vue3","switch:2":"vue-demi-switch 2 vue2","clean":"rimraf dist/*","publishing":"np","changelog":"standard-version && standard-version -i CHANGELOG.zh-CN.md -o CHANGELOG.zh-CN.md","release":"yarn build && yarn publishing","lint":"eslint -c ./.eslintrc.js './{src,scripts,build}/**/*.{js,ts,tsx}'","format":"prettier -w '**/*.ts?(x)'","patch-package":"patch-package"},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint --fix"],"package.json":"sort-package-json"},"dependencies":{"vue-demi":"latest"},"devDependencies":{"@babel/core":"^7.12.3","@babel/plugin-proposal-nullish-coalescing-operator":"^7.14.5","@babel/plugin-syntax-class-properties":"^7.12.13","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.1","@babel/runtime-corejs3":"^7.12.5","@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/jest":"^27.4.0","@types/mockjs":"^1.0.3","@types/node":"^17.0.16","@typescript-eslint/eslint-plugin":"^4.8.2","@typescript-eslint/parser":"^4.8.2","@vitejs/plugin-vue":"^1.2.1","@vitejs/plugin-vue-jsx":"^1.1.3","@vue/babel-plugin-jsx":"^1.0.0-rc.3","@vue/compiler-sfc":"^3.0.6","@vue/composition-api":"^1.4.6","axios":"^0.21.1","babel-jest":"^27.5.0","eslint":"^7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-simple-import-sort":"^7.0.0","eslint-plugin-vue":"^7.0.0-0","fetch-mock":"^9.10.7","husky":"^7.0.4","jest":"^27.5.0","jest-environment-jsdom-global":"^2.0.4","lint-staged":"^10.5.2","mockjs":"^1.1.0","node-fetch":"2","np":"^7.0.0","patch-package":"^6.4.7","prettier":"^2.2.0","rimraf":"^3.0.2","rollup":"^2.33.1","rollup-plugin-dts":"^4.2.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","simple-git":"^2.21.0","sort-package-json":"^1.50.0","standard-version":"^9.1.1","ts-jest":"^27.1.3","typescript":"^4.0.5","vite":"^2.1.5","vite-plugin-vue2":"^1.9.2","vue-template-compiler":"^2.6.14","vue2":"npm:vue@2","vue3":"npm:vue@3"},"peerDependencies":{"@vue/composition-api":"^1.0.0-rc.1","vue":"^2.0.0 || >=3.0.0"},"peerDependenciesMeta":{"@vue/composition-api":{"optional":true}},"readmeFilename":"README.md","readme":"English | [简体中文](README-zh_CN.md)\n\n<p align=\"center\">\n  <a href=\"https://next.attojs.org\">\n    <img\n      width=\"150\"\n      src=\"https://raw.githubusercontent.com/AttoJS/art/master/vue-request-logo.png\"\n      alt=\"VueRequest logo\"\n    />\n  </a>\n</p>\n<h1 align=\"center\">VueRequest</h1>\n<div align=\"center\">\n  <p align=\"center\">⚡️ Vue composition API for data fetching, supports SWR, polling, error retry, cache request, pagination, etc.</p>\n   <a href=\"https://codecov.io/github/attojs/vue-request?branch=master\">\n    <img\n      src=\"https://img.shields.io/codecov/c/github/attojs/vue-request?token=NW2XVQWGPP\"\n      alt=\"Coverage Status\"\n    />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/bundlephobia/minzip/vue-request/next\" alt=\"Size\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/npm/v/vue-request/next\" alt=\"Version\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/github/languages/top/attojs/vue-request\" alt=\"Languages\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/npm/l/vue-request\" alt=\"License\" />\n  </a>\n  <a href=\"https://github.com/AttoJS/vue-request/stargazers\">\n    <img src=\"https://img.shields.io/github/stars/attojs/vue-request\" alt=\"Star\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/npm/dm/vue-request\" alt=\"Download\" />\n  </a>\n</div>\n\n## Status\n\nCurrently in RC version. For details, please see the [changelog](https://github.com/AttoJS/vue-request/issues/121).\n\n## Why VueRequest\n\nIn the past projects, they were often confused by repeated implementations such as the management of the loading state, the requested throttling and debounce, the caching of request data, and pagination. Whenever we start a new project, we have to manually deal with the above problems, which will be a repetitive work, but also to ensure that the team is consistent.\n\nVueRequest aims to provide developers with a convenient and fast way to manage the state of the request API. In the development, save repetitive work, and it can be used only with a simple configuration, focusing on the core of the development project.\n\n## Features\n\n- 🌈 &nbsp;Support Vue 2 & 3\n- 🚀 &nbsp;All data is reactive\n- 🔄 &nbsp;Interval polling\n- 🤖 &nbsp;Automatic error retry\n- 🗄 &nbsp;Built-in cache\n- 💧 &nbsp;Throttle and Debounce\n- ⚙️ &nbsp;Powerful pagination extension and load more extensions\n- 📠 &nbsp;Written in TypeScript\n- ⚡️ &nbsp;Compatible with Vite\n- 🍃 &nbsp;Lightweight\n- 📦 &nbsp;Out of the box\n\n## Documentation\n\n- [English](https://next.attojs.org/)\n- [中文文档](https://next.attojs.com/)\n\n## Install\n\nYou can install VueRequest with [NPM](https://www.npmjs.com/), [YARN](https://yarnpkg.com/), or a `<script>` via [unpkg.com](https://unpkg.com/)\n\n### NPM\n\n```sh\nnpm install vue-request@next\n# or\nyarn add vue-request@next\n# or\npnpm install vue-request@next\n```\n\n### CDN\n\n> For production, we recommend linking to a specific version number and build to avoid unexpected breakage from newer versions.\n\n```html\n<script src=\"https://unpkg.com/vue-request@next/dist/vue-request.min.js\"></script>\n```\n\nOnce you've added this you will have access to the `window.VueRequest` object and its exports.\n\n## Usage\n\n```vue\n<template>\n  <div>\n    <div v-if=\"loading\">loading...</div>\n    <div v-if=\"error\">failed to fetch</div>\n    <div v-if=\"data\">Hey! {{ data }}</div>\n  </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue';\nexport default defineComponent({\n  setup() {\n    const { data, loading, error } = useRequest(service);\n\n    return {\n      data,\n      loading,\n      error,\n    };\n  },\n});\n</script>\n```\n\nIn this example, `useRequest` accepts a `service` function. `service` is a asynchronous function. In other words, you can use **axios** to fetch data and return a **Promise**. More specific instructions can be viewed in [document](https://next.attojs.org/guide/documentation/dataFetching.html).\n\n`useRequest` also return 3 values: `data`, `loading` and `error`. When the request is not yet finished, data will be `undefined` and `loading` will be `true`. And when we get a response, it sets data and error based on the result of service and rerenders the component. This is because `data` and `error` are [Reactivity(Refs)](https://v3.vuejs.org/guide/reactivity-fundamentals.html), and their values will be set by the service response.\n\n## Some of the coolest features:\n\nVueRequest has many features, such as error retry, cache, pagination, throttle, debounce..., here are two cool features\n\n### 1.Refresh On Focus\n\nSometimes, you need to ensure data consistency between multiple browser windows; or when the user's computer is reactivated in the dormant state, the page data needs to be synchronized to the latest state. `refreshOnWindowFocus` may save you a lot of code. [Click here to go to the document](https://next.attojs.org/guide/documentation/refreshOnWindowFocus.html)\n\n```ts\nconst { data, error, run } = useRequest(getUserInfo, {\n  refreshOnWindowFocus: true,\n  refocusTimespan: 1000, // refresh interval 1s\n});\n```\n\n![vue-request](https://z3.ax1x.com/2021/09/10/hXAs8s.gif)\n\n### 2.Polling Data\n\nSometimes, you want to ensure that data is synchronized and updated between multiple devices. At this time, we can use the `pollingInterval` provided by us to periodically re-request the request API, so that the data consistency between multiple devices can be guaranteed. When the user modifies the data, the two windows will be updated simultaneously in real time. [Click here to go to the document](https://next.attojs.org/guide/documentation/polling.html)\n\n```ts\nconst { data, error, run } = useRequest(getUserInfo, {\n  pollingInterval: 1000, // polling interval 1s\n});\n```\n\n![vue-request](https://z3.ax1x.com/2021/09/10/hXAy2n.gif)\n\n## Thanks\n\nThank them for inspiring us.\n\n- [vercel/swr](https://github.com/vercel/swr)\n- [alibaba/hooks](https://ahooks.js.org/hooks/async#userequest)\n\n## License\n\n[MIT License](https://github.com/AttoJS/vue-request/blob/master/LICENSE) © 2020-present [AttoJS](https://github.com/AttoJS)\n","licenseText":"MIT License\n\nCopyright (c) 2020 AttoJS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"vue-request@2.0.0-rc.3","dist":{"shasum":"b30e8d8f5964a255dfffa095a5bc1aa5ba64d19a","integrity":"sha512-8ACVzScFWo7/rlUemRzti7J95ZtiH27/B/zaM6LnCOJwUoxE6zU8rRiuFIu40ZTbkHUSbNsvP1h6aY1a0Ig3Ew==","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-2.0.0-rc.3.tgz","fileCount":13,"unpackedSize":127252,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFA87tSJxyzHxBis3aiIj2N0xmHFFzQdteXuQ+NuPBVPAiBs/HDSm0UJtK2e25gD1jWUZOme1nBEHaexpF0pLRz/6g=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJixo80ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrLsw/9HxH5OnteqFFcAGbZcKNV+RqrZMYOvb+ByFLLXpAUU29IlTRe\r\nfASDrqnstJhTPhKkn4K/L8XZu/yTeUzTraqHuwo14rVJcqYIG5BUliljRu3/\r\niH2oIOjgj1k5fidK7U0UQF8ZEEL9stf94scKUXsA0hYEFVlkPLTXlN/XTMDl\r\nZEh88hdaVzbI+hK672T7CmHC9TlAQs2xP73ANJuwoOYihcB7F44c/IfA4RFh\r\nARBtt+qU4V/FhLmT82JKqTiT0zDeysyhK1wh4KvEHNEZ9k5uleEe5xB+WnxG\r\nO/vVYKHIj+6mrgPoVk59m2h8tSTDn49zRCd4rfrJ/l6iAgP1CQxmd22kndpQ\r\nFHXoHNb7MgDuHPApxZnNoJ6LKsU63YulES9qU82UI8/zWHCal8xlTV8XYx8H\r\n0v8zH6CMrKZbT9/UyR/p+9j371BROuDWKl3VeGIovLjQAfooNIiY/HSUCAWp\r\nCKWqOW0xBqCwPo7eKIkNVv9/j33KFhK99UDw5/VxaMfn9EPRviQM+pM9ZAGp\r\n1Eyo0Zl38tFWHweXp0M8LgYebmHhx+HBxNQsSWV4Ors/FBIL917cZZwxxF9T\r\n/KUXD/vPBHuVQtyI7yPf/pKjnFFQk+kbxTaoA1TxOwfMiMCj0qf166SFUvCa\r\n27xqbdrnOUM3xsuaZ42pdfVz7sLQbzL1XBM=\r\n=EYD1\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"john60676","email":"john60676@qq.com"},"directories":{},"maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-request_2.0.0-rc.3_1657179956345_0.8531872622617711"},"_hasShrinkwrap":false},"2.0.0-rc.4":{"name":"vue-request","version":"2.0.0-rc.4","description":"Vue composition API for data fetching, supports SWR, polling, error retry, cache request, pagination and other cool features.","keywords":["vue","vue3","vue2","swr","request","http","fetch","composition-api","vue-demi","axios","vue-request","vue request"],"homepage":"https://www.attojs.org/","bugs":{"url":"https://github.com/attojs/vue-request/issues"},"repository":{"type":"git","url":"https://github.com/attojs/vue-request/tree/next"},"license":"MIT","main":"dist/index.cjs.js","unpkg":"dist/vue-request.min.js","module":"dist/index.es.js","types":"dist/types/index.d.ts","scripts":{"build":"yarn switch:3 && yarn clean && yarn build:code && yarn build:types","build:code":"rollup --config ./build/rollup.config.js","build:types":"rollup --config ./build/rollup.config.types.js","dev":"yarn switch:3 && vite --config ./build/vite.config.ts ./examples/vue3","dev:2":"yarn switch:2 && vite --config ./build/vite-vue2.config.ts ./examples/vue2","test":"yarn test:3 && yarn test:2","test:3":"yarn switch:3 && jest --coverage","test:2":"yarn switch:2 && jest --coverage","switch:3":"vue-demi-switch 3 vue3","switch:2":"vue-demi-switch 2 vue2","clean":"rimraf dist/*","publishing":"np","changelog":"standard-version && standard-version -i CHANGELOG.zh-CN.md -o CHANGELOG.zh-CN.md","release":"yarn build && yarn publishing","lint":"eslint -c ./.eslintrc.js './{src,scripts,build}/**/*.{js,ts,tsx}'","format":"prettier -w '**/*.ts?(x)'","patch-package":"patch-package"},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint --fix"],"package.json":"sort-package-json"},"dependencies":{"vue-demi":"latest"},"devDependencies":{"@babel/core":"^7.12.3","@babel/plugin-proposal-nullish-coalescing-operator":"^7.14.5","@babel/plugin-syntax-class-properties":"^7.12.13","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.1","@babel/runtime-corejs3":"^7.12.5","@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/jest":"^27.4.0","@types/mockjs":"^1.0.3","@types/node":"^17.0.16","@typescript-eslint/eslint-plugin":"^4.8.2","@typescript-eslint/parser":"^4.8.2","@vitejs/plugin-vue":"^1.2.1","@vitejs/plugin-vue-jsx":"^1.1.3","@vue/babel-plugin-jsx":"^1.0.0-rc.3","@vue/compiler-sfc":"^3.0.6","@vue/composition-api":"^1.4.6","axios":"^0.21.1","babel-jest":"^27.5.0","eslint":"^7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-simple-import-sort":"^7.0.0","eslint-plugin-vue":"^7.0.0-0","fetch-mock":"^9.10.7","husky":"^7.0.4","jest":"^27.5.0","jest-environment-jsdom-global":"^2.0.4","lint-staged":"^10.5.2","mockjs":"^1.1.0","node-fetch":"2","np":"^7.0.0","patch-package":"^6.4.7","prettier":"^2.2.0","rimraf":"^3.0.2","rollup":"^2.33.1","rollup-plugin-dts":"^4.2.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","simple-git":"^2.21.0","sort-package-json":"^1.50.0","standard-version":"^9.1.1","ts-jest":"^27.1.3","typescript":"^4.0.5","vite":"^2.1.5","vite-plugin-vue2":"^1.9.2","vue-template-compiler":"^2.6.14","vue2":"npm:vue@2","vue3":"npm:vue@3"},"peerDependencies":{"@vue/composition-api":"^1.0.0-rc.1","vue":"^2.0.0 || >=3.0.0"},"peerDependenciesMeta":{"@vue/composition-api":{"optional":true}},"readmeFilename":"README.md","readme":"English | [简体中文](README-zh_CN.md)\n\n<p align=\"center\">\n  <a href=\"https://next.attojs.org\">\n    <img\n      width=\"150\"\n      src=\"https://raw.githubusercontent.com/AttoJS/art/master/vue-request-logo.png\"\n      alt=\"VueRequest logo\"\n    />\n  </a>\n</p>\n<h1 align=\"center\">VueRequest</h1>\n<div align=\"center\">\n  <p align=\"center\">⚡️ Vue composition API for data fetching, supports SWR, polling, error retry, cache request, pagination, etc.</p>\n   <a href=\"https://codecov.io/github/attojs/vue-request?branch=master\">\n    <img\n      src=\"https://img.shields.io/codecov/c/github/attojs/vue-request?token=NW2XVQWGPP\"\n      alt=\"Coverage Status\"\n    />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/bundlephobia/minzip/vue-request/next\" alt=\"Size\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/npm/v/vue-request/next\" alt=\"Version\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/github/languages/top/attojs/vue-request\" alt=\"Languages\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/npm/l/vue-request\" alt=\"License\" />\n  </a>\n  <a href=\"https://github.com/AttoJS/vue-request/stargazers\">\n    <img src=\"https://img.shields.io/github/stars/attojs/vue-request\" alt=\"Star\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/npm/dm/vue-request\" alt=\"Download\" />\n  </a>\n</div>\n\n## Status\n\nCurrently in RC version. For details, please see the [changelog](https://github.com/AttoJS/vue-request/issues/121).\n\n## Why VueRequest\n\nIn the past projects, they were often confused by repeated implementations such as the management of the loading state, the requested throttling and debounce, the caching of request data, and pagination. Whenever we start a new project, we have to manually deal with the above problems, which will be a repetitive work, but also to ensure that the team is consistent.\n\nVueRequest aims to provide developers with a convenient and fast way to manage the state of the request API. In the development, save repetitive work, and it can be used only with a simple configuration, focusing on the core of the development project.\n\n## Features\n\n- 🌈 &nbsp;Support Vue 2 & 3\n- 🚀 &nbsp;All data is reactive\n- 🔄 &nbsp;Interval polling\n- 🤖 &nbsp;Automatic error retry\n- 🗄 &nbsp;Built-in cache\n- 💧 &nbsp;Throttle and Debounce\n- ⚙️ &nbsp;Powerful pagination extension and load more extensions\n- 📠 &nbsp;Written in TypeScript\n- ⚡️ &nbsp;Compatible with Vite\n- 🍃 &nbsp;Lightweight\n- 📦 &nbsp;Out of the box\n\n## Documentation\n\n- [English](https://next.attojs.org/)\n- [中文文档](https://next.attojs.com/)\n\n## Install\n\nYou can install VueRequest with [NPM](https://www.npmjs.com/), [YARN](https://yarnpkg.com/), or a `<script>` via [unpkg.com](https://unpkg.com/)\n\n### NPM\n\n```sh\nnpm install vue-request@next\n# or\nyarn add vue-request@next\n# or\npnpm install vue-request@next\n```\n\n### CDN\n\n> For production, we recommend linking to a specific version number and build to avoid unexpected breakage from newer versions.\n\n```html\n<script src=\"https://unpkg.com/vue-request@next/dist/vue-request.min.js\"></script>\n```\n\nOnce you've added this you will have access to the `window.VueRequest` object and its exports.\n\n## Usage\n\n```vue\n<template>\n  <div>\n    <div v-if=\"loading\">loading...</div>\n    <div v-if=\"error\">failed to fetch</div>\n    <div v-if=\"data\">Hey! {{ data }}</div>\n  </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue';\nexport default defineComponent({\n  setup() {\n    const { data, loading, error } = useRequest(service);\n\n    return {\n      data,\n      loading,\n      error,\n    };\n  },\n});\n</script>\n```\n\nIn this example, `useRequest` accepts a `service` function. `service` is a asynchronous function. In other words, you can use **axios** to fetch data and return a **Promise**. More specific instructions can be viewed in [document](https://next.attojs.org/guide/documentation/dataFetching.html).\n\n`useRequest` also return 3 values: `data`, `loading` and `error`. When the request is not yet finished, data will be `undefined` and `loading` will be `true`. And when we get a response, it sets data and error based on the result of service and rerenders the component. This is because `data` and `error` are [Reactivity(Refs)](https://v3.vuejs.org/guide/reactivity-fundamentals.html), and their values will be set by the service response.\n\n## Some of the coolest features:\n\nVueRequest has many features, such as error retry, cache, pagination, throttle, debounce..., here are two cool features\n\n### 1.Refresh On Focus\n\nSometimes, you need to ensure data consistency between multiple browser windows; or when the user's computer is reactivated in the dormant state, the page data needs to be synchronized to the latest state. `refreshOnWindowFocus` may save you a lot of code. [Click here to go to the document](https://next.attojs.org/guide/documentation/refreshOnWindowFocus.html)\n\n```ts\nconst { data, error, run } = useRequest(getUserInfo, {\n  refreshOnWindowFocus: true,\n  refocusTimespan: 1000, // refresh interval 1s\n});\n```\n\n![vue-request](https://z3.ax1x.com/2021/09/10/hXAs8s.gif)\n\n### 2.Polling Data\n\nSometimes, you want to ensure that data is synchronized and updated between multiple devices. At this time, we can use the `pollingInterval` provided by us to periodically re-request the request API, so that the data consistency between multiple devices can be guaranteed. When the user modifies the data, the two windows will be updated simultaneously in real time. [Click here to go to the document](https://next.attojs.org/guide/documentation/polling.html)\n\n```ts\nconst { data, error, run } = useRequest(getUserInfo, {\n  pollingInterval: 1000, // polling interval 1s\n});\n```\n\n![vue-request](https://z3.ax1x.com/2021/09/10/hXAy2n.gif)\n\n## Thanks\n\nThank them for inspiring us.\n\n- [vercel/swr](https://github.com/vercel/swr)\n- [alibaba/hooks](https://ahooks.js.org/hooks/async#userequest)\n\n## License\n\n[MIT License](https://github.com/AttoJS/vue-request/blob/master/LICENSE) © 2020-present [AttoJS](https://github.com/AttoJS)\n","licenseText":"MIT License\n\nCopyright (c) 2020 AttoJS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"vue-request@2.0.0-rc.4","dist":{"shasum":"395a24bce31fd182d7e855454e21f4e8118266da","integrity":"sha512-Nv/CpfKlfwW9SVHakEukeSQpuqSwskeJsHK4gfw8KB8NZogWfR8+EU+XupLe+Dapnm+RAP+wZYzhw89v3Zyx2g==","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-2.0.0-rc.4.tgz","fileCount":13,"unpackedSize":128483,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAjjk6r5l+Ro1F+J9CYXBP8m34NwoO7H1cXw7+kIbdrIAiA+wN6pZIlMyMtZXBajaiTBnEXWw534fpGJLOqY/uv7Kg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjIo44ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmocNw//XR3QYQmsG8BX/1E6bcy7jr+j3TgyDlO4yNg02nkheUTkfXz5\r\nOJU5Y470U6IrmDZsNCf4GKV7N7qc4O461j+2SnW9YxkiMsXa3qF7TC7pyk/c\r\niAAvj7l64MniExvO/Ifbk3FShyjgCaiQOp3aM/uNkB++4Rp+nttFmDo46iso\r\nZbrsE0JHG1tS+9CFW2Uk8z7xTDQsOLLNyQaGsIe8+eXN1kjQs1cxrKZqAWSi\r\n5IqdGRbT43j9JgE3OKGbzcSJmJ++5Hy+bRoBSqJbSIGBZKgd26cwlj/KmPLj\r\nUEVi7cnFz/cYGF9q2C9f1GWcKwEIw4oB2KqXNt/XeZPoQyRJcpCEB2cy5vdw\r\nGmyRL7VPl+ShuKenrKwq1CshjKUx81S4lG4ZCcJic98VQ31DQbd9UT5UHwRc\r\nKpw80niyUXod5a6RlKkwBc8vYEogK6lsZfNGj/QCqU9M3rYGHu6opvfU+/H3\r\nQ4eJhzanSYVWPkeYYLmiQ48L3r/n3rb9gM9PH+CU42VtWw9ZkIlORqJrkWws\r\niKiAmwB87dioZmNGgxMNeKgL9qsQClF2rx6vdYVFEc323CvNh9MNtdIxcFJn\r\nezY7AEtuXV3gp8lVVZs0QqggzHcUWeH9SZSdivnM/g7OhUVHC498iE0dn57I\r\nkIoV049xSZKFuJni1RUCosIACqPFocOwD/A=\r\n=4UH0\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"john60676","email":"john60676@qq.com"},"directories":{},"maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-request_2.0.0-rc.4_1663209016255_0.6706085175738736"},"_hasShrinkwrap":false},"2.0.0":{"name":"vue-request","version":"2.0.0","description":"Vue composition API for data fetching, supports SWR, polling, error retry, cache request, pagination and other cool features.","keywords":["vue","vue3","vue2","swr","request","http","fetch","composition-api","vue-demi","axios","vue-request","vue request"],"homepage":"https://www.attojs.org/","bugs":{"url":"https://github.com/attojs/vue-request/issues"},"repository":{"type":"git","url":"https://github.com/attojs/vue-request/tree/next"},"license":"MIT","main":"dist/index.cjs.js","unpkg":"dist/vue-request.min.js","module":"dist/index.es.js","types":"dist/types/index.d.ts","scripts":{"build":"yarn switch:3 && yarn clean && yarn build:code && yarn build:types","build:code":"rollup --config ./build/rollup.config.js","build:types":"rollup --config ./build/rollup.config.types.js","changelog":"standard-version && standard-version -i CHANGELOG.zh-CN.md -o CHANGELOG.zh-CN.md","clean":"rimraf dist/*","dev":"yarn switch:3 && vite --config ./build/vite.config.ts ./examples/vue3","dev:2":"yarn switch:2 && vite --config ./build/vite-vue2.config.ts ./examples/vue2","format":"prettier -w '**/*.ts?(x)'","lint":"eslint -c ./.eslintrc.js './{src,scripts,build}/**/*.{js,ts,tsx}'","patch-package":"patch-package","publishing":"np","release":"yarn build && yarn publishing","switch:2":"vue-demi-switch 2.7 vue2","switch:3":"vue-demi-switch 3","test":"yarn test:3 && yarn test:2","test:2":"yarn switch:2 && jest --coverage","test:3":"yarn switch:3 && jest --coverage"},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint --fix"],"package.json":"sort-package-json"},"dependencies":{"vue-demi":"latest"},"devDependencies":{"@babel/core":"^7.12.3","@babel/plugin-proposal-nullish-coalescing-operator":"^7.14.5","@babel/plugin-syntax-class-properties":"^7.12.13","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.1","@babel/runtime-corejs3":"^7.12.5","@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/jest":"^27.4.0","@types/mockjs":"^1.0.3","@types/node":"^17.0.16","@typescript-eslint/eslint-plugin":"^4.8.2","@typescript-eslint/parser":"^4.8.2","@vitejs/plugin-vue":"^1.2.1","@vitejs/plugin-vue-jsx":"^1.1.3","@vue/babel-plugin-jsx":"^1.0.0-rc.3","@vue/compiler-sfc":"^3.0.6","@vue/composition-api":"^1.4.6","axios":"^0.21.1","babel-jest":"^27.5.0","eslint":"^7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-simple-import-sort":"^7.0.0","eslint-plugin-vue":"^7.0.0-0","fetch-mock":"^9.10.7","husky":"^7.0.4","jest":"^27.5.0","jest-environment-jsdom-global":"^2.0.4","lint-staged":"^10.5.2","mockjs":"^1.1.0","node-fetch":"2","np":"^7.0.0","patch-package":"^6.4.7","prettier":"^2.2.0","rimraf":"^3.0.2","rollup":"^2.33.1","rollup-plugin-dts":"^4.2.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","simple-git":"^2.21.0","sort-package-json":"^1.50.0","standard-version":"^9.1.1","ts-jest":"^27.1.3","typescript":"^4.0.5","vite":"^2.1.5","vite-plugin-vue2":"^1.9.2","vue":"^3.3.4","vue-template-compiler":"^2.6.14","vue2":"npm:vue@2"},"peerDependencies":{"@vue/composition-api":"^1.0.0-rc.1","vue":"^2.0.0 || >=3.0.0"},"peerDependenciesMeta":{"@vue/composition-api":{"optional":true}},"readmeFilename":"README.md","readme":"English | [简体中文](README-zh_CN.md)\n\n<p align=\"center\">\n  <a href=\"https://next.attojs.org\">\n    <img\n      width=\"150\"\n      src=\"https://raw.githubusercontent.com/AttoJS/art/master/vue-request-logo.png\"\n      alt=\"VueRequest logo\"\n    />\n  </a>\n</p>\n<h1 align=\"center\">VueRequest</h1>\n<div align=\"center\">\n  <p align=\"center\">⚡️ Vue composition API for data fetching, supports SWR, polling, error retry, cache request, pagination, etc.</p>\n   <a href=\"https://codecov.io/github/attojs/vue-request?branch=master\">\n    <img\n      src=\"https://img.shields.io/codecov/c/github/attojs/vue-request?token=NW2XVQWGPP\"\n      alt=\"Coverage Status\"\n    />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/bundlephobia/minzip/vue-request/next\" alt=\"Size\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/npm/v/vue-request/next\" alt=\"Version\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/github/languages/top/attojs/vue-request\" alt=\"Languages\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/npm/l/vue-request\" alt=\"License\" />\n  </a>\n  <a href=\"https://github.com/AttoJS/vue-request/stargazers\">\n    <img src=\"https://img.shields.io/github/stars/attojs/vue-request\" alt=\"Star\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/next\">\n    <img src=\"https://img.shields.io/npm/dm/vue-request\" alt=\"Download\" />\n  </a>\n</div>\n\n## Status\n\nCurrently in RC version. For details, please see the [changelog](https://github.com/AttoJS/vue-request/issues/121).\n\n## Why VueRequest\n\nIn the past projects, they were often confused by repeated implementations such as the management of the loading state, the requested throttling and debounce, the caching of request data, and pagination. Whenever we start a new project, we have to manually deal with the above problems, which will be a repetitive work, but also to ensure that the team is consistent.\n\nVueRequest aims to provide developers with a convenient and fast way to manage the state of the request API. In the development, save repetitive work, and it can be used only with a simple configuration, focusing on the core of the development project.\n\n## Features\n\n- 🌈 &nbsp;Support Vue 2 & 3\n- 🚀 &nbsp;All data is reactive\n- 🔄 &nbsp;Interval polling\n- 🤖 &nbsp;Automatic error retry\n- 🗄 &nbsp;Built-in cache\n- 💧 &nbsp;Throttle and Debounce\n- ⚙️ &nbsp;Powerful pagination extension and load more extensions\n- 📠 &nbsp;Written in TypeScript\n- ⚡️ &nbsp;Compatible with Vite\n- 🍃 &nbsp;Lightweight\n- 📦 &nbsp;Out of the box\n\n## Documentation\n\n- [English](https://next.attojs.org/)\n- [中文文档](https://next.attojs.com/)\n\n## Install\n\nYou can install VueRequest with [NPM](https://www.npmjs.com/), [YARN](https://yarnpkg.com/), or a `<script>` via [unpkg.com](https://unpkg.com/)\n\n### NPM\n\n```sh\nnpm install vue-request@next\n# or\nyarn add vue-request@next\n# or\npnpm install vue-request@next\n```\n\n### CDN\n\n> For production, we recommend linking to a specific version number and build to avoid unexpected breakage from newer versions.\n\n```html\n<script src=\"https://unpkg.com/vue-request@next/dist/vue-request.min.js\"></script>\n```\n\nOnce you've added this you will have access to the `window.VueRequest` object and its exports.\n\n## Usage\n\n```vue\n<template>\n  <div>\n    <div v-if=\"loading\">loading...</div>\n    <div v-if=\"error\">failed to fetch</div>\n    <div v-if=\"data\">Hey! {{ data }}</div>\n  </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue';\nexport default defineComponent({\n  setup() {\n    const { data, loading, error } = useRequest(service);\n\n    return {\n      data,\n      loading,\n      error,\n    };\n  },\n});\n</script>\n```\n\nIn this example, `useRequest` accepts a `service` function. `service` is a asynchronous function. In other words, you can use **axios** to fetch data and return a **Promise**. More specific instructions can be viewed in [document](https://next.attojs.org/guide/documentation/dataFetching.html).\n\n`useRequest` also return 3 values: `data`, `loading` and `error`. When the request is not yet finished, data will be `undefined` and `loading` will be `true`. And when we get a response, it sets data and error based on the result of service and rerenders the component. This is because `data` and `error` are [Reactivity(Refs)](https://v3.vuejs.org/guide/reactivity-fundamentals.html), and their values will be set by the service response.\n\n## Some of the coolest features:\n\nVueRequest has many features, such as error retry, cache, pagination, throttle, debounce..., here are two cool features\n\n### 1.Refresh On Focus\n\nSometimes, you need to ensure data consistency between multiple browser windows; or when the user's computer is reactivated in the dormant state, the page data needs to be synchronized to the latest state. `refreshOnWindowFocus` may save you a lot of code. [Click here to go to the document](https://next.attojs.org/guide/documentation/refreshOnWindowFocus.html)\n\n```ts\nconst { data, error, run } = useRequest(getUserInfo, {\n  refreshOnWindowFocus: true,\n  refocusTimespan: 1000, // refresh interval 1s\n});\n```\n\n![vue-request](https://z3.ax1x.com/2021/09/10/hXAs8s.gif)\n\n### 2.Polling Data\n\nSometimes, you want to ensure that data is synchronized and updated between multiple devices. At this time, we can use the `pollingInterval` provided by us to periodically re-request the request API, so that the data consistency between multiple devices can be guaranteed. When the user modifies the data, the two windows will be updated simultaneously in real time. [Click here to go to the document](https://next.attojs.org/guide/documentation/polling.html)\n\n```ts\nconst { data, error, run } = useRequest(getUserInfo, {\n  pollingInterval: 1000, // polling interval 1s\n});\n```\n\n![vue-request](https://z3.ax1x.com/2021/09/10/hXAy2n.gif)\n\n## Thanks\n\nThank them for inspiring us.\n\n- [vercel/swr](https://github.com/vercel/swr)\n- [alibaba/hooks](https://ahooks.js.org/hooks/async#userequest)\n\n## License\n\n[MIT License](https://github.com/AttoJS/vue-request/blob/master/LICENSE) © 2020-present [AttoJS](https://github.com/AttoJS)\n","licenseText":"MIT License\n\nCopyright (c) 2020 AttoJS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"vue-request@2.0.0","dist":{"shasum":"33265613e3216bc5beb2cb5a936bb22d4563fdec","integrity":"sha512-1f7lNTJpgoPPl9j8c7iaf3AbTdgwvkEsYFDlPv2Iar1dC8DEc9SRb+50yxharyDrXf0ta9DoB3mG3UrInx65Qg==","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-2.0.0.tgz","fileCount":13,"unpackedSize":125341,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDeRLEBh3jWkuUM5rBzOarO/GPvonROq2aVxi+db3Q4hAiBIaW95xlqk2CvQ5qIbM2y1hBXw4qVpZBsz9GLvOa7SYA=="}]},"_npmUser":{"name":"john60676","email":"john60676@qq.com"},"directories":{},"maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-request_2.0.0_1685621529257_0.5010051384015286"},"_hasShrinkwrap":false},"2.0.1":{"name":"vue-request","version":"2.0.1","description":"Vue composition API for data fetching, supports SWR, polling, error retry, cache request, pagination and other cool features.","keywords":["vue","vue3","vue2","swr","request","http","fetch","composition-api","vue-demi","axios","vue-request","vue request"],"homepage":"https://www.attojs.org/","bugs":{"url":"https://github.com/attojs/vue-request/issues"},"repository":{"type":"git","url":"https://github.com/attojs/vue-request/tree/next"},"license":"MIT","main":"dist/index.cjs.js","unpkg":"dist/vue-request.min.js","module":"dist/index.es.js","types":"dist/types/index.d.ts","scripts":{"build":"yarn switch:3 && yarn clean && yarn build:code && yarn build:types","build:code":"rollup --config ./build/rollup.config.js","build:types":"rollup --config ./build/rollup.config.types.js","changelog":"standard-version && standard-version -i CHANGELOG.zh-CN.md -o CHANGELOG.zh-CN.md","clean":"rimraf dist/*","dev":"yarn switch:3 && vite --config ./build/vite.config.ts ./examples/vue3","dev:2":"yarn switch:2 && vite --config ./build/vite-vue2.config.ts ./examples/vue2","format":"prettier -w '**/*.ts?(x)'","lint":"eslint -c ./.eslintrc.js './{src,scripts,build}/**/*.{js,ts,tsx}'","patch-package":"patch-package","publishing":"np","release":"yarn build && yarn publishing","switch:2":"vue-demi-switch 2.7 vue2","switch:3":"vue-demi-switch 3","test":"yarn test:3 && yarn test:2","test:2":"yarn switch:2 && jest --coverage","test:3":"yarn switch:3 && jest --coverage"},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint --fix"],"package.json":"sort-package-json"},"dependencies":{"vue-demi":"latest"},"devDependencies":{"@babel/core":"^7.12.3","@babel/plugin-proposal-nullish-coalescing-operator":"^7.14.5","@babel/plugin-syntax-class-properties":"^7.12.13","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.1","@babel/runtime-corejs3":"^7.12.5","@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/jest":"^27.4.0","@types/mockjs":"^1.0.3","@types/node":"^17.0.16","@typescript-eslint/eslint-plugin":"^4.8.2","@typescript-eslint/parser":"^4.8.2","@vitejs/plugin-vue":"^1.2.1","@vitejs/plugin-vue-jsx":"^1.1.3","@vue/babel-plugin-jsx":"^1.0.0-rc.3","@vue/compiler-sfc":"^3.0.6","@vue/composition-api":"^1.4.6","axios":"^0.21.1","babel-jest":"^27.5.0","eslint":"^7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-simple-import-sort":"^7.0.0","eslint-plugin-vue":"^7.0.0-0","fetch-mock":"^9.10.7","husky":"^7.0.4","jest":"^27.5.0","jest-environment-jsdom-global":"^2.0.4","lint-staged":"^10.5.2","mockjs":"^1.1.0","node-fetch":"2","np":"^7.0.0","patch-package":"^6.4.7","prettier":"^2.2.0","rimraf":"^3.0.2","rollup":"^2.33.1","rollup-plugin-dts":"^4.2.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","simple-git":"^2.21.0","sort-package-json":"^1.50.0","standard-version":"^9.1.1","ts-jest":"^27.1.3","typescript":"^4.0.5","vite":"^2.1.5","vite-plugin-vue2":"^1.9.2","vue":"^3.3.4","vue-template-compiler":"^2.6.14","vue2":"npm:vue@2"},"peerDependencies":{"@vue/composition-api":"^1.0.0-rc.1","vue":"^2.0.0 || >=3.0.0"},"peerDependenciesMeta":{"@vue/composition-api":{"optional":true}},"licenseText":"MIT License\n\nCopyright (c) 2020 AttoJS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"vue-request@2.0.1","dist":{"shasum":"06d5f4774d5080b656bccc4c4d7a8b2017ffbec3","integrity":"sha512-fBOlFT9bMq1yOLRNPfN8NGANs8v2GgQuLCNGDedN+8nOJIZfAQQbft5Y7v2qinYsot+6OTobSVMlbWr+sDbzjQ==","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-2.0.1.tgz","fileCount":13,"unpackedSize":124959,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBaXTSUfFf07HZ4W4J6kjeJjk5deOLtgcOmdTCVSmuUiAiEA5Pz5IlwTlTAIBCK/fVAl56lzxWV6qsuj16zqyyGjGoQ="}]},"_npmUser":{"name":"john60676","email":"john60676@qq.com"},"directories":{},"maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-request_2.0.1_1685622413795_0.32887951730837317"},"_hasShrinkwrap":false},"1.2.5":{"name":"vue-request","version":"1.2.5","description":"Vue 3 composition API for data fetching, supports SWR, polling, error retry, cache request, pagination and other cool features.","keywords":["vue","vue3","swr","request","http","fetch","composition-api","axios","vue-request","vue request"],"homepage":"https://www.attojs.org/","bugs":{"url":"https://github.com/attojs/vue-request/issues"},"repository":{"type":"git","url":"https://github.com/attojs/vue-request.git"},"license":"MIT","main":"dist/index.cjs.js","unpkg":"dist/vue-request.min.js","module":"dist/index.es.js","types":"dist/types/index.d.ts","scripts":{"build":"yarn clean && rollup --config ./build/rollup.config.js","dev":"yarn vite ./example","clean":"rimraf dist/*","test":"jest --coverage","publishing":"np","changelog":"standard-version && standard-version -i CHANGELOG.zh-CN.md -o CHANGELOG.zh-CN.md","release":"yarn build && yarn publishing","lint":"eslint -c ./.eslintrc.js './{src,scripts,build}/**/*.{js,ts,tsx}'","format":"prettier -w '**/*.ts?(x)'","vite":"vite --config ./build/vite.config.ts"},"husky":{"hooks":{"pre-commit":"node ./scripts/preCommit.js && lint-staged","commit-msg":"commitlint -x @commitlint/config-conventional -e $HUSKY_GIT_PARAMS","pre-push":"yarn test --coverage=false"}},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint --fix"],"package.json":"sort-package-json"},"devDependencies":{"@babel/core":"^7.12.3","@babel/plugin-proposal-nullish-coalescing-operator":"^7.14.5","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.1","@babel/runtime-corejs3":"^7.12.5","@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/jest":"^26.0.15","@types/mockjs":"^1.0.3","@typescript-eslint/eslint-plugin":"^4.8.2","@typescript-eslint/parser":"^4.8.2","@vitejs/plugin-vue":"^1.2.1","@vitejs/plugin-vue-jsx":"^1.1.3","@vue/babel-plugin-jsx":"^1.0.0-rc.3","@vue/compiler-sfc":"^3.0.6","@vue/test-utils":"^2.0.0-beta.8","axios":"^0.21.1","babel-jest":"^26.6.0","eslint":"^7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-simple-import-sort":"^7.0.0","eslint-plugin-vue":"^7.0.0-0","fetch-mock":"^9.10.7","husky":"^4.3.0","jest":"^26.6.0","jest-environment-jsdom-global":"^2.0.4","lint-staged":"^10.5.2","mockjs":"^1.1.0","node-fetch":"^2.6.1","np":"^7.0.0","prettier":"^2.2.0","rimraf":"^3.0.2","rollup":"^2.33.1","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","simple-git":"^3.3.0","sort-package-json":"^1.50.0","standard-version":"^9.1.1","ts-jest":"^26.4.1","typescript":"^4.0.5","vite":"^2.1.5","vue":"^3.0.2"},"peerDependencies":{"vue":"^3.0.0"},"readmeFilename":"README.md","readme":"English | [简体中文](README-zh_CN.md)\n\n<p align=\"center\">\n  <a href=\"https://www.attojs.org\">\n    <img\n      width=\"150\"\n      src=\"https://raw.githubusercontent.com/AttoJS/art/master/vue-request-logo.png\"\n      alt=\"VueRequest logo\"\n    />\n  </a>\n</p>\n<h1 align=\"center\">VueRequest</h1>\n<div align=\"center\">\n  <p align=\"center\">⚡️ Vue 3 composition API for data fetching, supports SWR, polling, error retry, cache request, pagination, etc.</p>\n  <a href=\"https://codecov.io/github/attojs/vue-request?branch=v1\">\n    <img\n      src=\"https://img.shields.io/codecov/c/github/attojs/vue-request?token=NW2XVQWGPP\"\n      alt=\"Coverage Status\"\n    />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/v1\">\n    <img src=\"https://img.shields.io/bundlephobia/minzip/vue-request/v1\" alt=\"Size\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/v1\">\n    <img src=\"https://img.shields.io/npm/v/vue-request/v1\" alt=\"Version\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/v1\">\n    <img src=\"https://img.shields.io/github/languages/top/attojs/vue-request\" alt=\"Languages\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/v1\">\n    <img src=\"https://img.shields.io/npm/l/vue-request\" alt=\"License\" />\n  </a>\n  <a href=\"https://github.com/AttoJS/vue-request/stargazers\">\n    <img src=\"https://img.shields.io/github/stars/attojs/vue-request\" alt=\"Star\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request/v/v1\">\n    <img src=\"https://img.shields.io/npm/dm/vue-request\" alt=\"Download\" />\n  </a>\n</div>\n\n## Status\n\n**The v1 version will not add new functions in the future, and will only maintain the bugs that appear. To experience the latest features, please switch to the v2 version.**\n\n## Why VueRequest\n\nIn the past projects, they were often confused by repeated implementations such as the management of the loading state, the requested throttling and debounce, the caching of request data, and pagination. Whenever we start a new project, we have to manually deal with the above problems, which will be a repetitive work, but also to ensure that the team is consistent.\n\nVueRequest aims to provide developers with a convenient and fast way to manage the state of the request API. In the development, save repetitive work, and it can be used only with a simple configuration, focusing on the core of the development project.\n\n## Features\n\n- 🚀 &nbsp;All data is reactive\n- 🔄 &nbsp;Interval polling\n- 🤖 &nbsp;Automatic error retry\n- 🗄 &nbsp;Built-in cache\n- 💧 &nbsp;Throttle and Debounce\n- ⚙️ &nbsp;Powerful pagination extension and load more extensions\n- 📠 &nbsp;Written in TypeScript\n- ⚡️ &nbsp;Compatible with Vite\n- 🍃 &nbsp;Lightweight\n- 📦 &nbsp;Out of the box\n\n## Documentation\n\n- [English](https://www.attojs.org/)\n- [中文文档](https://www.attojs.com/)\n\n## Install\n\nYou can install VueRequest with [NPM](https://www.npmjs.com/), [YARN](https://yarnpkg.com/), or a `<script>` via [unpkg.com](https://unpkg.com/)\n\n### NPM\n\n```sh\nnpm install vue-request@v1\n# or\nyarn add vue-request@v1\n```\n\n### CDN\n\n> For production, we recommend linking to a specific version number and build to avoid unexpected breakage from newer versions.\n\n```html\n<script src=\"https://unpkg.com/vue-request@v1/dist/vue-request.min.js\"></script>\n```\n\nOnce you've added this you will have access to the `window.VueRequest` object and its exports.\n\n## Usage\n\n```vue\n<template>\n  <div>\n    <div v-if=\"loading\">loading...</div>\n    <div v-if=\"error\">failed to fetch</div>\n    <div v-if=\"data\">Hey! {{ data }}</div>\n  </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue';\nexport default defineComponent({\n  setup() {\n    const { data, loading, error } = useRequest(service);\n\n    return {\n      data,\n      loading,\n      error,\n    };\n  },\n});\n</script>\n```\n\nIn this example, `useRequest` accepts a `service` function. `service` is a asynchronous function. In other words, you can use **axios** to fetch data and return a **Promise**. More specific instructions can be viewed in [document](https://www.attojs.org/guide/documentation/dataFetching.html).\n\n`useRequest` also return 3 values: `data`, `loading` and `error`. When the request is not yet finished, data will be `undefined` and `loading` will be `true`. And when we get a response, it sets data and error based on the result of service and rerenders the component. This is because `data` and `error` are [Reactivity(Refs)](https://v3.vuejs.org/guide/reactivity-fundamentals.html), and their values will be set by the service response.\n\n## Some of the coolest features:\n\nVueRequest has many features, such as error retry, cache, pagination, throttle, debounce..., here are two cool features\n\n### 1.Refresh On Focus\n\nSometimes, you need to ensure data consistency between multiple browser windows; or when the user's computer is reactivated in the dormant state, the page data needs to be synchronized to the latest state. `refreshOnWindowFocus` may save you a lot of code. [Click here to go to the document](https://www.attojs.org/guide/documentation/refreshOnWindowFocus.html)\n\n```ts\nconst { data, error, run } = useRequest(getUserInfo, {\n  refreshOnWindowFocus: true,\n  refocusTimespan: 1000, // refresh interval 1s\n});\n```\n\n![vue-request](https://z3.ax1x.com/2021/09/10/hXAs8s.gif)\n\n### 2.Polling Data\n\nSometimes, you want to ensure that data is synchronized and updated between multiple devices. At this time, we can use the `pollingInterval` provided by us to periodically re-request the request API, so that the data consistency between multiple devices can be guaranteed. When the user modifies the data, the two windows will be updated simultaneously in real time. [Click here to go to the document](https://www.attojs.org/guide/documentation/polling.htm)\n\n```ts\nconst { data, error, run } = useRequest(getUserInfo, {\n  pollingInterval: 1000, // polling interval 1s\n});\n```\n\n![vue-request](https://z3.ax1x.com/2021/09/10/hXAy2n.gif)\n\n## TODO List\n\nIf you have any cool features, please submit an issue for discussion\n\n- [x] Support Vue 2. see [master](https://github.com/AttoJS/vue-request/tree/master) branch\n- [x] Documentation\n- [x] Pagination\n- [x] Load More\n\n## Thanks\n\nThank them for inspiring us.\n\n- [vercel/swr](https://github.com/vercel/swr)\n- [alibaba/hooks](https://ahooks.js.org/hooks/async#userequest)\n\n## License\n\n[MIT License](https://github.com/AttoJS/vue-request/blob/master/LICENSE) © 2020-present [AttoJS](https://github.com/AttoJS)\n","licenseText":"MIT License\n\nCopyright (c) 2020 AttoJS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"vue-request@1.2.5","dist":{"shasum":"65ba171e4cca2b882d00f90ff49b55c98681db36","integrity":"sha512-qKBP+BFjolKhKnuVtuLJARNw4y+d+2vayjPddtt7HRrjG3VporPuAZzl6CmlNb6MMkHnM5CGcaME2FL6linUGA==","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-1.2.5.tgz","fileCount":34,"unpackedSize":125237,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE0oLIwKMl2Vp7goI7zfcLp+8LVGLPUBMia4V5Ef0XxYAiB+FoGwByBoBk5y6MUM1GIkmyC7VUGFTAdx13GuUnrr1w=="}]},"_npmUser":{"name":"john60676","email":"john60676@qq.com"},"directories":{},"maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-request_1.2.5_1685623917934_0.09215169027574754"},"_hasShrinkwrap":false},"2.0.2":{"name":"vue-request","version":"2.0.2","description":"Vue composition API for data fetching, supports SWR, polling, error retry, cache request, pagination and other cool features.","keywords":["vue","vue3","vue2","swr","request","http","fetch","composition-api","vue-demi","axios","vue-request","vue request"],"homepage":"https://www.attojs.org/","bugs":{"url":"https://github.com/attojs/vue-request/issues"},"repository":{"type":"git","url":"https://github.com/attojs/vue-request/tree/next"},"license":"MIT","main":"dist/index.cjs.js","unpkg":"dist/vue-request.min.js","module":"dist/index.es.js","types":"dist/types/index.d.ts","scripts":{"build":"yarn switch:3 && yarn clean && yarn build:code && yarn build:types","build:code":"rollup --config ./build/rollup.config.js","build:types":"rollup --config ./build/rollup.config.types.js","changelog":"standard-version && standard-version -i CHANGELOG.zh-CN.md -o CHANGELOG.zh-CN.md","clean":"rimraf dist/*","dev":"yarn switch:3 && vite --config ./build/vite.config.ts ./examples/vue3","dev:2":"yarn switch:2 && vite --config ./build/vite-vue2.config.ts ./examples/vue2","format":"prettier -w '**/*.ts?(x)'","lint":"eslint -c ./.eslintrc.js './{src,scripts,build}/**/*.{js,ts,tsx}'","patch-package":"patch-package","publishing":"np","release":"yarn build && yarn publishing","switch:2":"vue-demi-switch 2.7 vue2","switch:3":"vue-demi-switch 3","test":"yarn test:3 && yarn test:2","test:2":"yarn switch:2 && jest --coverage","test:3":"yarn switch:3 && jest --coverage"},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint --fix"],"package.json":"sort-package-json"},"dependencies":{"vue-demi":"latest"},"devDependencies":{"@babel/core":"^7.12.3","@babel/plugin-proposal-nullish-coalescing-operator":"^7.14.5","@babel/plugin-proposal-optional-chaining":"^7.21.0","@babel/plugin-syntax-class-properties":"^7.12.13","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.1","@babel/runtime-corejs3":"^7.12.5","@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/jest":"^27.4.0","@types/mockjs":"^1.0.3","@types/node":"^17.0.16","@typescript-eslint/eslint-plugin":"^4.8.2","@typescript-eslint/parser":"^4.8.2","@vitejs/plugin-vue":"^1.2.1","@vitejs/plugin-vue-jsx":"^1.1.3","@vue/babel-plugin-jsx":"^1.0.0-rc.3","@vue/compiler-sfc":"^3.0.6","@vue/composition-api":"^1.4.6","axios":"^0.21.1","babel-jest":"^27.5.0","eslint":"^7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-simple-import-sort":"^7.0.0","eslint-plugin-vue":"^7.0.0-0","fetch-mock":"^9.10.7","husky":"^7.0.4","jest":"^27.5.0","jest-environment-jsdom-global":"^2.0.4","lint-staged":"^10.5.2","mockjs":"^1.1.0","node-fetch":"2","np":"^7.0.0","patch-package":"^6.4.7","prettier":"^2.2.0","rimraf":"^3.0.2","rollup":"^2.33.1","rollup-plugin-dts":"^4.2.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","simple-git":"^2.21.0","sort-package-json":"^1.50.0","standard-version":"^9.1.1","ts-jest":"^27.1.3","typescript":"^4.0.5","vite":"^2.1.5","vite-plugin-vue2":"^1.9.2","vue":"^3.3.4","vue-template-compiler":"^2.6.14","vue2":"npm:vue@2"},"peerDependencies":{"@vue/composition-api":"^1.0.0-rc.1","vue":"^2.0.0 || >=3.0.0"},"peerDependenciesMeta":{"@vue/composition-api":{"optional":true}},"licenseText":"MIT License\n\nCopyright (c) 2020 AttoJS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"vue-request@2.0.2","dist":{"shasum":"1d3bf0da0ddb844694f4d775b0597f5d6ac377ef","integrity":"sha512-VWOEQXZ2uNrdzHcTw9K0SgAAgLG9EEw+M3TyB32BIl8ngHnPVs2NdSciumMTmX4eKHilrZuV3dnvoJH+nn9VMQ==","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-2.0.2.tgz","fileCount":13,"unpackedSize":132320,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICV/wSQbsO/c3sbBgcCctJ0bFy5IyVfMpCogVqBoOuYxAiAN/2GziO4opx3XemGPGZwVsaFMfAEdvmmSxusbyGWecQ=="}]},"_npmUser":{"name":"john60676","email":"john60676@qq.com"},"directories":{},"maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-request_2.0.2_1685691545068_0.6847519769831925"},"_hasShrinkwrap":false},"2.0.3":{"name":"vue-request","version":"2.0.3","description":"This is a library that can easily help you manage request states, supporting common features such as SWR, polling, error retry, caching, and pagination, etc.","keywords":["vue","vue3","vue2","swr","request","http","fetch","composition-api","vue-demi","axios","vue-request","vue request"],"homepage":"https://www.attojs.org/","bugs":{"url":"https://github.com/attojs/vue-request/issues"},"repository":{"type":"git","url":"https://github.com/attojs/vue-request"},"license":"MIT","main":"dist/index.cjs.js","unpkg":"dist/vue-request.min.js","module":"dist/index.es.js","types":"dist/types/index.d.ts","scripts":{"build":"yarn switch:3 && yarn clean && yarn build:code && yarn build:types","build:code":"rollup --config ./build/rollup.config.js","build:types":"rollup --config ./build/rollup.config.types.js","changelog":"standard-version && standard-version -i CHANGELOG.zh-CN.md -o CHANGELOG.zh-CN.md","clean":"rimraf dist/*","dev":"yarn switch:3 && vite --config ./build/vite.config.ts ./examples/vue3","dev:2":"yarn switch:2 && vite --config ./build/vite-vue2.config.ts ./examples/vue2","format":"prettier -w '**/*.ts?(x)'","lint":"eslint -c ./.eslintrc.js './{src,scripts,build}/**/*.{js,ts,tsx}'","patch-package":"patch-package","publishing":"np --tag=latest --branch=master ","release":"yarn build && yarn publishing","switch:2":"vue-demi-switch 2.7 vue2","switch:3":"vue-demi-switch 3","test":"yarn test:3 && yarn test:2","test:2":"yarn switch:2 && jest --coverage","test:3":"yarn switch:3 && jest --coverage"},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint --fix"],"package.json":"sort-package-json"},"dependencies":{"vue-demi":"latest"},"devDependencies":{"@babel/core":"^7.12.3","@babel/plugin-proposal-nullish-coalescing-operator":"^7.14.5","@babel/plugin-proposal-optional-chaining":"^7.21.0","@babel/plugin-syntax-class-properties":"^7.12.13","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.1","@babel/runtime-corejs3":"^7.12.5","@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/jest":"^27.4.0","@types/mockjs":"^1.0.3","@types/node":"^17.0.16","@typescript-eslint/eslint-plugin":"^4.8.2","@typescript-eslint/parser":"^4.8.2","@vitejs/plugin-vue":"^1.2.1","@vitejs/plugin-vue-jsx":"^1.1.3","@vue/babel-plugin-jsx":"^1.0.0-rc.3","@vue/compiler-sfc":"^3.0.6","@vue/composition-api":"^1.4.6","axios":"^0.21.1","babel-jest":"^27.5.0","eslint":"^7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-simple-import-sort":"^7.0.0","eslint-plugin-vue":"^7.0.0-0","fetch-mock":"^9.10.7","husky":"^7.0.4","jest":"^27.5.0","jest-environment-jsdom-global":"^2.0.4","lint-staged":"^10.5.2","mockjs":"^1.1.0","node-fetch":"2","np":"^8.0.0","patch-package":"^6.4.7","prettier":"^2.2.0","rimraf":"^3.0.2","rollup":"^2.33.1","rollup-plugin-dts":"^4.2.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","simple-git":"^3.16.0","sort-package-json":"^1.50.0","standard-version":"^9.1.1","ts-jest":"^27.1.3","typescript":"^4.0.5","vite":"^2.1.5","vite-plugin-vue2":"^1.9.2","vue":"^3.3.4","vue-template-compiler":"^2.6.14","vue2":"npm:vue@2"},"peerDependencies":{"@vue/composition-api":"^1.0.0-rc.1","vue":"^2.0.0 || >=3.0.0"},"peerDependenciesMeta":{"@vue/composition-api":{"optional":true}},"engines":{"node":">=14"},"licenseText":"MIT License\n\nCopyright (c) 2020 AttoJS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"vue-request@2.0.3","dist":{"shasum":"ff73af25ce52e9bec5545804a574d7d8fcd8881a","integrity":"sha512-eO90vlfrm1JFReurVjorwie/NvIUT6S5wvxr0VxpC1GoTDWZl/dBewxdScQh98HxZNeYDfjvSS8FiQISg8thww==","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-2.0.3.tgz","fileCount":13,"unpackedSize":147661,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCBUrYtpSxctJtPLB7bVsBXa67VQ/c2gHlPYWGfp67XcAIhALifRT/oWXH+M4CeJNu9i8RTW+iQEvs/IrjluwfkXnw0"}]},"_npmUser":{"name":"john60676","email":"john60676@qq.com"},"directories":{},"maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-request_2.0.3_1686637371595_0.5430596015199216"},"_hasShrinkwrap":false},"2.0.4":{"name":"vue-request","version":"2.0.4","description":"This is a library that can easily help you manage request states, supporting common features such as SWR, polling, error retry, caching, and pagination, etc.","keywords":["vue","vue3","vue2","swr","request","http","fetch","composition-api","vue-demi","axios","vue-request","vue request"],"homepage":"https://www.attojs.org/","bugs":{"url":"https://github.com/attojs/vue-request/issues"},"repository":{"type":"git","url":"https://github.com/attojs/vue-request"},"license":"MIT","main":"dist/index.cjs.js","unpkg":"dist/vue-request.min.js","module":"dist/index.es.js","types":"dist/types/index.d.ts","scripts":{"build":"yarn switch:3 && yarn clean && yarn build:code && yarn build:types","build:code":"rollup --config ./build/rollup.config.js","build:types":"rollup --config ./build/rollup.config.types.js","changelog":"standard-version && standard-version -i CHANGELOG.zh-CN.md -o CHANGELOG.zh-CN.md","clean":"rimraf dist/*","dev":"yarn switch:3 && vite --config ./build/vite.config.ts ./examples/vue3","dev:2":"yarn switch:2 && vite --config ./build/vite-vue2.config.ts ./examples/vue2","format":"prettier -w '**/*.ts?(x)'","lint":"eslint -c ./.eslintrc.js './{src,scripts,build}/**/*.{js,ts,tsx}'","patch-package":"patch-package","publishing":"np --tag=latest --branch=master ","release":"yarn build && yarn publishing","switch:2":"vue-demi-switch 2.7 vue2","switch:3":"vue-demi-switch 3","test":"yarn test:3 && yarn test:2","test:2":"yarn switch:2 && jest --coverage","test:3":"yarn switch:3 && jest --coverage"},"lint-staged":{"*.{js,jsx,ts,tsx}":["eslint --fix"],"package.json":"sort-package-json"},"dependencies":{"vue-demi":"latest"},"devDependencies":{"@babel/core":"^7.12.3","@babel/plugin-proposal-nullish-coalescing-operator":"^7.14.5","@babel/plugin-proposal-optional-chaining":"^7.21.0","@babel/plugin-syntax-class-properties":"^7.12.13","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.1","@babel/runtime-corejs3":"^7.12.5","@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/jest":"^27.4.0","@types/mockjs":"^1.0.3","@types/node":"^17.0.16","@typescript-eslint/eslint-plugin":"^4.8.2","@typescript-eslint/parser":"^4.8.2","@vitejs/plugin-vue":"^1.2.1","@vitejs/plugin-vue-jsx":"^1.1.3","@vue/babel-plugin-jsx":"^1.0.0-rc.3","@vue/compiler-sfc":"^3.0.6","@vue/composition-api":"^1.4.6","axios":"^0.21.1","babel-jest":"^27.5.0","eslint":"^7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-simple-import-sort":"^7.0.0","eslint-plugin-vue":"^7.0.0-0","fetch-mock":"^9.10.7","husky":"^7.0.4","jest":"^27.5.0","jest-environment-jsdom-global":"^2.0.4","lint-staged":"^10.5.2","mockjs":"^1.1.0","node-fetch":"2","np":"^8.0.0","patch-package":"^6.4.7","prettier":"^2.2.0","rimraf":"^3.0.2","rollup":"^2.33.1","rollup-plugin-dts":"^4.2.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","simple-git":"^3.16.0","sort-package-json":"^1.50.0","standard-version":"^9.1.1","ts-jest":"^27.1.3","typescript":"^4.0.5","vite":"^2.1.5","vite-plugin-vue2":"^1.9.2","vue":"^3.3.4","vue-template-compiler":"^2.6.14","vue2":"npm:vue@2"},"peerDependencies":{"@vue/composition-api":"^1.0.0-rc.1","vue":"^2.0.0 || >=3.0.0"},"peerDependenciesMeta":{"@vue/composition-api":{"optional":true}},"engines":{"node":">=14"},"licenseText":"MIT License\n\nCopyright (c) 2020 AttoJS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"vue-request@2.0.4","dist":{"shasum":"484672c36f46930437fe9415cc40f2fd595f98d3","integrity":"sha512-+Tu5rDy6ItF9UdD21Mmbjiq5Pq6NZSN9juH72hNQTMn1whHh4KZPTKWVLK2YS4nzbuEnPs+82G91AA2Fgd93mg==","tarball":"https://registry.npmjs.org/vue-request/-/vue-request-2.0.4.tgz","fileCount":13,"unpackedSize":148945,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH6SpDh4UH5uNC+kpQfcCn1jpoDu5JBSk6Wx7hru+O1uAiEA+hddwkLifB5EZVDQifaFDGfZX0cSW3uDiVuu6f3pEEI="}]},"_npmUser":{"name":"john60676","email":"john60676@qq.com"},"directories":{},"maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-request_2.0.4_1697449909619_0.4223356004131631"},"_hasShrinkwrap":false}},"readme":"[English](./README-en_US.md) | 简体中文\n\n<p align=\"center\">\n  <a href=\"https://www.attojs.com\">\n    <img\n      width=\"150\"\n      src=\"https://raw.githubusercontent.com/AttoJS/art/master/vue-request-logo.png\"\n      alt=\"VueRequest logo\"\n    />\n  </a>\n</p>\n<h1 align=\"center\">VueRequest</h1>\n<div align=\"center\">\n  <p align=\"center\">⚡️ 这是一个能够轻松帮助你管理请求状态的库，支持 SWR、轮询、错误重试、缓存、分页等常用功能。</p>\n  <a href=\"https://codecov.io/github/attojs/vue-request?branch=master\">\n    <img\n      src=\"https://img.shields.io/codecov/c/github/attojs/vue-request?token=NW2XVQWGPP\"\n      alt=\"Coverage Status\"\n    />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/bundlephobia/minzip/vue-request\" alt=\"Size\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/npm/v/vue-request\" alt=\"Version\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/github/languages/top/attojs/vue-request\" alt=\"Languages\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/npm/l/vue-request\" alt=\"License\" />\n  </a>\n  <a href=\"https://github.com/AttoJS/vue-request/stargazers\">\n    <img src=\"https://img.shields.io/github/stars/attojs/vue-request\" alt=\"Star\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/vue-request\">\n    <img src=\"https://img.shields.io/npm/dm/vue-request\" alt=\"Download\" />\n  </a>\n</div>\n\n## 为什么选择 VueRequest\n\n在以往的业务项目中，我们经常会被 loading 状态的管理、请求的节流防抖、接口数据的缓存、分页等重复的功能实现所困扰。每次开启一个新项目都需要重新实现一遍，这是一项重复的工作，还需要确保团队的一致性。\n\nVueRequest 的目的是为开发人员提供一种方便、快速的方式来管理 API 状态。通过简单的配置，可以省去那些繁琐的任务，专注于业务核心的开发。\n\n## 特性\n\n- 🌈 &nbsp;兼容 Vue 2 & 3\n- 🚀 &nbsp;所有数据都具有响应式\n- 🔄 &nbsp;轮询请求\n- 🤖 &nbsp;自动处理错误重试\n- 🗄 &nbsp;内置请求缓存\n- 💧 &nbsp;节流请求与防抖请求\n- 🎯 &nbsp;聚焦页面时自动重新请求\n- ⚙️ &nbsp;强大的分页扩展以及加载更多扩展\n- 📠 &nbsp;完全使用 Typescript 编写，具有强大的类型提示\n- ⚡️ &nbsp;兼容 Vite\n- 🍃 &nbsp;轻量化\n- 📦 &nbsp;开箱即用\n\n## 文档\n\n- [English](https://www.attojs.org/)\n- [中文文档](https://www.attojs.com/)\n\n## 安装\n\n你可以通过 [NPM](https://www.npmjs.com/)、[YARN](https://yarnpkg.com/) 或者通过 `<script>` 的方式引入 [unpkg.com](https://unpkg.com/) 上的包。\n\n### NPM\n\n```sh\nnpm install vue-request\n# or\nyarn add vue-request\n# or\npnpm install vue-request\n```\n\n### CDN\n\n> 对于生产环境，我们推荐链接到一个明确的版本号和构建文件，以避免新版本造成的不可预期的破坏。\n\n```html\n<script src=\"https://unpkg.com/vue-request/dist/vue-request.min.js\"></script>\n```\n\n一旦你在页面中添加了它，你就可以在 `window.VueRequest` 中访问我们导出的方法。\n\n## 示例\n\n```vue\n<template>\n  <div>\n    <div v-if=\"loading\">loading...</div>\n    <div v-if=\"error\">failed to fetch</div>\n    <div v-if=\"data\">Hey! {{ data }}</div>\n  </div>\n</template>\n\n<script lang=\"ts\" setup>\nconst { data, loading, error } = useRequest(service);\n</script>\n```\n\n在这个例子中，`useRequest` 接收了一个 `service` 函数。`service`是一个异步的请求函数，换句话说，你可以使用 **axios** 来获取数据，然后返回一个 **Promise**。更具体的说明可以在[文档](https://www.attojs.com/guide/documentation/dataFetching.html)中查看。\n\n`useRequest` 函数还会返回三个值：`data`、`loading` 和 `error`。当请求还未完成时，`data` 的值为 `undefined`，同时 `loading` 的值会被设置为 `true`。当请求完成后，`data` 和 `error` 的值将根据请求结果进行设置，并且页面也会相应地进行渲染。这是因为 `data`、`loading` 和 `error` 是 Vue 中的[响应式引用(Refs)](https://cn.vuejs.org/guide/essentials/reactivity-fundamentals.html)，它们的值会根据请求状态和结果进行修改。\n\n## 一些很酷的特性\n\nVueRequest 提供了很多特性，如：错误重试、缓存、分页、节流、防抖等等。这里列举两个比较酷的特性：\n\n### 1.聚焦页面时自动重新请求\n\n有时，你需要确保多个浏览器窗口之间的数据保持一致性；或者在用户电脑从休眠状态中恢复并重新激活时，需要将页面的数据同步到最新状态。使用 `refreshOnWindowFocus` 可以帮助你节省很多逻辑代码。[点击这里直达文档](https://www.attojs.com/guide/documentation/refreshOnWindowFocus.html)\n\n```ts\nconst { data, error, run } = useRequest(getUserInfo, {\n  refreshOnWindowFocus: true,\n  refocusTimespan: 1000, // 请求间隔时间\n});\n```\n\n![vue-request](https://z3.ax1x.com/2021/09/10/hXAs8s.gif)\n\n### 2.轮询数据\n\n有时候，你需要确保多个设备之间的数据同步更新。这时候可以使用我们提供的 `pollingInterval` 定期重新请求接口，以确保多个设备之间的数据一致性。当用户修改数据时，两个窗口将会实时同步更新。[点击这里直达文档](https://www.attojs.com/guide/documentation/polling.html)\n\n```ts\nconst { data, error, run } = useRequest(getUserInfo, {\n  pollingInterval: 1000, // 请求间隔时间\n});\n```\n\n![vue-request](https://z3.ax1x.com/2021/09/10/hXAy2n.gif)\n\n## 致谢\n\n感谢他们为我们提供了灵感\n\n- [vercel/swr](https://github.com/vercel/swr)\n- [alibaba/hooks](https://ahooks.js.org/hooks/async#userequest)\n\n## License\n\n[MIT License](https://github.com/AttoJS/vue-request/blob/master/LICENSE) © 2020-present [AttoJS](https://github.com/AttoJS)\n","maintainers":[{"name":"bennyyu","email":"bennyyu0429@gmail.com"},{"name":"john60676","email":"john60676@qq.com"}],"time":{"modified":"2023-10-16T09:51:49.982Z","created":"2017-03-18T11:24:59.598Z","1.0.0":"2017-03-18T11:24:59.598Z","1.0.1":"2017-03-18T12:54:25.271Z","1.0.0-beta.1":"2020-12-07T09:59:39.436Z","1.0.0-beta.0":"2020-12-07T10:01:00.386Z","1.0.0-beta.2":"2020-12-07T10:08:20.395Z","1.0.0-beta.3":"2020-12-07T11:18:52.072Z","1.0.0-1":"2020-12-07T11:30:18.389Z","1.0.0-beta":"2020-12-07T11:37:10.291Z","1.0.0-beta.4":"2020-12-07T11:54:36.421Z","1.0.0-beta.5":"2020-12-14T02:04:13.641Z","1.0.0-beta.6":"2020-12-31T09:00:54.225Z","1.0.0-beta.7":"2021-01-11T01:09:26.829Z","1.0.2":"2021-02-04T03:59:59.178Z","1.0.0-beta.8":"2021-02-24T09:55:51.183Z","1.0.0-beta.9":"2021-02-26T02:23:35.667Z","1.0.0-beta.10":"2021-03-02T07:29:24.722Z","1.0.0-beta.11":"2021-03-03T08:52:47.332Z","1.0.3":"2021-03-06T10:48:42.750Z","1.0.4":"2021-03-08T04:06:52.119Z","1.0.5":"2021-03-22T08:12:09.713Z","1.1.0":"2021-04-19T08:43:05.114Z","1.1.1":"2021-04-28T09:35:54.859Z","1.2.0":"2021-05-22T08:43:07.926Z","1.2.1":"2021-10-06T07:46:36.565Z","1.2.2":"2021-10-06T09:25:48.706Z","1.2.3":"2021-10-12T13:45:35.712Z","1.2.4-beta.0":"2022-01-20T03:01:04.342Z","1.2.4":"2022-01-21T09:57:53.690Z","2.0.0-alpha.1":"2022-03-28T10:34:32.749Z","2.0.0-alpha.2":"2022-03-29T08:06:52.512Z","2.0.0-alpha.3":"2022-04-25T09:24:04.282Z","2.0.0-beta.1":"2022-05-20T07:14:33.979Z","2.0.0-beta.2":"2022-05-20T07:20:59.599Z","2.0.0-rc.1":"2022-06-17T08:19:01.372Z","2.0.0-rc.2":"2022-06-28T10:18:53.144Z","2.0.0-rc.3":"2022-07-07T07:45:56.605Z","2.0.0-rc.4":"2022-09-15T02:30:16.424Z","2.0.0":"2023-06-01T12:12:09.423Z","2.0.1":"2023-06-01T12:26:53.974Z","1.2.5":"2023-06-01T12:51:58.185Z","2.0.2":"2023-06-02T07:39:05.336Z","2.0.3":"2023-06-13T06:22:51.792Z","2.0.4":"2023-10-16T09:51:49.807Z"},"keywords":["vue","vue3","vue2","swr","request","http","fetch","composition-api","vue-demi","axios","vue-request","vue request"],"license":"MIT","readmeFilename":"README.md","repository":{"type":"git","url":"https://github.com/attojs/vue-request"},"homepage":"https://www.attojs.org/","bugs":{"url":"https://github.com/attojs/vue-request/issues"}}