{"_id":"@4a/retry","_rev":"5-7d1302ef921520a815600afb5647246e","name":"@4a/retry","dist-tags":{"latest":"0.2.3"},"versions":{"0.1.1":{"name":"@4a/retry","version":"0.1.1","description":"失败自动重试","main":"index.js","scripts":{"test":"mocha test/*.spec.js"},"repository":{"type":"git","url":"git+https://github.com/gavinning/retry.git"},"keywords":["retry","auto-retry","retry-request","retry-axios"],"author":{"name":"gavinning"},"license":"MIT","bugs":{"url":"https://github.com/gavinning/retry/issues"},"homepage":"https://github.com/gavinning/retry#readme","devDependencies":{"mocha":"^7.1.2"},"gitHead":"e9f5fb01b63547045c34aae2fcc80f1f790af6e1","_id":"@4a/retry@0.1.1","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-anvSCvqiSn6iGofYbXk1/+6dWOiIQBs7lC7TlreQ8yek6lS3ThueNvXS5M9Z++ShnLyowCNMhlYJyN+fQ88Rmw==","shasum":"d9e966cd55c15638f40b633f80ec1aa29f808ae1","tarball":"https://registry.npmjs.org/@4a/retry/-/retry-0.1.1.tgz","fileCount":5,"unpackedSize":4829,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeq+u+CRA9TVsSAnZWagAA8agP/2TEsHAkkjd4O3lYM0Rz\nUU9qW+7GZobd9ovGH65GMyYvr0DWe0ZIpYehmuxE1kQb35yHBc49HiE8eHEQ\nXeAJAh+mROboUh0uBa+i5kMzH62J++29CxGhZRbUj02SsbyNdgF2U4i/uap4\nPEuGs/bzEKgr+qBRWUiawX+OKP0AQI2ELqG7L4qtqjipoA28O+JBl3/6Ibvs\n/klYNjzSu/Uk8f2lb5p3Xv68q4SI4AGcn9LqDO2UUORCfPD0xo1TepchtLI7\nvZr3ZOIyBMmtxARzUu9QMkzhBnwVCcaD9Xi8Aud8PsmkjM01U+ctPWX+0hTB\nxFz/DLKn4RS/40ThsVcgZ8HT1yZqlMktrFdQ3q7EVs0STVxMVznqna9z5FgY\nBScOuPsQ6kCx765Ef9vitXhDnkiiayzKiydabTaNGzJvQeV7BRsltoS/yqt5\n7dwPnhn42+P9zZYZ5OQmabkQpvvEElaD+7eu/ZKWleWJuqBa4IwJuUWlO7Wc\nX7OsbtiCUSIBTTlg80rJMazDYOyUj2cb4aMxtw9szFscwmHTNbylKSZX0uRM\nLnvtD4SOiTeP0NKu/Bhg30absrDi6ZA5RUrDMo+RDiMDCP6r9k5lsEutQuuo\nuF57hyOvUy0vDbDUQYaqA5SklMYwYXLg9NcwCmiedegFI6B7DVDElFXIuK7S\nQjgV\r\n=yDZe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCOzwcRMAqP7LHKWC6n2jFH3pZzi7VB6xbSeq9dg6UJ7AIhAMEWiJnr8EbGxr1PWTGjeMRNeDhx+/NC8BD2WbPp76L5"}]},"maintainers":[{"name":"gavinning","email":"gavinning@qq.com"}],"_npmUser":{"name":"gavinning","email":"gavinning@qq.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/retry_0.1.1_1588325309889_0.7871551432744734"},"_hasShrinkwrap":false},"0.2.0":{"name":"@4a/retry","version":"0.2.0","type":"module","main":"./dist/retry.umd.cjs","module":"./dist/retry.js","scripts":{"dev":"vite","build":"vue-tsc && vite build","preview":"vite preview","test":"vitest --run","coverage":"NODE_ENV=development vitest run --coverage","prepack":"npm run build","prepublish":"npm run build"},"exports":{".":{"import":"./dist/retry.js","require":"./dist/retry.umd.cjs"}},"prettier":{"semi":false},"author":{"name":"gavinning","email":"gavinning@qq.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/gavinning/retry.git"},"bugs":{"url":"https://github.com/gavinning/retry/issues"},"homepage":"https://github.com/gavinning/retry#readme","keywords":["retry","auto-retry","retry-request","retry-axios"],"peerDependencies":{"axios":"*"},"devDependencies":{"vue":"^3.2.47","@vitejs/plugin-vue":"^4.1.0","typescript":"^5.0.2","vite":"^4.3.9","vitest":"^0.32.2","vue-tsc":"^1.4.2"},"gitHead":"e9e0486818cce7b555acb9f8e808dde7a89f779e","description":"失败自动重试，可用于 http 请求重试，或其他需要重试的逻辑","_id":"@4a/retry@0.2.0","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-wV3lvoga+aaJL+hgxG5ifcc36StyiaLAUun6uF3gA1Cga5KhQ7ejN1kowm43YOrEi8H+7ytDlkiZcqhINg+1dw==","shasum":"4d04e07f16e1d40ab3492a6fdc560f44f9530f30","tarball":"https://registry.npmjs.org/@4a/retry/-/retry-0.2.0.tgz","fileCount":4,"unpackedSize":5290,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCdpx2oekmgeQwJ1BMgrpTxnLA4L0tYGcPZNvcgOv7WdQIgczNFy9Zs4/qdq7V8vFIpPOBWmZMSDeluehvSMLACvbg="}]},"_npmUser":{"name":"gavinning","email":"gavinning@qq.com"},"directories":{},"maintainers":[{"name":"gavinning","email":"gavinning@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/retry_0.2.0_1687831348535_0.3624654740220534"},"_hasShrinkwrap":false},"0.2.1":{"name":"@4a/retry","version":"0.2.1","type":"module","main":"./dist/retry.umd.cjs","module":"./dist/retry.js","scripts":{"dev":"vite","preview":"vite preview","test":"vitest --run","build":"vue-tsc && vite build && npm run type","type":"tsc src/lib/retry.ts --lib es2015,dom --declarationDir dist --emitDeclarationOnly --declaration","coverage":"NODE_ENV=development vitest run --coverage","prepack":"npm run build","prepublish":"npm run build"},"exports":{".":{"import":"./dist/retry.js","require":"./dist/retry.umd.cjs"}},"prettier":{"semi":false},"author":{"name":"gavinning","email":"gavinning@qq.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/gavinning/retry.git"},"bugs":{"url":"https://github.com/gavinning/retry/issues"},"homepage":"https://github.com/gavinning/retry#readme","keywords":["retry","auto-retry","retry-request","retry-axios"],"peerDependencies":{"axios":"*"},"devDependencies":{"vue":"^3.2.47","@vitejs/plugin-vue":"^4.1.0","typescript":"^5.0.2","vite":"^4.3.9","vitest":"^0.32.2","vue-tsc":"^1.4.2"},"gitHead":"60e708081df0453896bcffc97c9b9d201c253197","description":"失败自动重试，可用于 http 请求重试，或其他需要重试的逻辑","_id":"@4a/retry@0.2.1","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-/nIbourpyKNKuTqqTm2wEfh8LpKgY28CexBv6RBG+FUI02FB8oWtWVhlsLreaMoWvKKKc4Q9GLAwC1JCsG74ng==","shasum":"1e1e5ef9054b61bdedb18d4bc7a4c4157766a6e7","tarball":"https://registry.npmjs.org/@4a/retry/-/retry-0.2.1.tgz","fileCount":5,"unpackedSize":6351,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICTV3Zmp2mctsorAXSbPHg5I2gBM8e9XsMZm3z13us43AiEAsi5i9UCBGQ/V2macuR0fHhg1/ZdR9DzbZ23DX+nad3Q="}]},"_npmUser":{"name":"gavinning","email":"gavinning@qq.com"},"directories":{},"maintainers":[{"name":"gavinning","email":"gavinning@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/retry_0.2.1_1687832922459_0.023212400191878757"},"_hasShrinkwrap":false},"0.2.2":{"name":"@4a/retry","version":"0.2.2","type":"module","main":"./dist/index.esm.js","module":"./dist/index.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs"}},"prettier":{"semi":false},"author":{"name":"gavinning","email":"gavinning@qq.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/gavinning/retry.git"},"bugs":{"url":"https://github.com/gavinning/retry/issues"},"homepage":"https://github.com/gavinning/retry#readme","keywords":["retry","auto-retry","retry-request","retry-axios"],"peerDependencies":{"axios":"*"},"scripts":{"dev":"vite","preview":"vite preview","test":"vitest --run","build":"vite build && tsc","type":"tsc src/index.ts --lib es2015,dom --declarationDir dist --emitDeclarationOnly --declaration","coverage":"NODE_ENV=development vitest run --coverage","prepublish":"npm run build"},"description":"失败自动重试，可用于 http 请求重试，或其他需要重试的逻辑","_id":"@4a/retry@0.2.2","_integrity":"sha512-MjIjNgFJNM7oayRA8kn2GW8vYpUfyLhOMYgD04PG2NfQXNzMv1t85VjcqA7JnzPnUD5nBLeTyc0D2X4NBMRWjw==","_resolved":"/private/var/folders/dq/6rlp65cd3nb86v85nkhjthq80000gn/T/509c19d88877555e83736f326265d41d/4a-retry-0.2.2.tgz","_from":"file:4a-retry-0.2.2.tgz","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-MjIjNgFJNM7oayRA8kn2GW8vYpUfyLhOMYgD04PG2NfQXNzMv1t85VjcqA7JnzPnUD5nBLeTyc0D2X4NBMRWjw==","shasum":"b34e6fe30394c6a903da62d45dd8f4ae3f30e840","tarball":"https://registry.npmjs.org/@4a/retry/-/retry-0.2.2.tgz","fileCount":7,"unpackedSize":7442,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC70B5+o7PKOzdxkrpA8JJOnYQ46gQNagKEVGhKHAKZQQIhAP5IcPvaqcgNwMRNfDMo2tEpvi169MyfY7KS364KuNHa"}]},"_npmUser":{"name":"gavinning","email":"gavinning@qq.com"},"directories":{},"maintainers":[{"name":"gavinning","email":"gavinning@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/retry_0.2.2_1688708136091_0.8884795011483864"},"_hasShrinkwrap":false},"0.2.3":{"name":"@4a/retry","version":"0.2.3","type":"module","main":"./dist/index.esm.js","module":"./dist/index.esm.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs"}},"prettier":{"semi":false},"author":{"name":"gavinning","email":"gavinning@qq.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/gavinning/4a.git"},"bugs":{"url":"https://github.com/gavinning/4a/issues"},"homepage":"https://github.com/gavinning/4a#readme","keywords":["retry","auto-retry","retry-request","retry-axios"],"peerDependencies":{"axios":"*"},"scripts":{"dev":"vite","preview":"vite preview","test":"vitest --run","build":"vite build && tsc","type":"tsc src/index.ts --lib es2015,dom --declarationDir dist --emitDeclarationOnly --declaration","coverage":"NODE_ENV=development vitest run --coverage","prepublish":"npm run build"},"description":"失败自动重试，可用于 http 请求重试，或其他需要重试的逻辑","_id":"@4a/retry@0.2.3","_integrity":"sha512-x5cgc70/H/g6qdi7RLHzJ1uoHfLw7utbni40U+CFevQPIzzEi1dsdsCCimp9sOZeFs99eigOWtZPFARo3yP6ww==","_resolved":"/private/var/folders/dq/6rlp65cd3nb86v85nkhjthq80000gn/T/18eb56e080303c6e90b05e3596eae1c6/4a-retry-0.2.3.tgz","_from":"file:4a-retry-0.2.3.tgz","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-x5cgc70/H/g6qdi7RLHzJ1uoHfLw7utbni40U+CFevQPIzzEi1dsdsCCimp9sOZeFs99eigOWtZPFARo3yP6ww==","shasum":"10dc5fbfbafb84f6393a4196c13a02cf142fa5eb","tarball":"https://registry.npmjs.org/@4a/retry/-/retry-0.2.3.tgz","fileCount":7,"unpackedSize":7463,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGAasTanKcewoDX9LSG8in4o4YbNXa2EnjCpUrjH705QAiEA02CytUlYOUqJ3b8S/pEM7uFhNrpB78WnvIMjfdYhXgA="}]},"_npmUser":{"name":"gavinning","email":"gavinning@qq.com"},"directories":{},"maintainers":[{"name":"gavinning","email":"gavinning@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/retry_0.2.3_1689825128493_0.12202199528376512"},"_hasShrinkwrap":false}},"time":{"created":"2020-05-01T09:28:29.654Z","0.1.1":"2020-05-01T09:28:30.002Z","modified":"2023-07-20T03:52:08.886Z","0.2.0":"2023-06-27T02:02:28.787Z","0.2.1":"2023-06-27T02:28:42.656Z","0.2.2":"2023-07-07T05:35:36.248Z","0.2.3":"2023-07-20T03:52:08.666Z"},"maintainers":[{"name":"gavinning","email":"gavinning@qq.com"}],"description":"失败自动重试，可用于 http 请求重试，或其他需要重试的逻辑","homepage":"https://github.com/gavinning/4a#readme","keywords":["retry","auto-retry","retry-request","retry-axios"],"repository":{"type":"git","url":"git+https://github.com/gavinning/4a.git"},"author":{"name":"gavinning","email":"gavinning@qq.com"},"bugs":{"url":"https://github.com/gavinning/4a/issues"},"license":"MIT","readme":"## Retry\n\n失败自动重试，可用于 http 请求重试，或其他需要重试的逻辑\n\n### Install\n\n```sh\nnpm i @4a/retry\n```\n\n### Usage\n\n```ts\n// ES6\nimport { Retry } from '@4a/retry'\n\n// Nodejs\nconst { Retry } = require('@4a/retry')\n```\n\n### Example\n\n```ts\nlet i = 0\n\nRetry.delay(300) // 可选调用 重试间隔300ms，默认300ms，单位ms\n  .max(10) // 可选调用 重试次数10，默认3次防止死循环\n  .when((result) => result !== 10) // 必须调用 重试条件，符合条件则重试，否则视为成功正常返回\n  .repeat(() => {\n    // 支持async函数，支持promise，返回Promise\n    i++\n    return i\n  })\n  .then((result) => {\n    console.log('result:', result)\n  })\n  .catch((err) => {\n    // 报错视为失败\n    // 最后一次重试如果依然报错，则抛出该错误\n    console.error('error:', err)\n  })\n```\n\nSimple\n\n```ts\nlet i = 0\n\nRetry.when((result) => result !== 10)\n  .repeat(() => {\n    i++\n    return i\n  })\n  .then((result) => {\n    console.log('result:', result)\n  })\n  .catch((err) => {\n    console.error('error:', err)\n  })\n```\n\nAxios Request\n\n```ts\nRetry.when((result) => result.data.code !== 0)\n  .repeat(() => axios(options))\n  .then((result) => {\n    console.log('result:', result)\n  })\n  .catch((err) => {\n    console.error('error:', err)\n  })\n```\n\n<br />\n\n> npm test\n","readmeFilename":"readme.md"}