{"_id":"throat","_rev":"3567863","name":"throat","description":"Throttle the parallelism of an asynchronous (promise returning) function / functions","dist-tags":{"latest":"6.0.2"},"maintainers":[{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"},{"name":"throat-bot","email":""}],"time":{"modified":"2024-09-30T01:22:59.000Z","created":"2012-12-23T00:17:11.379Z","6.0.2":"2023-01-03T13:31:47.643Z","6.0.1":"2021-01-20T20:57:35.710Z","6.0.0":"2021-01-20T14:39:03.205Z","5.0.0":"2019-05-24T14:34:04.404Z","4.1.0":"2017-07-07T00:01:52.628Z","4.0.0":"2017-06-20T10:06:37.243Z","3.2.0":"2017-06-13T13:04:50.148Z","3.1.0":"2017-06-04T19:30:57.963Z","3.0.0":"2016-06-01T10:43:48.228Z","2.0.2":"2015-02-16T09:39:45.954Z","2.0.1":"2015-02-14T12:55:25.270Z","2.0.0":"2015-02-14T11:40:40.469Z","1.0.0":"2013-07-27T01:28:08.597Z","0.0.0":"2012-12-23T00:17:11.379Z"},"users":{"timdp":true,"hstaniszewski":true,"icflorescu":true,"cmtegner":true,"modood":true,"vtomilin":true,"conzi":true,"prasadbapatla":true,"craigpatten":true,"dabdullahy":true,"ferrari":true,"paraself":true},"author":{"name":"ForbesLindesay"},"repository":{"type":"git","url":"git+https://github.com/ForbesLindesay/throat.git"},"versions":{"6.0.2":{"name":"throat","version":"6.0.2","description":"Throttle the parallelism of an asynchronous (promise returning) function / functions","keywords":["promise","aplus","then","throttle","concurrency","parallelism","limit"],"devDependencies":{"coveralls":"^3.0.0","istanbul":"^0.4.5","jest":"^22.1.4","promise":"^8.0.0","sauce-test":"^1.0.0","test-result":"^2.0.0","testit":"^3.1.0","typescript":"^3.4.5"},"jest":{"testEnvironment":"node"},"scripts":{"tsc":"tsc --noEmit","test":"node test/index.js && npm run test:types","test:types":"jest","coverage":"istanbul cover test/index.js","coveralls":"npm run coverage && cat ./coverage/lcov.info | coveralls"},"repository":{"type":"git","url":"git+https://github.com/ForbesLindesay/throat.git"},"author":{"name":"ForbesLindesay"},"license":"MIT","gitHead":"1231ed7878fb8dfd651ba97f2b920edfa397dd8d","bugs":{"url":"https://github.com/ForbesLindesay/throat/issues"},"homepage":"https://github.com/ForbesLindesay/throat#readme","_id":"throat@6.0.2","_nodeVersion":"12.22.12","_npmVersion":"6.14.16","dist":{"shasum":"51a3fbb5e11ae72e2cf74861ed5c8020f89f29fe","size":3508,"noattachment":false,"key":"/throat/-/throat-6.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/throat/download/throat-6.0.2.tgz"},"_npmUser":{"name":"throat-bot","email":"forbeslindesay+throat@hey.com"},"directories":{},"maintainers":[{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"},{"name":"throat-bot","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/throat_6.0.2_1672752707489_0.09786957699584486"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-01-03T13:33:25.432Z","publish_time":1672752707643,"_cnpm_publish_time":1672752707643},"6.0.1":{"name":"throat","version":"6.0.1","description":"Throttle the parallelism of an asynchronous (promise returning) function / functions","keywords":["promise","aplus","then","throttle","concurrency","parallelism","limit"],"devDependencies":{"coveralls":"^3.0.0","flow-bin":"^0.73.0","istanbul":"^0.4.5","jest":"^22.1.4","promise":"^8.0.0","sauce-test":"^1.0.0","test-result":"^2.0.0","testit":"^3.1.0","typescript":"^3.4.5"},"jest":{"testEnvironment":"node"},"scripts":{"tsc":"tsc --noEmit","flow":"flow","test":"node test/index.js && npm run test:types","test:types":"jest","coverage":"istanbul cover test/index.js","coveralls":"npm run coverage && cat ./coverage/lcov.info | coveralls"},"repository":{"type":"git","url":"git+https://github.com/ForbesLindesay/throat.git"},"author":{"name":"ForbesLindesay"},"license":"MIT","gitHead":"8fd7a02dce52ce26743b368f62a33f8752c68a4e","bugs":{"url":"https://github.com/ForbesLindesay/throat/issues"},"homepage":"https://github.com/ForbesLindesay/throat#readme","_id":"throat@6.0.1","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"shasum":"d514fedad95740c12c2d7fc70ea863eb51ade375","size":3516,"noattachment":false,"key":"/throat/-/throat-6.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/throat/download/throat-6.0.1.tgz"},"_npmUser":{"name":"throat-bot","email":"forbeslindesay+throat@hey.com"},"directories":{},"maintainers":[{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"},{"name":"throat-bot","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/throat_6.0.1_1611176255606_0.9271045948425778"},"_hasShrinkwrap":false,"publish_time":1611176255710,"_cnpm_publish_time":1611176255710},"6.0.0":{"name":"throat","version":"6.0.0","description":"Throttle the parallelism of an asynchronous (promise returning) function / functions","keywords":["promise","aplus","then","throttle","concurrency","parallelism","limit"],"devDependencies":{"coveralls":"^3.0.0","flow-bin":"^0.73.0","istanbul":"^0.4.5","jest":"^22.1.4","promise":"^8.0.0","sauce-test":"^1.0.0","test-result":"^2.0.0","testit":"^3.1.0","typescript":"^3.4.5"},"jest":{"testEnvironment":"node"},"scripts":{"tsc":"tsc --noEmit","flow":"flow","test":"node test/index.js && npm run test:types","test:types":"jest","coverage":"istanbul cover test/index.js","coveralls":"npm run coverage && cat ./coverage/lcov.info | coveralls"},"repository":{"type":"git","url":"git+https://github.com/ForbesLindesay/throat.git"},"author":{"name":"ForbesLindesay"},"license":"MIT","gitHead":"f8ced5e317bbad5b331d618743d03814784afe4c","bugs":{"url":"https://github.com/ForbesLindesay/throat/issues"},"homepage":"https://github.com/ForbesLindesay/throat#readme","_id":"throat@6.0.0","_nodeVersion":"12.20.1","_npmVersion":"6.14.10","dist":{"shasum":"e5d793bff24e2d329e25239978ba79b9c797b3a6","size":3201,"noattachment":false,"key":"/throat/-/throat-6.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/throat/download/throat-6.0.0.tgz"},"_npmUser":{"name":"throat-bot","email":"forbeslindesay+throat@hey.com"},"directories":{},"maintainers":[{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"},{"name":"throat-bot","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/throat_6.0.0_1611153543049_0.1604649463138732"},"_hasShrinkwrap":false,"publish_time":1611153543205,"_cnpm_publish_time":1611153543205},"5.0.0":{"name":"throat","version":"5.0.0","description":"Throttle the parallelism of an asynchronous (promise returning) function / functions","keywords":["promise","aplus","then","throttle","concurrency","parallelism","limit"],"devDependencies":{"coveralls":"^3.0.0","flow-bin":"^0.73.0","istanbul":"^0.4.5","jest":"^22.1.4","promise":"^8.0.0","sauce-test":"^1.0.0","test-result":"^2.0.0","testit":"^3.1.0","typescript":"^3.4.5"},"jest":{"testEnvironment":"node"},"scripts":{"tsc":"tsc --noEmit","flow":"flow","test":"node test/index.js && npm run test:types && node test/browser.js","test:types":"jest","coverage":"istanbul cover test/index.js","coveralls":"npm run coverage && cat ./coverage/lcov.info | coveralls"},"repository":{"type":"git","url":"git+https://github.com/ForbesLindesay/throat.git"},"author":{"name":"ForbesLindesay"},"license":"MIT","gitHead":"871d50118f07c0a54f670644cafb2f7155891f60","bugs":{"url":"https://github.com/ForbesLindesay/throat/issues"},"homepage":"https://github.com/ForbesLindesay/throat#readme","_id":"throat@5.0.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"},"dist":{"shasum":"c5199235803aad18754a667d659b5e72ce16764b","size":3411,"noattachment":false,"key":"/throat/-/throat-5.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/throat/download/throat-5.0.0.tgz"},"maintainers":[{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"},{"name":"throat-bot","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/throat_5.0.0_1558708444315_0.6548170732872463"},"_hasShrinkwrap":false,"publish_time":1558708444404,"_cnpm_publish_time":1558708444404},"4.1.0":{"name":"throat","version":"4.1.0","description":"Throttle the parallelism of an asynchronous (promise returning) function / functions","keywords":["promise","aplus","then","throttle","concurrency","parallelism","limit"],"files":["index.d.ts","index.js","index.js.flow"],"devDependencies":{"coveralls":"^2.11.2","flow-bin":"^0.49.1","istanbul":"^0.4.5","jest":"^20.0.4","promise":"^8.0.0","sauce-test":"^1.0.0","test-result":"^2.0.0","testit":"^2.1.3","typescript":"^2.3.4"},"scripts":{"tsc":"tsc --noEmit","flow":"flow","test":"node test/index.js && npm run test:types && node test/browser.js","test:types":"jest","coverage":"istanbul cover test/index.js","coveralls":"npm run coverage && cat ./coverage/lcov.info | coveralls"},"repository":{"type":"git","url":"git+https://github.com/ForbesLindesay/throat.git"},"author":{"name":"ForbesLindesay"},"license":"MIT","gitHead":"185faa1a7cf19b2dde8d1f5acaa1fed23b576107","bugs":{"url":"https://github.com/ForbesLindesay/throat/issues"},"homepage":"https://github.com/ForbesLindesay/throat#readme","_id":"throat@4.1.0","_shasum":"89037cbc92c56ab18926e6ba4cbb200e15672a6a","_from":".","_npmVersion":"4.6.1","_nodeVersion":"8.0.0","_npmUser":{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"},"maintainers":[{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"},{"name":"throat-bot","email":""}],"dist":{"shasum":"89037cbc92c56ab18926e6ba4cbb200e15672a6a","size":3115,"noattachment":false,"key":"/throat/-/throat-4.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/throat/download/throat-4.1.0.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/throat-4.1.0.tgz_1499385711702_0.8979995066765696"},"directories":{},"publish_time":1499385712628,"_hasShrinkwrap":false,"_cnpm_publish_time":1499385712628},"4.0.0":{"name":"throat","version":"4.0.0","description":"Throttle the parallelism of an asynchronous (promise returning) function / functions","keywords":["promise","aplus","then","throttle","concurrency","parallelism","limit"],"files":["index.d.ts","index.js","index.js.flow"],"devDependencies":{"coveralls":"^2.11.2","flow-bin":"^0.48.0","istanbul":"^0.4.5","jest":"^20.0.4","promise":"^8.0.0","sauce-test":"^1.0.0","test-result":"^2.0.0","testit":"^2.1.3","typescript":"^2.3.4"},"scripts":{"tsc":"tsc --noEmit","flow":"flow","test":"node test/index.js && npm run test:types && node test/browser.js","test:types":"jest","coverage":"istanbul cover test/index.js","coveralls":"npm run coverage && cat ./coverage/lcov.info | coveralls"},"repository":{"type":"git","url":"git+https://github.com/ForbesLindesay/throat.git"},"author":{"name":"ForbesLindesay"},"license":"MIT","gitHead":"17cf240b143c8307238c43664519e34b4ff3b9f1","bugs":{"url":"https://github.com/ForbesLindesay/throat/issues"},"homepage":"https://github.com/ForbesLindesay/throat#readme","_id":"throat@4.0.0","_npmVersion":"5.0.3","_nodeVersion":"8.0.0","_npmUser":{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"},"maintainers":[{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"},{"name":"throat-bot","email":""}],"dist":{"shasum":"e8d397aeb3f335c3bae404a83dc264b813a41e1b","size":3089,"noattachment":false,"key":"/throat/-/throat-4.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/throat/download/throat-4.0.0.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/throat-4.0.0.tgz_1497953196327_0.8288967153057456"},"directories":{},"publish_time":1497953197243,"_cnpm_publish_time":1497953197243,"_hasShrinkwrap":false},"3.2.0":{"name":"throat","version":"3.2.0","description":"Throttle the parallelism of an asynchronous (promise returning) function / functions","keywords":["promise","aplus","then","throttle","concurrency","parallelism","limit"],"files":["index.d.ts","index.js","index.js.flow"],"devDependencies":{"coveralls":"^2.11.2","flow-bin":"^0.48.0","istanbul":"^0.4.5","jest":"^20.0.4","promise":"^7.1.1","sauce-test":"^1.0.0","test-result":"^2.0.0","testit":"^2.1.3","typescript":"^2.3.4"},"scripts":{"tsc":"tsc --noEmit","flow":"flow","test":"node test/index.js && npm run test:types && node test/browser.js","test:types":"jest","coverage":"istanbul cover test/index.js","coveralls":"npm run coverage && cat ./coverage/lcov.info | coveralls"},"repository":{"type":"git","url":"git+https://github.com/ForbesLindesay/throat.git"},"author":{"name":"ForbesLindesay"},"license":"MIT","gitHead":"d3160f52514dda47b52a35295f0d98423da84814","bugs":{"url":"https://github.com/ForbesLindesay/throat/issues"},"homepage":"https://github.com/ForbesLindesay/throat#readme","_id":"throat@3.2.0","_npmVersion":"5.0.3","_nodeVersion":"8.0.0","_npmUser":{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"},"maintainers":[{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"},{"name":"throat-bot","email":""}],"dist":{"shasum":"50cb0670edbc40237b9e347d7e1f88e4620af836","size":3092,"noattachment":false,"key":"/throat/-/throat-3.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/throat/download/throat-3.2.0.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/throat-3.2.0.tgz_1497359089265_0.8259152092505246"},"directories":{},"publish_time":1497359090148,"_hasShrinkwrap":false,"_cnpm_publish_time":1497359090148},"3.1.0":{"name":"throat","version":"3.1.0","description":"Throttle the parallelism of an asynchronous (promise returning) function / functions","keywords":["promise","aplus","then","throttle","concurrency","parallelism","limit"],"dependencies":{"double-ended-queue":"^2.1.0-0"},"devDependencies":{"coveralls":"^2.11.2","istanbul":"^0.4.5","promise":"^7.1.1","sauce-test":"^1.0.0","test-result":"^2.0.0","testit":"^2.0.5"},"scripts":{"test":"node test/index.js && node test/browser.js","coverage":"istanbul cover test/index.js","coveralls":"npm run coverage && cat ./coverage/lcov.info | coveralls"},"repository":{"type":"git","url":"git+https://github.com/ForbesLindesay/throat.git"},"author":{"name":"ForbesLindesay"},"license":"MIT","gitHead":"600dc43cd7adef1528d8bfbfc4d6d298c776499e","bugs":{"url":"https://github.com/ForbesLindesay/throat/issues"},"homepage":"https://github.com/ForbesLindesay/throat#readme","_id":"throat@3.1.0","_npmVersion":"5.0.1","_nodeVersion":"8.0.0","_npmUser":{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"},"maintainers":[{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"},{"name":"throat-bot","email":""}],"dist":{"shasum":"ef22d8855963b3fdc626d043508f24c4cdf7d3c3","size":4887,"noattachment":false,"key":"/throat/-/throat-3.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/throat/download/throat-3.1.0.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/throat-3.1.0.tgz_1496604657022_0.10021370113827288"},"directories":{},"publish_time":1496604657963,"_cnpm_publish_time":1496604657963,"_hasShrinkwrap":false},"3.0.0":{"name":"throat","version":"3.0.0","description":"Throttle the parallelism of an asynchronous (promise returning) function / functions","keywords":["promise","aplus","then","throttle","concurrency","parallelism","limit"],"dependencies":{},"devDependencies":{"coveralls":"^2.11.2","istanbul":"^0.3.5","promise":"^6.1.0","sauce-test":"^1.0.0","test-result":"^2.0.0","testit":"^2.0.5"},"scripts":{"test":"node test/index.js && node test/browser.js","coverage":"istanbul cover test/index.js","coveralls":"npm run coverage && cat ./coverage/lcov.info | coveralls"},"repository":{"type":"git","url":"git+https://github.com/ForbesLindesay/throat.git"},"author":{"name":"ForbesLindesay"},"license":"MIT","gitHead":"d77de8defd2d8049c06ccf314587890f9e620ac3","bugs":{"url":"https://github.com/ForbesLindesay/throat/issues"},"homepage":"https://github.com/ForbesLindesay/throat#readme","_id":"throat@3.0.0","_shasum":"e7c64c867cbb3845f10877642f7b60055b8ec0d6","_from":".","_npmVersion":"3.8.9","_nodeVersion":"6.2.0","_npmUser":{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"},"dist":{"shasum":"e7c64c867cbb3845f10877642f7b60055b8ec0d6","size":5604,"noattachment":false,"key":"/throat/-/throat-3.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/throat/download/throat-3.0.0.tgz"},"maintainers":[{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"},{"name":"throat-bot","email":""}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/throat-3.0.0.tgz_1464777827074_0.20422574575059116"},"directories":{},"publish_time":1464777828228,"_cnpm_publish_time":1464777828228,"_hasShrinkwrap":false},"2.0.2":{"name":"throat","version":"2.0.2","description":"Throttle the parallelism of an asynchronous (promise returning) function / functions","keywords":["promise","aplus","then","throttle","concurrency","parallelism","limit"],"dependencies":{},"devDependencies":{"coveralls":"^2.11.2","istanbul":"^0.3.5","promise":"^6.1.0","sauce-test":"^1.0.0","test-result":"^2.0.0","testit":"^2.0.2"},"scripts":{"test":"node test/index.js && node test/browser.js","coverage":"istanbul cover test/index.js","coveralls":"npm run coverage && cat ./coverage/lcov.info | coveralls"},"repository":{"type":"git","url":"https://github.com/ForbesLindesay/throat.git"},"author":{"name":"ForbesLindesay"},"license":"MIT","gitHead":"4cb485f83e0521d661aaaac02162138686bc3908","bugs":{"url":"https://github.com/ForbesLindesay/throat/issues"},"homepage":"https://github.com/ForbesLindesay/throat","_id":"throat@2.0.2","_shasum":"a9fce808b69e133a632590780f342c30a6249b02","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"},"maintainers":[{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"},{"name":"throat-bot","email":""}],"dist":{"shasum":"a9fce808b69e133a632590780f342c30a6249b02","size":4446,"noattachment":false,"key":"/throat/-/throat-2.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/throat/download/throat-2.0.2.tgz"},"directories":{},"publish_time":1424079585954,"_cnpm_publish_time":1424079585954,"_hasShrinkwrap":false},"2.0.1":{"name":"throat","version":"2.0.1","description":"Throttle the parallelism of an asynchronous (promise returning) function / functions","keywords":["promise","aplus","then","throttle","concurrency","parallelism","limit"],"dependencies":{},"devDependencies":{"coveralls":"^2.11.2","istanbul":"^0.3.5","promise":"^6.1.0","sauce-test":"^1.0.0","test-result":"^2.0.0","testit":"^2.0.2"},"scripts":{"test":"node test/index.js && node test/browser.js","coverage":"istanbul cover test/index.js","coveralls":"npm run coverage && cat ./coverage/lcov.info | coveralls"},"repository":{"type":"git","url":"https://github.com/ForbesLindesay/throat.git"},"author":{"name":"ForbesLindesay"},"license":"MIT","gitHead":"e6881d62970a8d4abef4ea9e34815b2ba3d5f067","bugs":{"url":"https://github.com/ForbesLindesay/throat/issues"},"homepage":"https://github.com/ForbesLindesay/throat","_id":"throat@2.0.1","_shasum":"ae9034aeb023cfee3c2d080653f20936b15711e8","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"},"maintainers":[{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"},{"name":"throat-bot","email":""}],"dist":{"shasum":"ae9034aeb023cfee3c2d080653f20936b15711e8","size":4444,"noattachment":false,"key":"/throat/-/throat-2.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/throat/download/throat-2.0.1.tgz"},"directories":{},"publish_time":1423918525270,"_cnpm_publish_time":1423918525270,"_hasShrinkwrap":false},"2.0.0":{"name":"throat","version":"2.0.0","description":"Throttle the parallelism of an asynchronous (promise returning) function / functions","keywords":["promise","aplus","then","throttle","concurrency","parallelism","limit"],"dependencies":{},"devDependencies":{"coveralls":"^2.11.2","istanbul":"^0.3.5","promise":"^6.1.0","sauce-test":"^1.0.0","test-result":"^2.0.0","testit":"^2.0.2"},"scripts":{"test":"node test/index.js && node test/browser.js","coverage":"istanbul cover test/index.js","coveralls":"npm run coverage && cat ./coverage/lcov.info | coveralls"},"repository":{"type":"git","url":"https://github.com/ForbesLindesay/throat.git"},"author":{"name":"ForbesLindesay"},"license":"MIT","gitHead":"77a3106be863d0167d30317e8efd87ed40230161","bugs":{"url":"https://github.com/ForbesLindesay/throat/issues"},"homepage":"https://github.com/ForbesLindesay/throat","_id":"throat@2.0.0","_shasum":"720d03e0f270e4452d87a345025412e35883e24c","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"},"maintainers":[{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"},{"name":"throat-bot","email":""}],"dist":{"shasum":"720d03e0f270e4452d87a345025412e35883e24c","size":4126,"noattachment":false,"key":"/throat/-/throat-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/throat/download/throat-2.0.0.tgz"},"directories":{},"publish_time":1423914040469,"_cnpm_publish_time":1423914040469,"_hasShrinkwrap":false},"1.0.0":{"name":"throat","version":"1.0.0","description":"Throttle the parallelism of an asynchronous (promise returning) function / functions","keywords":["promise","aplus","then","throttle","concurrency","parallelism","limit"],"dependencies":{"promise":"~3.2.0"},"devDependencies":{"mocha":"*"},"scripts":{"test":"mocha -R spec"},"repository":{"type":"git","url":"https://github.com/ForbesLindesay/throat.git"},"author":{"name":"ForbesLindesay"},"license":"MIT","readmeFilename":"README.md","_id":"throat@1.0.0","dist":{"shasum":"04c9e0f9ce88e250db630fdeabc2e5bb152a0625","size":3073,"noattachment":false,"key":"/throat/-/throat-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/throat/download/throat-1.0.0.tgz"},"_from":".","_npmVersion":"1.2.10","_npmUser":{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"},"maintainers":[{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"},{"name":"throat-bot","email":""}],"directories":{},"publish_time":1374888488597,"_cnpm_publish_time":1374888488597,"_hasShrinkwrap":false},"0.0.0":{"name":"throat","version":"0.0.0","description":"Throttle a collection of promise returning functions","main":"index.js","scripts":{"test":"mocha -R spec"},"repository":{"type":"git","url":"https://github.com/ForbesLindesay/throat.git"},"keywords":["promise","aplus","then","throttle","concurrency","limit"],"author":{"name":"ForbesLindesay"},"license":"MIT","dependencies":{"promises-a":"~2"},"devDependencies":{"mocha":"~1","better-assert":"~0.1.0"},"_id":"throat@0.0.0","dist":{"shasum":"2bf638b8824510e14b1348f318deb01c06bd9478","size":1392,"noattachment":false,"key":"/throat/-/throat-0.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/throat/download/throat-0.0.0.tgz"},"_npmVersion":"1.1.59","_npmUser":{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"},"maintainers":[{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"},{"name":"throat-bot","email":""}],"directories":{},"publish_time":1356221831379,"_cnpm_publish_time":1356221831379,"_hasShrinkwrap":false}},"readme":"# throat\n\nThrottle the parallelism of an asynchronous, promise returning, function / functions. This has special utility when you set the concurrency to `1`. That way you get a mutually exclusive lock.\n\n[Professionally supported throat is now available](https://tidelift.com/subscription/pkg/npm-throat?utm_source=npm-throat&utm_medium=referral&utm_campaign=readme)\n\n[![Build Status](https://img.shields.io/github/actions/workflow/status/ForbesLindesay/throat/test.yml?branch=master&style=for-the-badge)](https://github.com/ForbesLindesay/throat/actions/workflows/test.yml?query=branch%3Amaster)\n[![Coveralls github branch](https://img.shields.io/coveralls/github/ForbesLindesay/throat/master?color=brightgreen&style=for-the-badge)](https://coveralls.io/github/ForbesLindesay/throat)\n[![Rolling Versions](https://img.shields.io/badge/Rolling%20Versions-Enabled-brightgreen?style=for-the-badge)](https://rollingversions.com/ForbesLindesay/throat)\n[![NPM version](https://img.shields.io/npm/v/throat?style=for-the-badge)](https://www.npmjs.com/package/throat)\n\n## Installation\n\n    npm install throat\n\n## API\n\n### throat(concurrency)\n\nThis returns a function that acts a bit like a lock (exactly as a lock if concurrency is 1).\n\nExample, only 2 of the following functions will execute at any one time:\n\n```js\nconst throat = require('throat')(2);\n\nconst resA = throat(async () => {\n  /* async stuff... */\n});\nconst resB = throat(async () => {\n  /* async stuff... */\n});\nconst resC = throat(async () => {\n  /* async stuff... */\n});\nconst resD = throat(async () => {\n  /* async stuff... */\n});\nconst resE = throat(async () => {\n  /* async stuff... */\n});\n```\n\n### throat(concurrency, worker)\n\nThis returns a function that is an exact copy of `worker` except that it will only execute up to `concurrency` times in parallel before further requests are queued:\n\n```js\nconst throat = require('throat');\n\nconst input = ['fileA.txt', 'fileB.txt', 'fileC.txt', 'fileD.txt'];\nconst data = Promise.all(\n  input.map(throat(2, (fileName) => readFile(fileName)))\n);\n```\n\nOnly 2 files will be read at a time, sometimes limiting parallelism in this way can improve scalability.\n\n## Security contact information\n\nTo report a security vulnerability, please use the [Tidelift security contact](https://tidelift.com/security). Tidelift will coordinate the fix and disclosure.\n\n## License\n\nMIT\n","_attachments":{},"homepage":"https://github.com/ForbesLindesay/throat#readme","bugs":{"url":"https://github.com/ForbesLindesay/throat/issues"},"license":"MIT"}