{"_id":"p-race","_rev":"8-93bad83f3cdf4cccce9ec504e3d72937","name":"p-race","description":"A better `Promise.race()`","dist-tags":{"latest":"3.1.0"},"versions":{"1.0.0":{"name":"p-race","version":"1.0.0","description":"A better `Promise.race()`","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/p-race.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"engines":{"node":">=4"},"scripts":{"test":"xo && ava"},"files":["index.js"],"keywords":["promise","race","better","async","await","promises","bluebird"],"dependencies":{"is-empty-iterable":"^1.0.0"},"devDependencies":{"ava":"*","delay":"^1.3.1","xo":"*"},"xo":{"esnext":true},"gitHead":"384868dae6f5444d7b7d4b35b8acb13f4bf4194d","bugs":{"url":"https://github.com/sindresorhus/p-race/issues"},"homepage":"https://github.com/sindresorhus/p-race#readme","_id":"p-race@1.0.0","_shasum":"6bd695251f075a896ff1292b308b38bddf252220","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.6.0","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"6bd695251f075a896ff1292b308b38bddf252220","tarball":"https://registry.npmjs.org/p-race/-/p-race-1.0.0.tgz","integrity":"sha512-YbF5aA1sAKMWQEFVUeOpRfWnUM5zJ2kC+wM9mPqw0kIrgBpKqVUiZ/XEL9kcePB66YSP6gr0EDo/jFprOp2zVw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCOHWGw8bLwMPMKHaeRfsvzdVyDdgDCxMtxdJaa1ixwsAIgIxbX3bHiZ23R+/7X2zPN0Ay4qTVmkp3NbT+GRgVfI3c="}]},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/p-race-1.0.0.tgz_1477032026627_0.5640424564480782"},"directories":{}},"2.0.0":{"name":"p-race","version":"2.0.0","description":"A better `Promise.race()`","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/p-race.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"engines":{"node":">=8"},"scripts":{"test":"xo && ava && tsd-check"},"keywords":["promise","race","better","async","await","promises","bluebird"],"dependencies":{"is-empty-iterable":"^2.0.0"},"devDependencies":{"ava":"^1.3.1","delay":"^4.1.0","tsd-check":"^0.5.0","xo":"^0.24.0"},"gitHead":"336be965fb2f6d16c0a856b402b9f2d32d9cbfc6","bugs":{"url":"https://github.com/sindresorhus/p-race/issues"},"homepage":"https://github.com/sindresorhus/p-race#readme","_id":"p-race@2.0.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"integrity":"sha512-7ngK+TbQfkfbUq/3p4XrpFQWX65azKA4I+wHPs+h273VtJDim5I/WLsHSvnPpoOQmdduwLsW7VfPsO1yEWthCA==","shasum":"85c49ec9195a07fbddee1d4887a0c6602b07b85b","tarball":"https://registry.npmjs.org/p-race/-/p-race-2.0.0.tgz","fileCount":5,"unpackedSize":3997,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcj9pICRA9TVsSAnZWagAAvx0P/2hnnlre5XC0fgzq+MGS\naljs+hJB+tNL1A+RVEqrq5Gh5GUjFV+KMM1FKpTO1E0oTvNONLxJiPb+acGr\nG5K2tjyjsCsOBb+sCNN+rMNbkOWJ2SzLwngsZ5+3TSzcKimlBqEe0s7ZWTOU\nrrhor7l+EAhQrjhZbP6q2qZrTl42arybLo/L9m2+dB/mvrlhvgwFeq1t/dvM\noubw/F7rx+zv5DOtpUAi2tBVCTi6GNmqDIia59b2Q+6gqcACkz0vUJzMrzRP\nxNqiI8zrFENrc6jEx9sH5ZLToyCnsrSM5gDDk/DhcWw0dP0www2RS5vpkIgG\n12iRIfh440T7/JI0+ddogD9/kQ1xLCPDtSkxGxI7ixhGyv6cKp/NYOt+lxZX\ntIKr78LVoJGCuWRNnrdpSVj6P81xVQgPMpCN7v3Sv+Z7yhyucM2f5SyiVzGm\nsfbJsgrV9mCitv2dkDVys1tGKbDvT0y+KsrwdLjfuz610bPThUh8Apqp/d6p\n1DUvHNpoFgrxp1vIfCdbyV3GGoYGA7PZcXKBj6kyGcpe9ZpyziEc/8m55B3c\n9Bs4u0IYMvcBtQJsPZtQii/BQOS2n1fAiiX+EYwJ1+6gHZ7pDXXKQDVozeH8\nqm8/uo59XkDZMNmGjweYGMhGT/eg716CcVhdwHpOmSsmxA/NYpajcLBunbue\nQFTc\r\n=Dw3S\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBCbObomSRVLaAOhOkLDl0GJvMU28XJVUab+dPzbmO2wAiBjtVQTNLOpVj1cFsayeO6MrduC22yoc8Uax3wx+b07vA=="}]},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/p-race_2.0.0_1552931399327_0.348191648153916"},"_hasShrinkwrap":false},"2.1.0":{"name":"p-race","version":"2.1.0","description":"A better `Promise.race()`","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/p-race.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"engines":{"node":">=8"},"scripts":{"test":"xo && ava && tsd"},"keywords":["promise","race","better","async","await","promises","bluebird"],"dependencies":{"is-empty-iterable":"^2.0.0"},"devDependencies":{"ava":"^1.4.1","delay":"^4.1.0","tsd":"^0.7.2","xo":"^0.24.0"},"gitHead":"9f62d1b008ae643c34e5dd614c2e20ef2881ba10","bugs":{"url":"https://github.com/sindresorhus/p-race/issues"},"homepage":"https://github.com/sindresorhus/p-race#readme","_id":"p-race@2.1.0","_nodeVersion":"8.15.0","_npmVersion":"6.9.0","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"integrity":"sha512-BiZlNIdxmgVnjl7wX8pWlnlhM7GzomYT804WbAoAW4782iFWG3FRwME1tm/Gh8KNYlhjNY+EgQL0fKYral5aLw==","shasum":"7b1b87bea4b9c5581b63e0344fd25e36dd9ddd30","tarball":"https://registry.npmjs.org/p-race/-/p-race-2.1.0.tgz","fileCount":5,"unpackedSize":4323,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcpD/5CRA9TVsSAnZWagAA6ngP/2hfDc77TA4zSQzh1Oa0\nFkMSa50ymJdKNO+DCVsr2LmOLXCb+Ry56CMWcvLb1Hieujger7UblyH1Zk0v\nNll3Mx7dnSUuysrBWcx0YSb0vB3sfPEOR7yDiel2IueKtlQOszEP14tRMHVu\nkmpGcJbzpbgBTZQf3NV2GvLkJmztJcO5C6DZtjOOu/ACP2J2mgD/cN11Q5Nd\noglgPvEcI+7g57Ht//SkJrF38gp1WZkIxBI+lhVIE1ThYEq+xVwayVVLxcJv\nTv9AlTaSX77QMhzlKZtU87LTXgTD6T9VO1Xdfb1vMXawGyum7yrWKdwUbf9F\nwaFJ2lZzs6yxKEsL/CPdFUoUepWJ2pyxnPnFFP5wGhrJjs707GpfuoxF8GMa\nhRn3f+2yxnaPwd41nS7dD9hy2/fK36vMExZuDIrSxdaXh4HB7E9X5f83jXKd\nxoKPzS/WLX/wK3nBTjW893S48GXKwSMLo+PA871EGzjw6uitDfsH9ep7YB8s\nZgFQ7jQh8s7JMcmdZjF+Hh3UNFhLrwTBZCFHsV4Tuc+tVRFwzIcQIgA5+fOL\nDEC/yuK+sP6orEa1xHSyGI8kn+BtGe4yGoSgiw/rZjbKzbKL/DnBF7xO1zU6\n0kexpteOaITtdIeGuQ7NjMcg2trv0D0t5X5NVfjdF6F56XRv6vBpmQmXhNAl\nahQz\r\n=wdlP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCTWZeUpnuSJI2Pn5qhGK26SSmQ0qAfMFaLL06D6tTxHgIhAMjQDbvSJkYBTz16ydXQBe4800nMqC/ei+sUgoUPR63f"}]},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/p-race_2.1.0_1554268152978_0.8929849729293295"},"_hasShrinkwrap":false},"3.0.0":{"name":"p-race","version":"3.0.0","description":"A better `Promise.race()`","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/p-race.git"},"funding":"https://github.com/sponsors/sindresorhus","author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"https://sindresorhus.com"},"type":"module","exports":"./index.js","engines":{"node":">=12"},"scripts":{"test":"xo && ava && tsd"},"keywords":["promise","race","better","async","await","promises","bluebird"],"dependencies":{"is-empty-iterable":"^3.0.0"},"devDependencies":{"ava":"^3.15.0","delay":"^5.0.0","tsd":"^0.14.0","xo":"^0.38.2"},"gitHead":"4e38ce44b2c02de768031636b1ddcd622d466ad6","bugs":{"url":"https://github.com/sindresorhus/p-race/issues"},"homepage":"https://github.com/sindresorhus/p-race#readme","_id":"p-race@3.0.0","_nodeVersion":"15.12.0","_npmVersion":"6.14.10","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"integrity":"sha512-rHQzkwCXYBCgi1mFiTtO8eYtzzGUu8TdsqBIdZfnh+0HtXtd4WgV2XaprSkUjXa3svI2D3Lto9MifEx7WG/HRw==","shasum":"d7eacd6164fcbd0fa901627609dbc81d4b9a5919","tarball":"https://registry.npmjs.org/p-race/-/p-race-3.0.0.tgz","fileCount":5,"unpackedSize":3845,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgb99oCRA9TVsSAnZWagAAUwYP/3QP+FV2dXwuaZosDcNr\n2eyEzaCkz3ct67uAiawjQ+Ea/mu4CM/A/hvh7Uu41oUpPiKFH97nYh9krjAt\n5jTrwHMovzZuYODRymxo7YaZI7Xk5pVbhF10ba5qhhcL3pLMr+Vg3M95VV6A\nbPw1XSUNwjvZSAvh+WM1r69FMPslLFLzfJZ3KmM7Z4PSJ8nf3H/+dWdaflm4\n5yF/EHwZaNJ4NgFSiRMarjqsPZtUNl7maREg9/TL4nVQ1u1YUC97ALG7UF3H\nckiwVLZCVnYaoCTeOv3ZJFsgFrzi2NVUEbV0ZLNwpiLVMMz+u3Xd9kyLsRpx\nXFDIH8eGqrY+ygDAcOYZACZVRXWdcjqy9qnbxPm9ATATwI542nmGVME/IypP\nPU+1Z83HyZchdIaPBYgkwWTSzAplYjBU4llbtWIVk1QkYtgTRkD4EIH43Gl6\nFjmuJ7O2LDC7jWyw9cDmZuIUliyvWBjgZadvj/+uWkiSn+xWnos+X+Yx9Gae\nFREQNO4yCryo830ULclQzrSRAv+hysEOkreUf1aYg694/jHb+pMbVp1E2U8F\nBxmlYxGTQ4b+6ONR0OGvHdd97U2uPO0MLtdWtrb4jFy2bj0N4wmLrxDeCwPR\ng0xR7BMYYjFS8tvtX9qht+yoUhFoVwU3yVQnQytW4QpIp3qtDtqUZD6lCsI2\nLuSN\r\n=jheU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDOI8g9iHyOZsWDXr4aTbni8wWc91ouvixNE41jJjJBSAiALVuX2ElZvJvU2q8JDWJWKIsga4FRbOgdu/t3/B+kFrQ=="}]},"directories":{},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/p-race_3.0.0_1617944424395_0.281286240609516"},"_hasShrinkwrap":false},"3.1.0":{"name":"p-race","version":"3.1.0","description":"A better `Promise.race()`","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/p-race.git"},"funding":"https://github.com/sponsors/sindresorhus","author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"https://sindresorhus.com"},"type":"module","exports":"./index.js","engines":{"node":">=12"},"scripts":{"test":"xo && ava && tsd"},"keywords":["promise","race","better","async","await","promises","bluebird"],"dependencies":{"is-empty-iterable":"^3.0.0"},"devDependencies":{"ava":"^3.15.0","delay":"^5.0.0","tsd":"^0.14.0","xo":"^0.38.2"},"types":"./index.d.ts","gitHead":"efac45680f58e6a09d6f3f6d533789243efdaf08","bugs":{"url":"https://github.com/sindresorhus/p-race/issues"},"homepage":"https://github.com/sindresorhus/p-race#readme","_id":"p-race@3.1.0","_nodeVersion":"14.21.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-a2CQ6dLggpO6+SOITB2VJclOBtsrG/F2WtfvEiijT+UjkhsVYj4+k+XYYHB6YztWbO5tUeP21N7cpa3nqG5PFQ==","shasum":"e7cfd786f9d373beda1d26e68e1ba3c46eb8363a","tarball":"https://registry.npmjs.org/p-race/-/p-race-3.1.0.tgz","fileCount":5,"unpackedSize":5145,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID/NVuHwX6LmhEYPX60/ke4rDsd/BYsVDFXnV3gHDTMEAiEA5MPM7COCbcqKw4UdolImwp8piwlH2cp7YwVYRyqxBBQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjmJbLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpR6g//QoWVoI8kJIbow59jgrNuMAEJMRyWYFKx7wjng7hTXTnmaCTy\r\nOmUIlk0oBX4886rhE4TTFjcATcj9Mx5tFNs0up03h1STnYdfa0Cl5PLSBnDs\r\nzKQrr/okIaYG2t9B4TNaVPrpg8pEHXQHHeKKJLudvjAyx7cf9h4LqMe8j8ap\r\nnPcuxFbCDvH3iF8yi0k5X7ZrouL8qU4WcfRw55olzFvMvarNqqyBOWUdzUMU\r\nWPhGbnU55t6htm+t2Mb+sKQDizhCG37uwycWIfPiIzDv403VaXD+qWAKV341\r\nrcgHyKJwPM8TlvV+BV8obgEGwW9I0NH0xRj52+L8bdW25e+3NwrjJnKZw4jw\r\nOJqPx5Q6Ind+DJKNsfvNwcPn/eGvRcIzRz4EPIcFENLXJRCFv6SKOL24e6nN\r\ngr8LQUH1a3tEU2WNsMGGOLmGz2F+8siL5e7aG4PmscWLi4BoyStTFd+f2dBg\r\n2bbZZs3bHBj1SoY3t9MUOYBwIb82xPpcA72y3OKiy98Vmajb7q9jfUcBvjcm\r\nhNJ0o4OeYUr+JjUxR87KsP7qxkMhSfjid3evPn34ct3tTma6iYTIhccb3mHu\r\nkUYnDx1CLsoN0nyQHq6XilvTgVLMjXBrYgZOfljGnctVWW9bjRgNn/IPL4bG\r\nlNv1QUW/VJqvNma/G61gqd1l9R5f2q7FS8w=\r\n=swj6\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/p-race_3.1.0_1670944459051_0.4628896734150092"},"_hasShrinkwrap":false}},"readme":"# p-race\n\n> A better [`Promise.race()`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise/race)\n\nImprovements:\n- Fixes the [silly behavior](https://github.com/domenic/promises-unwrapping/issues/75) of `Promise.race()` returning a forever pending promise when supplied an empty iterable, which could create some really hard to debug problems. `Promise.race()` returns the first promise to fulfill or reject. Check out [`p-any`](https://github.com/sindresorhus/p-any) if you like to get the first promise to fulfill.\n- Supports aborting promises using [`AbortSignal`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal).\n\n## Install\n\n```sh\nnpm install p-race\n```\n\n## Usage\n\n```js\nimport pRace from 'p-race';\n\nPromise.race([]);\n// Returns a forever pending promise…\n\npRace([]);\n//=> [RangeError: Expected the input to contain at least one item]\n```\n\n## API\n\n### pRace(iterable | executor)\n\n#### iterable\n\nType: `Iterable<Promise | unknown>`\n\n#### executor\n\nType: `signal => Iterable<Promise | unknown>`\n\n##### signal\n\nType: [`AbortSignal`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal)\n\nYou can pass the `signal` to each iterable's element to abort remaining promises when resolve the first promise.\n\n*Requires Node.js 16 or later.*\n\n```js\nimport pRace from 'p-race';\n\npRace(signal => [\n\tfetch('/api', {signal}),\n\tsetTimeout(10, {signal}),\n]);\n// Remaining promises other than first one will be aborted.\n```\n\n## Related\n\n- [p-any](https://github.com/sindresorhus/p-any) - Wait for any promise to be fulfilled\n- [More…](https://github.com/sindresorhus/promise-fun)\n","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"time":{"modified":"2022-12-13T15:14:19.302Z","created":"2016-10-21T06:40:28.671Z","1.0.0":"2016-10-21T06:40:28.671Z","2.0.0":"2019-03-18T17:49:59.477Z","2.1.0":"2019-04-03T05:09:13.185Z","3.0.0":"2021-04-09T05:00:24.531Z","3.1.0":"2022-12-13T15:14:19.232Z"},"homepage":"https://github.com/sindresorhus/p-race#readme","keywords":["promise","race","better","async","await","promises","bluebird"],"repository":{"type":"git","url":"git+https://github.com/sindresorhus/p-race.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"https://sindresorhus.com"},"bugs":{"url":"https://github.com/sindresorhus/p-race/issues"},"license":"MIT","readmeFilename":"readme.md"}