{"_id":"p-each-series","_rev":"176612","name":"p-each-series","description":"Iterate over promises serially","dist-tags":{"latest":"3.0.0"},"maintainers":[{"name":"sindresorhus","email":""}],"time":{"modified":"2021-06-03T11:58:29.000Z","created":"2016-10-21T04:59:17.323Z","3.0.0":"2021-04-09T05:36:15.993Z","2.2.0":"2020-11-18T22:32:07.420Z","2.1.0":"2019-04-04T04:53:24.236Z","2.0.0":"2019-03-15T07:40:42.680Z","1.0.0":"2016-10-21T04:59:17.323Z"},"users":{},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"https://sindresorhus.com"},"repository":{"type":"git","url":"git+https://github.com/sindresorhus/p-each-series.git"},"versions":{"3.0.0":{"name":"p-each-series","version":"3.0.0","description":"Iterate over promises serially","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/p-each-series.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","foreach","for-each","for","each","collection","iterable","iterator","fulfilled","async","await","promises","serial","serially","series","bluebird"],"devDependencies":{"ava":"^3.15.0","delay":"^5.0.0","time-span":"^4.0.0","tsd":"^0.14.0","xo":"^0.38.2"},"gitHead":"b212721691ac48e8081376a8f4f2ca77588acd01","bugs":{"url":"https://github.com/sindresorhus/p-each-series/issues"},"homepage":"https://github.com/sindresorhus/p-each-series#readme","_id":"p-each-series@3.0.0","_nodeVersion":"15.12.0","_npmVersion":"6.14.10","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"d1aed5e96ef29864c897367a7d2a628fdc960806","size":2486,"noattachment":false,"key":"/p-each-series/-/p-each-series-3.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/p-each-series/download/p-each-series-3.0.0.tgz"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/p-each-series_3.0.0_1617946575887_0.44802851470563554"},"_hasShrinkwrap":false,"publish_time":1617946575993,"_cnpm_publish_time":1617946575993},"2.2.0":{"name":"p-each-series","version":"2.2.0","description":"Iterate over promises serially","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/p-each-series.git"},"funding":"https://github.com/sponsors/sindresorhus","author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"https://sindresorhus.com"},"engines":{"node":">=8"},"scripts":{"test":"xo && ava && tsd"},"keywords":["promise","foreach","for-each","for","each","collection","iterable","iterator","fulfilled","async","await","promises","serial","serially","series","bluebird"],"devDependencies":{"ava":"^1.4.1","delay":"^4.1.0","time-span":"^3.0.0","tsd":"^0.7.2","xo":"^0.24.0"},"gitHead":"133ef8bd6121bd22f9867ef80438aab9fced6125","bugs":{"url":"https://github.com/sindresorhus/p-each-series/issues"},"homepage":"https://github.com/sindresorhus/p-each-series#readme","_id":"p-each-series@2.2.0","_nodeVersion":"15.1.0","_npmVersion":"6.14.8","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"105ab0357ce72b202a8a8b94933672657b5e2a9a","size":2643,"noattachment":false,"key":"/p-each-series/-/p-each-series-2.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/p-each-series/download/p-each-series-2.2.0.tgz"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/p-each-series_2.2.0_1605738727266_0.3086274688186348"},"_hasShrinkwrap":false,"publish_time":1605738727420,"_cnpm_publish_time":1605738727420},"2.1.0":{"name":"p-each-series","version":"2.1.0","description":"Iterate over promises serially","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/p-each-series.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"engines":{"node":">=8"},"scripts":{"test":"xo && ava && tsd"},"keywords":["promise","foreach","for-each","for","each","collection","iterable","iterator","fulfilled","async","await","promises","serial","serially","series","bluebird"],"devDependencies":{"ava":"^1.4.1","delay":"^4.1.0","time-span":"^3.0.0","tsd":"^0.7.2","xo":"^0.24.0"},"gitHead":"ccffc6404419c4a6c08aff12e146a6fe9b7f9501","bugs":{"url":"https://github.com/sindresorhus/p-each-series/issues"},"homepage":"https://github.com/sindresorhus/p-each-series#readme","_id":"p-each-series@2.1.0","_nodeVersion":"8.15.0","_npmVersion":"6.9.0","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"961c8dd3f195ea96c747e636b262b800a6b1af48","size":2397,"noattachment":false,"key":"/p-each-series/-/p-each-series-2.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/p-each-series/download/p-each-series-2.1.0.tgz"},"maintainers":[{"name":"sindresorhus","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/p-each-series_2.1.0_1554353604096_0.0836061994519759"},"_hasShrinkwrap":false,"publish_time":1554353604236,"_cnpm_publish_time":1554353604236},"2.0.0":{"name":"p-each-series","version":"2.0.0","description":"Iterate over promises serially","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/p-each-series.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"engines":{"node":">=8"},"scripts":{"test":"xo && ava && tsd-check"},"keywords":["promise","foreach","for-each","for","each","collection","iterable","iterator","fulfilled","async","await","promises","serial","serially","series","bluebird"],"devDependencies":{"ava":"1.3.1","delay":"^4.1.0","time-span":"^3.0.0","tsd-check":"^0.3.0","xo":"^0.24.0"},"gitHead":"b9ec5f5c128ff0bcd3f0f59b215074ec17465ef9","bugs":{"url":"https://github.com/sindresorhus/p-each-series/issues"},"homepage":"https://github.com/sindresorhus/p-each-series#readme","_id":"p-each-series@2.0.0","_nodeVersion":"8.15.0","_npmVersion":"6.9.0","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"25e3eb3c957210e34502a152033a4b8b42ba11ed","size":2253,"noattachment":false,"key":"/p-each-series/-/p-each-series-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/p-each-series/download/p-each-series-2.0.0.tgz"},"maintainers":[{"name":"sindresorhus","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/p-each-series_2.0.0_1552635642537_0.21380944652601075"},"_hasShrinkwrap":false,"publish_time":1552635642680,"_cnpm_publish_time":1552635642680},"1.0.0":{"name":"p-each-series","version":"1.0.0","description":"Iterate over promises serially","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/p-each-series.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"engines":{"node":">=4"},"scripts":{"test":"xo && ava"},"files":["index.js"],"keywords":["promise","foreach","for-each","for","each","collection","iterable","iterator","fulfilled","async","await","promises","serial","serially","series","bluebird"],"dependencies":{"p-reduce":"^1.0.0"},"devDependencies":{"ava":"*","delay":"^1.3.1","time-span":"^1.0.0","xo":"*"},"xo":{"esnext":true},"gitHead":"321678961a70d01605d825be55214bf3b2143efa","bugs":{"url":"https://github.com/sindresorhus/p-each-series/issues"},"homepage":"https://github.com/sindresorhus/p-each-series#readme","_id":"p-each-series@1.0.0","_shasum":"930f3d12dd1f50e7434457a22cd6f04ac6ad7f71","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.6.0","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"930f3d12dd1f50e7434457a22cd6f04ac6ad7f71","size":2037,"noattachment":false,"key":"/p-each-series/-/p-each-series-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/p-each-series/download/p-each-series-1.0.0.tgz"},"maintainers":[{"name":"sindresorhus","email":""}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/p-each-series-1.0.0.tgz_1477025957075_0.09900743956677616"},"directories":{},"publish_time":1477025957323,"_cnpm_publish_time":1477025957323,"_hasShrinkwrap":false}},"readme":"# p-each-series\n\n> Iterate over promises serially\n\nUseful as a side-effect iterator. Prefer [`p-map`](https://github.com/sindresorhus/p-map) if you don't need side-effects, as it's concurrent.\n\n## Install\n\n```\n$ npm install p-each-series\n```\n\n## Usage\n\n```js\nimport pEachSeries from 'p-each-series';\n\nconst keywords = [\n\tgetTopKeyword(), //=> Promise\n\t'rainbow',\n\t'pony'\n];\n\nconst iterator = async element => saveToDiskPromise(element);\n\nconsole.log(await pEachSeries(keywords, iterator));\n//=> ['unicorn', 'rainbow', 'pony']\n```\n\n## API\n\n### pEachSeries(input, iterator)\n\nReturns a `Promise` that is fulfilled when all promises in `input` and ones returned from `iterator` are fulfilled, or rejects if any of the promises reject. The fulfillment value is the original `input`.\n\n#### input\n\nType: `Iterable<Promise | unknown>`\n\nIterated over serially in the `iterator` function.\n\n#### iterator(element, index)\n\nType: `Function`\n\nReturn value is ignored unless it's `Promise`, then it's awaited before continuing with the next iteration.\n\n### pEachSeries.stop\n\nStop iterating through items by returning `pEachSeries.stop` from the iterator function.\n\n```js\nimport pEachSeries from 'p-each-series';\n\n// Logs `a` and `b`.\nconst result = await pEachSeries(['a', 'b', 'c'], value => {\n\tconsole.log(value);\n\n\tif (value === 'b') {\n\t\treturn pEachSeries.stop;\n\t}\n});\n\nconsole.log(result);\n//=> ['a', 'b', 'c']\n```\n\n## Related\n\n- [p-map-series](https://github.com/sindresorhus/p-map-series) - Map over promises serially\n- [p-series](https://github.com/sindresorhus/p-series) - Run promise-returning & async functions in series\n- [p-pipe](https://github.com/sindresorhus/p-pipe) - Compose promise-returning & async functions into a reusable pipeline\n- [p-waterfall](https://github.com/sindresorhus/p-waterfall) - Run promise-returning & async functions in series, each passing its result to the next\n- [p-reduce](https://github.com/sindresorhus/p-reduce) - Reduce a list of values using promises into a promise for a value\n- [p-map](https://github.com/sindresorhus/p-map) - Map over promises concurrently\n- [More…](https://github.com/sindresorhus/promise-fun)\n","_attachments":{},"homepage":"https://github.com/sindresorhus/p-each-series#readme","bugs":{"url":"https://github.com/sindresorhus/p-each-series/issues"},"license":"MIT"}