{"_id":"@async-generator/concurrent","_rev":"1-b843d01d79b7e0225e6e76318ec29414","name":"@async-generator/concurrent","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@async-generator/concurrent","version":"1.0.0","description":"execute tasks concurrently","main":"index.js","scripts":{"test":"jest test.js"},"keywords":["generator","async","generator","concurrent","concurrency","parallel","parallelism"],"author":{"name":"Tung Vu","email":"me@tungv.com"},"license":"ISC","devDependencies":{"@async-generator/interval":"^1.0.2","@async-generator/take":"^1.0.2","jest":"^24.9.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/tungv/async-generator.git","directory":"packages/concurrent"},"dependencies":{"@async-generator/subject":"^1.0.3"},"gitHead":"bbeae26d27c0c86b8023c646425023a877c9d36e","bugs":{"url":"https://github.com/tungv/async-generator/issues"},"homepage":"https://github.com/tungv/async-generator#readme","_id":"@async-generator/concurrent@1.0.0","_nodeVersion":"14.3.0","_npmVersion":"lerna/3.16.4/node@v14.3.0+x64 (darwin)","dist":{"integrity":"sha512-I7Aa41ohWf8xHOH4C2wK/ILgzeVsqi+JonwZgEHkNNmUMJEcFnEFhanJ5Zlg02bDiknzNqGtwKZAAaXnAFiZew==","shasum":"ee746b40804811944f926124eed9c8b8a9adc5c8","tarball":"https://registry.npmjs.org/@async-generator/concurrent/-/concurrent-1.0.0.tgz","fileCount":5,"unpackedSize":4935,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2OY8CRA9TVsSAnZWagAAp9kP/1msDszs9LAy2+od/Db/\nSQu+iqPW6AVlHeq9oemt1GxwDN1diFwcNk55zO45z+mFJq1XaONgim7Ak4zn\n1do/rBHjT//evKy5oLc0heatDEpw60SyPQfgDaHcWJHC8fBuKdO+EF1vJkTJ\nkd2Oi6nbN1SWgjbJWvo6i0L1TXA0q1upcqvjtYvSfEOaKU9NZagl0CsqglBb\nRJKlq9PiqBsQFohk9Nyyd8sZLk8Nvi5DE18m/q80qcChEEzA7cDsgMJ2LXdC\n5DSbSfQxwlWU5ZmuhJ883ZJc9QEnNxb+oaKf2XTA+N+H6nw1OTbgw61mTJtQ\nmf8sFH0GsFRe1hL5i2/clxxu/HASULwLnagkkBpNtqd1X8+WtweuQQicoExm\n+V3wt5S18h/Xhf0FZUCSejm87nMUprt+qCPdu6qNchRf327doXmxG0so8omd\nBI2FT0Uy4Q3+HnVclTuAgDD3p+u3NBhsCQ1jGusGxqkWq8Sfr9FGEBGUqEBa\nAZsuDz+oH1XS+S5uIhb1Ju3BzajVZWHGqhVt2YbPkPffE8JUo72liJLgcn/b\nZdX+VKZqtlmhTW5aS7rGvrdMSZY5+gkT+nTjRNpGmQAHgh9e5DMF3wQZIcKR\nol1ayDP42ayHRGTBps3qQI3GbSydvx5InCQ6KQyTXFltMgcrmcMVchFJ0iYa\nFK9t\r\n=IYMV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDK569/DutPERHUxjs4H3ucgq0vAFfqipTc3BorsxSjjAIgBi/JWoOeJ6tDOzPwLrQ9rTWxtHR9QihvckBfqc8KAp0="}]},"_npmUser":{"name":"tungv","email":"gmanvn@gmail.com"},"directories":{},"maintainers":[{"name":"tungv","email":"gmanvn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/concurrent_1.0.0_1608050236444_0.38068628220821177"},"_hasShrinkwrap":false}},"time":{"created":"2020-12-15T16:37:16.241Z","1.0.0":"2020-12-15T16:37:16.580Z","modified":"2022-04-04T16:01:15.858Z"},"maintainers":[{"name":"tungv","email":"gmanvn@gmail.com"}],"description":"execute tasks concurrently","homepage":"https://github.com/tungv/async-generator#readme","keywords":["generator","async","generator","concurrent","concurrency","parallel","parallelism"],"repository":{"type":"git","url":"git+https://github.com/tungv/async-generator.git","directory":"packages/concurrent"},"author":{"name":"Tung Vu","email":"me@tungv.com"},"bugs":{"url":"https://github.com/tungv/async-generator/issues"},"license":"ISC","readme":"# Ensure concurrency for async works\n\n## Installation\n\n```\nnpm i @async-generator/concurrent\n```\n\n## Usage\n\n```js\nconst concurrent = require(\"@async-generator/concurrent\");\n\n// example source generator\nconst input = fromArray([101, 52, 103, 14, 15, 16, 257, 508, 19]);\n\nasync function work(ms) {\n  await sleep(ms);\n  return ms;\n}\n\nconst output = [];\nfor await (const i of concurrent(input, 2, work)) {\n  output.push(i);\n}\n\nexpect(output).toEqual([52, 101, 14, 15, 16, 103, 257, 19, 508])\n\n// TIMELINE\n// 0ms       52ms   101ms    115ms     130ms   146ms              403ms    422ms   663ms\n// | <-- 101 -|----> | <-14-> | <-15-> | <-16-> | <-- 257 -------> | <-19-> X       |\n// | <--52--> | <-- 103 ------|--------|--------|-> | <-- 508 -----|--------|-----> X\n//                                                155ms\n```\n","readmeFilename":"readme.md"}