{"_id":"each-async","_rev":"29-0cb4d2d56f1e6d7313ff22a545123463","name":"each-async","description":"Async concurrent iterator (async forEach)","dist-tags":{"latest":"2.0.0"},"versions":{"0.1.0":{"name":"each-async","version":"0.1.0","description":"Async parallel iterator","license":"MIT","main":"each-async.js","repository":{"type":"git","url":"git://github.com/sindresorhus/each-async"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"http://sindresorhus.com"},"engines":{"node":">=0.8.0"},"scripts":{"test":"mocha"},"files":["each-async.js"],"keywords":["each","async","asynchronous","iteration","iterate","loop","foreach","parallel","concurrent","array","flow","control flow"],"devDependencies":{"mocha":"~1.14.0"},"bugs":{"url":"https://github.com/sindresorhus/each-async/issues"},"homepage":"https://github.com/sindresorhus/each-async","_id":"each-async@0.1.0","dist":{"shasum":"310339d09e73ab9be1291ce70a5d25e724af46be","tarball":"https://registry.npmjs.org/each-async/-/each-async-0.1.0.tgz","integrity":"sha512-dvKph95AnICLADPRcjzCRL65DXtAk2f2zBjoGWv4oj6S09Zu5dasF0x85pvRvUGbuFY4u6h3sbcFiRiBDLz2qw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCH2BC5ZOan0Z+fPxut+boRYbiI6r5CYmlGHcUwWC/83ECIQCphD7YgPD/HZQSvBceWXkO7D0884/sfnCG8Y+iIGXgOg=="}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"directories":{}},"0.1.1":{"name":"each-async","version":"0.1.1","description":"Async parallel iterator","license":"MIT","main":"each-async.js","repository":{"type":"git","url":"git://github.com/sindresorhus/each-async"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"http://sindresorhus.com"},"engines":{"node":">=0.8.0"},"scripts":{"test":"mocha"},"files":["each-async.js"],"keywords":["each","async","asynchronous","iteration","iterate","loop","foreach","parallel","concurrent","array","flow","control flow"],"devDependencies":{"mocha":"~1.14.0"},"bugs":{"url":"https://github.com/sindresorhus/each-async/issues"},"homepage":"https://github.com/sindresorhus/each-async","_id":"each-async@0.1.1","dist":{"shasum":"32bcef7e3cdc741d630e29846348be4ecca624ff","tarball":"https://registry.npmjs.org/each-async/-/each-async-0.1.1.tgz","integrity":"sha512-QxdDlt3XHJ3R8wPgdNABx6rKHpVcZtQWghJZ/vMVyGBnU+1+Ei0GMHPoxfTJ418Hq9wZpXhUOeYHIIgi51e9dw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBTJv9Y3QwU6nik7Uiu8j3CAjY0haB8As2lW6f+qk2idAiEA0B9NfHlqAmacmYKeiogQxNyD6KXmgJKft3upU493FTE="}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"directories":{}},"0.1.2":{"name":"each-async","version":"0.1.2","description":"Async concurrent iterator","license":"MIT","main":"each-async.js","repository":{"type":"git","url":"git://github.com/sindresorhus/each-async"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"http://sindresorhus.com"},"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha"},"files":["each-async.js"],"keywords":["each","async","asynchronous","iteration","iterate","loop","foreach","parallel","concurrent","array","flow","control flow"],"devDependencies":{"mocha":"*"},"bugs":{"url":"https://github.com/sindresorhus/each-async/issues"},"homepage":"https://github.com/sindresorhus/each-async","_id":"each-async@0.1.2","dist":{"shasum":"d5b900bd92705ed5b8cad3307a6536adb0f134c6","tarball":"https://registry.npmjs.org/each-async/-/each-async-0.1.2.tgz","integrity":"sha512-Zas+0OVBCALiWObxA8MwJwJAAJQVFpmt5F2bEDsNDvlPQmgYBglAj50EAUxqWYTknV3d2Qng7ITzWlqccqcJsg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG6K5arOkTc/TD0bNLZ0e9tFggw9S+LgN2+C78JI5rgdAiALiR8qgMthg76m9pLmpKZV2sm3daVhVeJG5aNSMWw1SQ=="}]},"_from":".","_npmVersion":"1.3.25","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"directories":{}},"0.1.3":{"name":"each-async","version":"0.1.3","description":"Async concurrent iterator","license":"MIT","main":"each-async.js","repository":{"type":"git","url":"git://github.com/sindresorhus/each-async"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"http://sindresorhus.com"},"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha"},"files":["each-async.js"],"keywords":["each","async","asynchronous","iteration","iterate","loop","foreach","parallel","concurrent","array","flow","control flow"],"devDependencies":{"mocha":"*"},"bugs":{"url":"https://github.com/sindresorhus/each-async/issues"},"homepage":"https://github.com/sindresorhus/each-async","_id":"each-async@0.1.3","dist":{"shasum":"b436025b08da2f86608025519e3096763dedfca3","tarball":"https://registry.npmjs.org/each-async/-/each-async-0.1.3.tgz","integrity":"sha512-jQsP5Ou1Eh2tfsNv7giHTzkfUao7fkoTcNh9NLgLcJyGNTgy28SQWqi31QvWLCvvv6NOKHoaAJ/kaYxDfRNRCQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFBLZIN87MJIhNXO1lUX8VU67CprNesPk3M0pM+H+EYrAiEA1MA+bxZlNQfguNN25//j129kAW0IWud6yGEc6G3yEAQ="}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"directories":{}},"1.0.0":{"name":"each-async","version":"1.0.0","description":"Async concurrent iterator (async forEach)","license":"MIT","repository":{"type":"git","url":"git://github.com/sindresorhus/each-async"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"http://sindresorhus.com"},"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha"},"files":["index.js"],"keywords":["each","async","asynchronous","iteration","iterate","loop","foreach","parallel","concurrent","array","flow","control flow"],"dependencies":{"onetime":"^1.0.0"},"devDependencies":{"mocha":"*"},"gitHead":"a633fcbf50f7d4044d187ecc9fd40bbb2bc5c0a5","bugs":{"url":"https://github.com/sindresorhus/each-async/issues"},"homepage":"https://github.com/sindresorhus/each-async","_id":"each-async@1.0.0","_shasum":"f121cf8fbea49cd499fcbb49725bba1d9d613a45","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"dist":{"shasum":"f121cf8fbea49cd499fcbb49725bba1d9d613a45","tarball":"https://registry.npmjs.org/each-async/-/each-async-1.0.0.tgz","integrity":"sha512-KeulWV9GpphKZEwSbbKEUQIjCz65Wqv9n0t6upRl3ct5YmXjWHBHCuZevTxTUWMEhpV0W4mMHGTetQSimHdxnA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCmAKCgRXd1vffW5mi3RpNQh9oaZ56EA2hLEWoat1ZyBgIhALeVc7l9wAHCxa70X8f+ID8RbEfCbPsZioRmIkFdWkaK"}]},"directories":{}},"1.1.0":{"name":"each-async","version":"1.1.0","description":"Async concurrent iterator (async forEach)","license":"MIT","repository":{"type":"git","url":"https://github.com/sindresorhus/each-async"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"http://sindresorhus.com"},"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha"},"files":["index.js"],"keywords":["each","async","asynchronous","iteration","iterate","loop","foreach","parallel","concurrent","array","flow","control flow"],"dependencies":{"onetime":"^1.0.0","setimmediate":"^1.0.2"},"devDependencies":{"mocha":"*"},"gitHead":"04687191a7ee25f4059f45aa167d5e593d5f1a53","bugs":{"url":"https://github.com/sindresorhus/each-async/issues"},"homepage":"https://github.com/sindresorhus/each-async","_id":"each-async@1.1.0","_shasum":"d7473d5140a870414d5736a337e596fee14d369b","_from":".","_npmVersion":"2.0.0","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"dist":{"shasum":"d7473d5140a870414d5736a337e596fee14d369b","tarball":"https://registry.npmjs.org/each-async/-/each-async-1.1.0.tgz","integrity":"sha512-KbZL7wm7h3LRM3BR83nEqohYiC51gNDSIGf7BhTp/iIhF93MTtYePtTbOSOQSN+xH1gWW5tMxMEULg3fofx3Ag==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDmYwJcvWwo4DjhipsWTbwHFalVI2jKSK6tbwOy3UgnUAiEA6a7zImY2al4wXskC5jN0ZKUiMjYFPZzZ9Ik4bO4I6ak="}]},"directories":{}},"1.1.1":{"name":"each-async","version":"1.1.1","description":"Async concurrent iterator (async forEach)","license":"MIT","repository":{"type":"git","url":"https://github.com/sindresorhus/each-async"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"http://sindresorhus.com"},"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha --timeout 20000"},"files":["index.js"],"keywords":["each","async","asynchronous","iteration","iterate","loop","foreach","parallel","concurrent","array","flow","control flow"],"dependencies":{"onetime":"^1.0.0","set-immediate-shim":"^1.0.0"},"devDependencies":{"mocha":"*"},"gitHead":"65f7f663e0e1a323c11bd0e036a08f585ab34a9c","bugs":{"url":"https://github.com/sindresorhus/each-async/issues"},"homepage":"https://github.com/sindresorhus/each-async","_id":"each-async@1.1.1","_shasum":"dee5229bdf0ab6ba2012a395e1b869abf8813473","_from":".","_npmVersion":"2.1.16","_nodeVersion":"0.10.32","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"dist":{"shasum":"dee5229bdf0ab6ba2012a395e1b869abf8813473","tarball":"https://registry.npmjs.org/each-async/-/each-async-1.1.1.tgz","integrity":"sha512-0hJGub96skwr+sUojv7zQ0kc9i4jn3SwLiLk8Jr7KDz7aaaMzkN5UX3a/9ZhzC0OfZVyXHhlHcjC0KVOiKZ+HQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCgh1qed0/Mfxfu+ob0zt2lhEhViDS6Cir9dWr7OsgKvQIhAOV5G0244B/4xL0G1z4E4eEsIZTfufbZ/udQYEx4G32Y"}]},"directories":{}},"2.0.0":{"name":"each-async","version":"2.0.0","description":"Async concurrent iterator (async forEach)","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/each-async.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"engines":{"node":">=0.10.0"},"scripts":{"test":"xo && ava"},"keywords":["each","async","asynchronous","iteration","iterate","loop","foreach","parallel","concurrent","array","flow","control flow"],"dependencies":{"onetime":"^1.0.0","set-immediate-shim":"^1.0.0"},"devDependencies":{"ava":"*","xo":"^0.16.0"},"gitHead":"5063c6a8d00e87d82a32f10ed13f2f2daa2d5659","bugs":{"url":"https://github.com/sindresorhus/each-async/issues"},"homepage":"https://github.com/sindresorhus/each-async#readme","_id":"each-async@2.0.0","_nodeVersion":"16.0.0","_npmVersion":"7.5.4","dist":{"integrity":"sha512-szplLpJQ/yZQ4mx5M/tE5ArcwPNrbyQDNby61YQUZ1G2KMAhsJ+aX6voDHDDeV6cYvz0w61SqCAMe9NlbltVPw==","shasum":"75cf768eeb2a0baced320ae0a10005e016ccd962","tarball":"https://registry.npmjs.org/each-async/-/each-async-2.0.0.tgz","fileCount":4,"unpackedSize":4356,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkE40CRA9TVsSAnZWagAA+KgQAJELVwfTs0f+jueh+zmX\nT7SEfnU9jBBq4r3Y4bTWfDOa+uBOPUDo2DkeIIJdNTqjsun6ZBTNh5/6K1pF\nJisMtwPujIqBv3HNYwjLoIDOJ2O9HsVYN/dexcc9v1ax9xoIK9VLll3hIXXW\nnRVVYaxKPWD/wfj77nsp9S2eIhEj9Bqk8A8RrLqeCPt6cvbnak6uciH0hzjw\n9UmDNNgrv+4Po3AWANgg+o3FW4by8dSKhyDzEFtHMcrfzP1hYvqamc7RjiLa\nXvgS6pFdqlFc8MXnlgPR0r6B8z2+uifWaA3FSP3vTC6BQQA6kpwAbO//QUpf\ndmcoYkZk6ZbIe7c5SZ+UXdpXzSttk/MGHdTfqX0VbVWQCxmYi0R9j7OQxhAT\nJEDuIn/18iMdS0BKxjHGmXEf0NZ2FlrtdqCqTBKfXKGSe3Ec8EbEEaEv4GWb\nUctmnxfmZC6oB2w5MF8jlNvFLq8YjriGE/rEs7ft0OB4HGC2OEvgcPxE4Hma\n+CWzmzmWCMebioqd1tnKVTI4Aa/OkT4m6tZZ8iIv4LL6Nan2W4s0HlqqgZf6\nEkDssGdNP7YFktv4efQyDKNhKplozppW89Z5lhlAxpfnm2GAlft/d7Nch741\n58G8Ej/nFsnuUh8IURheGjSuamLUiZaXsTpHGatv2DYYyDmREB1WRu1qFDb5\n8BOI\r\n=k04F\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDWiHwLMSG9aSPjp/g1ILjFO7mKF5bDTCl/4Jy0QA+MZQIgTmg507CQJvzDlne4R2WWoup8+WGqy/d3Cku1ind5es4="}]},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/each-async_2.0.0_1620069940219_0.961371118853867"},"_hasShrinkwrap":false,"deprecated":"Deprecated. Just use `Promise.all()`."}},"readme":"# each-async\n\n> Async concurrent iterator (async forEach)\n\nLike [async.each()](https://github.com/caolan/async#eacharr-iterator-callback), but tiny.\n\nI often use `async.each()` for doing async operations when iterating, but I almost never use the other gadzillion methods in `async`.\n\nAsync iteration is one of the most used async control flow patterns.\n\n**I would strongly recommend using promises instead. You could then use the built-in [`Promise.all()`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise/all), or [`p-map`](https://github.com/sindresorhus/p-map) if you need concurrency control.**\n\n\n## Install\n\n```\n$ npm install --save each-async\n```\n\n\n## Usage\n\n```js\nconst eachAsync = require('each-async');\n\neachAsync(['foo','bar','baz'], (item, index, done) => {\n\tconsole.log(item, index);\n\tdone();\n}, error => {\n\tconsole.log('finished');\n});\n//=> 'foo 0'\n//=> 'bar 1'\n//=> 'baz 2'\n//=> 'finished'\n```\n\n\n## API\n\n### eachAsync(input, callback, [finishedCallback])\n\n#### input\n\nType: `Array`\n\nArray you want to iterate.\n\n#### callback(item, index, done)\n\nType: `Function`\n\nCalled for each item in the array with the following arguments:\n\n- `item`: the current item in the array\n- `index`: the current index\n- `done([error])`: call this when you're done with an optional error. Supplying anything other than `undefined`/`null` will stop the iteration.\n\nNote that order is not guaranteed since each item is handled concurrently.\n\n#### finishedCallback(error)\n\nType: `Function`\n\nCalled when the iteration is finished or on the first error. First argument is the error passed from `done()` in the `callback`.\n\n\n## License\n\nMIT © [Sindre Sorhus](https://sindresorhus.com)\n","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"time":{"modified":"2022-06-16T03:10:41.557Z","created":"2013-12-01T23:07:41.997Z","0.1.0":"2013-12-01T23:08:07.082Z","0.1.1":"2013-12-07T02:47:15.261Z","0.1.2":"2014-02-07T15:51:39.737Z","0.1.3":"2014-04-29T19:23:06.653Z","1.0.0":"2014-08-13T17:54:11.996Z","1.1.0":"2014-09-20T21:19:39.788Z","1.1.1":"2014-12-29T09:45:08.863Z","2.0.0":"2021-05-03T19:25:40.389Z"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"repository":{"type":"git","url":"git+https://github.com/sindresorhus/each-async.git"},"readmeFilename":"readme.md","homepage":"https://github.com/sindresorhus/each-async#readme","keywords":["each","async","asynchronous","iteration","iterate","loop","foreach","parallel","concurrent","array","flow","control flow"],"bugs":{"url":"https://github.com/sindresorhus/each-async/issues"},"license":"MIT","users":{"tunnckocore":true,"axelav":true,"klaemo":true,"schnarald":true,"schnittstabil":true,"itonyyo":true,"aslezak":true,"n370":true,"sermir":true}}