{"_id":"promise-concurrency-limiter","_rev":"298531","name":"promise-concurrency-limiter","description":"Tiny scheduler for functions returning promises that can limit their concurrency.","dist-tags":{"latest":"2.0.0"},"maintainers":[{"name":"fabiospampinato","email":""}],"time":{"modified":"2024-01-15T13:43:55.000Z","created":"2020-12-29T20:10:26.949Z","2.0.0":"2022-04-07T19:26:48.221Z","1.0.0":"2020-12-29T20:10:26.949Z"},"users":{},"repository":{"type":"git","url":"git+https://github.com/fabiospampinato/promise-concurrency-limiter.git"},"versions":{"2.0.0":{"name":"promise-concurrency-limiter","repository":{"type":"git","url":"git+https://github.com/fabiospampinato/promise-concurrency-limiter.git"},"description":"Tiny scheduler for functions returning promises that can limit their concurrency.","version":"2.0.0","type":"module","main":"dist/index.js","exports":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"tsex clean","compile":"tsex compile","compile:watch":"tsex compile --watch","test":"tsex test","test:watch":"tsex test --watch","prepublishOnly":"npm run clean && npm run compile && npm run test"},"keywords":["promise","concurrency","limiter","limit"],"devDependencies":{"fava":"^0.0.6","tsex":"^1.1.0","typescript":"^4.6.3"},"gitHead":"5016797cfd5608f5cdfac78fae34053477f51c36","bugs":{"url":"https://github.com/fabiospampinato/promise-concurrency-limiter/issues"},"homepage":"https://github.com/fabiospampinato/promise-concurrency-limiter#readme","_id":"promise-concurrency-limiter@2.0.0","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"shasum":"2ad2730d2ff0904de4aeb932be5bbaf927e0ecfe","size":2760,"noattachment":false,"key":"/promise-concurrency-limiter/-/promise-concurrency-limiter-2.0.0.tgz","tarball":"http://name.csiicloud.com:7001/promise-concurrency-limiter/download/promise-concurrency-limiter-2.0.0.tgz"},"_npmUser":{"name":"fabiospampinato","email":"spampinabio@gmail.com"},"directories":{},"maintainers":[{"name":"fabiospampinato","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/promise-concurrency-limiter_2.0.0_1649359608022_0.921720007395572"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-04-07T21:41:11.403Z","publish_time":1649359608221,"_cnpm_publish_time":1649359608221},"1.0.0":{"name":"promise-concurrency-limiter","description":"Tiny scheduler for functions returning promises that can limit their concurrency.","version":"1.0.0","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"clean:dist":"rimraf dist","clean:coverage":"rimraf coverage .nyc_output","clean":"npm run clean:dist && npm run clean:coverage","compile":"tsc --skipLibCheck && tstei","compile:watch":"tsc --skipLibCheck --watch","test":"ava","test:watch":"ava --watch","coverage":"nyc --reporter=html ava","report":"nyc report","report:html":"open coverage/index.html","prepublishOnly":"npm run clean && npm run compile && npm run coverage"},"ava":{"files":["test/index.js"]},"bugs":{"url":"https://github.com/fabiospampinato/promise-concurrency-limiter/issues"},"license":"MIT","author":{"name":"Fabio Spampinato","email":"spampinabio@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/fabiospampinato/promise-concurrency-limiter.git"},"keywords":["promise","concurrency","limiter","limit"],"dependencies":{},"devDependencies":{"@types/node":"^12.19.11","ava":"^2.4.0","ava-spec":"^1.1.1","nyc":"^15.1.0","rimraf":"^3.0.2","typescript":"^4.1.3","typescript-transform-export-interop":"^1.0.2"},"gitHead":"fd14ff4e3ea8ba335f65ebdb8f59b14af377d3cd","homepage":"https://github.com/fabiospampinato/promise-concurrency-limiter#readme","_id":"promise-concurrency-limiter@1.0.0","_npmVersion":"6.4.1","_nodeVersion":"8.4.0","_npmUser":{"name":"fabiospampinato","email":"spampinabio@gmail.com"},"dist":{"shasum":"7f24c336fa21fe0c36a1ed1b17ad6f67dca45f2a","size":3442,"noattachment":false,"key":"/promise-concurrency-limiter/-/promise-concurrency-limiter-1.0.0.tgz","tarball":"http://name.csiicloud.com:7001/promise-concurrency-limiter/download/promise-concurrency-limiter-1.0.0.tgz"},"directories":{},"maintainers":[{"name":"fabiospampinato","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/promise-concurrency-limiter_1.0.0_1609272626710_0.5115020419920078"},"_hasShrinkwrap":false,"publish_time":1609272626949,"_cnpm_publish_time":1609272626949,"_cnpmcore_publish_time":"2021-12-16T20:19:27.936Z"}},"readme":"# Promise Concurrency Limiter\n\nTiny scheduler for functions returning promises that can limit their concurrency.\n\n## Install\n\n```sh\nnpm install --save promise-concurrency-limiter\n```\n\n## Usage\n\n```ts\nimport Limiter from 'promise-concurrency-limiter';\n\nconst limiter = new Limiter ({\n  concurrency: 2 // Limit the number of simultaneously active promises to 2\n});\n\nconst somePromiseReturningFunction = async () => { /* ... */ };\n\nlimiter.add ( somePromiseReturningFunction ); // First function added, executed immediately\nlimiter.add ( somePromiseReturningFunction ); // Second function added, executed immediately\nlimiter.add ( somePromiseReturningFunction ); // Third function added, executed immediately only if one of the 2 available slots got freed, deferred otherwise\n```\n\n## License\n\nMIT © Fabio Spampinato\n","_attachments":{},"homepage":"https://github.com/fabiospampinato/promise-concurrency-limiter#readme","bugs":{"url":"https://github.com/fabiospampinato/promise-concurrency-limiter/issues"}}