{"_id":"grouped-queue","_rev":"4276275","name":"grouped-queue","description":"In memory queue system prioritizing tasks","dist-tags":{"latest":"2.1.0","next-2":"2.0.0-beta.2"},"maintainers":[{"name":"mshima","email":"marceloshima@gmail.com"},{"name":"sboudrias","email":""}],"time":{"modified":"2026-04-07T19:49:30.000Z","created":"2013-11-26T20:48:51.681Z","2.1.0":"2025-08-17T16:03:08.982Z","2.0.0":"2021-01-29T23:12:15.815Z","2.0.0-beta.2":"2020-11-20T01:51:54.049Z","2.0.0-beta.1":"2020-11-18T01:39:56.487Z","2.0.0-beta.0":"2020-11-17T18:58:04.202Z","1.1.0":"2020-04-16T08:05:36.573Z","1.0.0":"2020-01-10T06:07:27.341Z","0.3.3":"2016-11-20T00:22:45.269Z","0.3.2":"2015-11-30T08:35:05.862Z","0.3.0":"2014-06-02T04:09:18.112Z","0.2.1":"2014-01-22T19:43:41.830Z","0.2.0":"2014-01-17T21:18:41.582Z","0.1.2":"2014-01-13T21:35:38.368Z","0.1.1":"2014-01-13T21:01:00.706Z","0.1.0":"2013-11-26T20:48:51.681Z"},"users":{"joaquin.briceno":true,"itonyyo":true,"wangnan0610":true},"author":{"name":"Simon Boudrias","email":"admin@simonboudrias.com"},"repository":{"type":"git","url":"git+https://github.com/SBoudrias/grouped-queue.git"},"versions":{"2.1.0":{"name":"grouped-queue","version":"2.1.0","description":"In memory queue system prioritizing tasks","types":"lib/queue.d.ts","main":"lib/queue.js","scripts":{"test":"mocha -R spec","lint":"npx oxlint && npx prettier --check ."},"repository":{"type":"git","url":"git+https://github.com/SBoudrias/grouped-queue.git"},"keywords":["queue","async","task","flow","control"],"author":{"name":"Simon Boudrias","email":"admin@simonboudrias.com"},"license":"MIT","engines":{"node":">=8.0.0"},"devDependencies":{"mocha":"^11.7.1","oxlint":"^1.12.0","prettier":"^3.6.2","sinon":"^21.0.0"},"gitHead":"10f41e77c2b5f976faa3bb803b29b4d0895ee19b","bugs":{"url":"https://github.com/SBoudrias/grouped-queue/issues"},"homepage":"https://github.com/SBoudrias/grouped-queue#readme","_id":"grouped-queue@2.1.0","_nodeVersion":"24.5.0","_npmVersion":"8.19.2","dist":{"shasum":"08a3063c9e4eafdd22455a2132487dbd8220debf","size":3632,"noattachment":false,"key":"/grouped-queue/-/grouped-queue-2.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/grouped-queue/download/grouped-queue-2.1.0.tgz"},"_npmUser":{"name":"sboudrias","email":"admin@simonboudrias.com"},"directories":{},"maintainers":[{"name":"mshima","email":"marceloshima@gmail.com"},{"name":"sboudrias","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/grouped-queue_2.1.0_1755446588787_0.20120154584787708"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-08-17T16:03:08.982Z","publish_time":1755446588982,"_source_registry_name":"default","_cnpm_publish_time":1755446588982},"2.0.0":{"name":"grouped-queue","version":"2.0.0","description":"In memory queue system prioritizing tasks","main":"lib/queue.js","scripts":{"test":"mocha -R spec"},"repository":{"type":"git","url":"git+https://github.com/SBoudrias/grouped-queue.git"},"keywords":["queue","async","task","flow","control"],"author":{"name":"Simon Boudrias","email":"admin@simonboudrias.com"},"license":"MIT","engines":{"node":">=8.0.0"},"devDependencies":{"mocha":"^8.0.1","sinon":"^9.0.2"},"gitHead":"bd05f9fbed77a77a3020385de7cf7ba932645ab8","bugs":{"url":"https://github.com/SBoudrias/grouped-queue/issues"},"homepage":"https://github.com/SBoudrias/grouped-queue#readme","_id":"grouped-queue@2.0.0","_nodeVersion":"14.15.4","_npmVersion":"6.14.11","dist":{"shasum":"a2c6713f2171e45db2c300a3a9d7c119d694dac8","size":3262,"noattachment":false,"key":"/grouped-queue/-/grouped-queue-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/grouped-queue/download/grouped-queue-2.0.0.tgz"},"_npmUser":{"name":"mshima","email":"marceloshima@gmail.com"},"directories":{},"maintainers":[{"name":"mshima","email":"marceloshima@gmail.com"},{"name":"sboudrias","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/grouped-queue_2.0.0_1611961935626_0.8420910538686923"},"_hasShrinkwrap":false,"publish_time":1611961935815,"_cnpm_publish_time":1611961935815},"2.0.0-beta.2":{"name":"grouped-queue","version":"2.0.0-beta.2","description":"In memory queue system prioritizing tasks","main":"lib/queue.js","scripts":{"test":"mocha -R spec"},"repository":{"type":"git","url":"git+https://github.com/SBoudrias/grouped-queue.git"},"keywords":["queue","async","task","flow","control"],"author":{"name":"Simon Boudrias","email":"admin@simonboudrias.com"},"license":"MIT","engines":{"node":">=8.0.0"},"devDependencies":{"mocha":"^8.0.1","sinon":"^9.0.2"},"readmeFilename":"README.md","gitHead":"f54e4062331f446de08b34bfd994d0daa54035e2","bugs":{"url":"https://github.com/SBoudrias/grouped-queue/issues"},"homepage":"https://github.com/SBoudrias/grouped-queue#readme","_id":"grouped-queue@2.0.0-beta.2","_nodeVersion":"14.15.0","_npmVersion":"6.14.8","dist":{"shasum":"4bc4370d445e8a5ad06e616932f432a01a3ffca5","size":3268,"noattachment":false,"key":"/grouped-queue/-/grouped-queue-2.0.0-beta.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/grouped-queue/download/grouped-queue-2.0.0-beta.2.tgz"},"_npmUser":{"name":"mshima","email":"marceloshima@gmail.com"},"directories":{},"maintainers":[{"name":"mshima","email":"marceloshima@gmail.com"},{"name":"sboudrias","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/grouped-queue_2.0.0-beta.2_1605837113876_0.6382034561202312"},"_hasShrinkwrap":false,"publish_time":1605837114049,"_cnpm_publish_time":1605837114049},"2.0.0-beta.1":{"name":"grouped-queue","version":"2.0.0-beta.1","description":"In memory queue system prioritizing tasks","main":"lib/queue.js","scripts":{"test":"mocha -R spec"},"repository":{"type":"git","url":"git+https://github.com/SBoudrias/grouped-queue.git"},"keywords":["queue","async","task","flow","control"],"author":{"name":"Simon Boudrias","email":"admin@simonboudrias.com"},"license":"MIT","engines":{"node":">=8.0.0"},"devDependencies":{"mocha":"^8.0.1","sinon":"^9.0.2"},"readmeFilename":"README.md","gitHead":"4c1047b22011fafdd4f26c0698fcca736ce2ed44","bugs":{"url":"https://github.com/SBoudrias/grouped-queue/issues"},"homepage":"https://github.com/SBoudrias/grouped-queue#readme","_id":"grouped-queue@2.0.0-beta.1","_nodeVersion":"12.16.3","_npmVersion":"6.14.5","dist":{"shasum":"9d4e67ccd3a83c93cda64bb31f26fc2766f54f3b","size":3267,"noattachment":false,"key":"/grouped-queue/-/grouped-queue-2.0.0-beta.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/grouped-queue/download/grouped-queue-2.0.0-beta.1.tgz"},"_npmUser":{"name":"mshima","email":"marceloshima@gmail.com"},"directories":{},"maintainers":[{"name":"mshima","email":"marceloshima@gmail.com"},{"name":"sboudrias","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/grouped-queue_2.0.0-beta.1_1605663596275_0.046418554182270144"},"_hasShrinkwrap":false,"publish_time":1605663596487,"_cnpm_publish_time":1605663596487},"2.0.0-beta.0":{"name":"grouped-queue","version":"2.0.0-beta.0","description":"In memory queue system prioritizing tasks","main":"lib/queue.js","scripts":{"test":"mocha -R spec"},"repository":{"type":"git","url":"git+https://github.com/SBoudrias/grouped-queue.git"},"keywords":["queue","async","task","flow","control"],"author":{"name":"Simon Boudrias","email":"admin@simonboudrias.com"},"license":"MIT","engines":{"node":">=8.0.0"},"devDependencies":{"mocha":"^8.0.1","sinon":"^9.0.2"},"readmeFilename":"README.md","gitHead":"f00577c17d8b2bb311dc0db400900bbee19dcaa5","bugs":{"url":"https://github.com/SBoudrias/grouped-queue/issues"},"homepage":"https://github.com/SBoudrias/grouped-queue#readme","_id":"grouped-queue@2.0.0-beta.0","_nodeVersion":"12.16.3","_npmVersion":"6.14.5","dist":{"shasum":"37f07deea535342831f8c1b70a54dec1421f1b1a","size":3242,"noattachment":false,"key":"/grouped-queue/-/grouped-queue-2.0.0-beta.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/grouped-queue/download/grouped-queue-2.0.0-beta.0.tgz"},"_npmUser":{"name":"mshima","email":"marceloshima@gmail.com"},"directories":{},"maintainers":[{"name":"mshima","email":"marceloshima@gmail.com"},{"name":"sboudrias","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/grouped-queue_2.0.0-beta.0_1605639484025_0.4561980579857692"},"_hasShrinkwrap":false,"publish_time":1605639484202,"_cnpm_publish_time":1605639484202},"1.1.0":{"name":"grouped-queue","version":"1.1.0","description":"In memory queue system prioritizing tasks","main":"lib/queue.js","scripts":{"test":"mocha -R spec"},"repository":{"type":"git","url":"git+https://github.com/SBoudrias/grouped-queue.git"},"keywords":["queue","async","task","flow","control"],"author":{"name":"Simon Boudrias","email":"admin@simonboudrias.com"},"license":"MIT","dependencies":{"lodash":"^4.17.15"},"devDependencies":{"mocha":"^7.0.0","sinon":"^8.0.4"},"gitHead":"9fde5b62d5cc7a29bafec43f496f799150a1fffd","bugs":{"url":"https://github.com/SBoudrias/grouped-queue/issues"},"homepage":"https://github.com/SBoudrias/grouped-queue#readme","_id":"grouped-queue@1.1.0","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"shasum":"63e3f9ca90af952269d1d40879e41221eacc74cb","size":3057,"noattachment":false,"key":"/grouped-queue/-/grouped-queue-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/grouped-queue/download/grouped-queue-1.1.0.tgz"},"maintainers":[{"name":"mshima","email":"marceloshima@gmail.com"},{"name":"sboudrias","email":""}],"_npmUser":{"name":"sboudrias","email":"admin@simonboudrias.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/grouped-queue_1.1.0_1587024336426_0.7855349307621111"},"_hasShrinkwrap":false,"publish_time":1587024336573,"_cnpm_publish_time":1587024336573},"1.0.0":{"name":"grouped-queue","version":"1.0.0","description":"In memory queue system prioritizing tasks","main":"lib/queue.js","scripts":{"test":"mocha -R spec"},"repository":{"type":"git","url":"git+https://github.com/SBoudrias/grouped-queue.git"},"keywords":["queue","async","task","flow","control"],"author":{"name":"Simon Boudrias","email":"admin@simonboudrias.com"},"license":"MIT","dependencies":{"lodash":"^4.17.15"},"devDependencies":{"mocha":"^7.0.0","sinon":"^8.0.4"},"gitHead":"b4769b6fe32819d4d20783c68b6e524b829301e1","bugs":{"url":"https://github.com/SBoudrias/grouped-queue/issues"},"homepage":"https://github.com/SBoudrias/grouped-queue#readme","_id":"grouped-queue@1.0.0","_nodeVersion":"13.3.0","_npmVersion":"6.13.4","dist":{"shasum":"5bdb97934a9a17b19626ff3cc23c103f2622ef49","size":3038,"noattachment":false,"key":"/grouped-queue/-/grouped-queue-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/grouped-queue/download/grouped-queue-1.0.0.tgz"},"maintainers":[{"name":"mshima","email":"marceloshima@gmail.com"},{"name":"sboudrias","email":""}],"_npmUser":{"name":"sboudrias","email":"admin@simonboudrias.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/grouped-queue_1.0.0_1578636447194_0.09222274366733685"},"_hasShrinkwrap":false,"publish_time":1578636447341,"_cnpm_publish_time":1578636447341},"0.3.3":{"name":"grouped-queue","version":"0.3.3","description":"In memory queue system prioritizing tasks","main":"lib/queue.js","scripts":{"test":"mocha -R spec"},"repository":{"type":"git","url":"git+https://github.com/sboudrias/grouped-queue.git"},"keywords":["queue","async","task","flow","control"],"author":{"name":"Simon Boudrias","email":"admin@simonboudrias.com"},"license":"MIT","files":["lib"],"dependencies":{"lodash":"^4.17.2"},"devDependencies":{"mocha":"^3.1.2","sinon":"^1.12.2"},"gitHead":"6909aa1b49f607c218ed79b5e372221f18ea8792","bugs":{"url":"https://github.com/sboudrias/grouped-queue/issues"},"homepage":"https://github.com/sboudrias/grouped-queue#readme","_id":"grouped-queue@0.3.3","_shasum":"c167d2a5319c5a0e0964ef6a25b7c2df8996c85c","_from":".","_npmVersion":"3.10.8","_nodeVersion":"7.0.0","_npmUser":{"name":"sboudrias","email":"admin@simonboudrias.com"},"dist":{"shasum":"c167d2a5319c5a0e0964ef6a25b7c2df8996c85c","size":2794,"noattachment":false,"key":"/grouped-queue/-/grouped-queue-0.3.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/grouped-queue/download/grouped-queue-0.3.3.tgz"},"maintainers":[{"name":"mshima","email":"marceloshima@gmail.com"},{"name":"sboudrias","email":""}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/grouped-queue-0.3.3.tgz_1479601365037_0.19518585316836834"},"directories":{},"publish_time":1479601365269,"_cnpm_publish_time":1479601365269,"_hasShrinkwrap":false},"0.3.2":{"name":"grouped-queue","version":"0.3.2","description":"In memory queue system prioritizing tasks","main":"lib/queue.js","scripts":{"test":"mocha -R spec"},"repository":{"type":"git","url":"git+https://github.com/sboudrias/grouped-queue.git"},"keywords":["queue","async","task","flow","control"],"author":{"name":"Simon Boudrias","email":"admin@simonboudrias.com"},"license":"MIT","files":["lib"],"dependencies":{"lodash":"^3.10.1"},"devDependencies":{"mocha":"^2.1.0","sinon":"^1.12.2"},"gitHead":"9b9eb80b11d2411fbedbe755dc38956cb769501e","bugs":{"url":"https://github.com/sboudrias/grouped-queue/issues"},"homepage":"https://github.com/sboudrias/grouped-queue#readme","_id":"grouped-queue@0.3.2","_shasum":"1005f70ece919eccbb37a318f84af99fd6c4eb5c","_from":".","_npmVersion":"3.5.0","_nodeVersion":"0.12.7","_npmUser":{"name":"sboudrias","email":"admin@simonboudrias.com"},"dist":{"shasum":"1005f70ece919eccbb37a318f84af99fd6c4eb5c","size":2813,"noattachment":false,"key":"/grouped-queue/-/grouped-queue-0.3.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/grouped-queue/download/grouped-queue-0.3.2.tgz"},"maintainers":[{"name":"mshima","email":"marceloshima@gmail.com"},{"name":"sboudrias","email":""}],"directories":{},"publish_time":1448872505862,"_cnpm_publish_time":1448872505862,"_hasShrinkwrap":false},"0.3.0":{"name":"grouped-queue","version":"0.3.0","description":"In memory queue system prioritizing tasks","main":"lib/queue.js","scripts":{"test":"mocha"},"repository":{"type":"git","url":"git://github.com/SBoudrias/grouped-queue.git"},"keywords":["queue","async","task","flow","control"],"author":{"name":"Simon Boudrias","email":"admin@simonboudrias.com"},"license":"MIT","bugs":{"url":"https://github.com/SBoudrias/grouped-queue/issues"},"devDependencies":{"sinon":"~1.7.3"},"dependencies":{"lodash":"~2.4.1","setimmediate":"~1.0.1"},"homepage":"https://github.com/SBoudrias/grouped-queue","_id":"grouped-queue@0.3.0","_shasum":"4f5e1a768bba722862993285820f980e227fc4a6","_from":".","_npmVersion":"1.4.7","_npmUser":{"name":"sboudrias","email":"admin@simonboudrias.com"},"maintainers":[{"name":"mshima","email":"marceloshima@gmail.com"},{"name":"sboudrias","email":""}],"dist":{"shasum":"4f5e1a768bba722862993285820f980e227fc4a6","size":4805,"noattachment":false,"key":"/grouped-queue/-/grouped-queue-0.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/grouped-queue/download/grouped-queue-0.3.0.tgz"},"directories":{},"publish_time":1401682158112,"_cnpm_publish_time":1401682158112,"_hasShrinkwrap":false},"0.2.1":{"name":"grouped-queue","version":"0.2.1","description":"In memory queue system prioritizing tasks","main":"lib/queue.js","scripts":{"test":"mocha"},"repository":{"type":"git","url":"git://github.com/SBoudrias/grouped-queue.git"},"keywords":["queue","async","task","flow","control"],"author":{"name":"Simon Boudrias","email":"admin@simonboudrias.com"},"license":"MIT","bugs":{"url":"https://github.com/SBoudrias/grouped-queue/issues"},"devDependencies":{"sinon":"~1.7.3"},"dependencies":{"lodash":"~2.4.1","setimmediate":"~1.0.1"},"_id":"grouped-queue@0.2.1","dist":{"shasum":"ede20396d6c7f313b6d44e438d7d646153fca9a9","size":4682,"noattachment":false,"key":"/grouped-queue/-/grouped-queue-0.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/grouped-queue/download/grouped-queue-0.2.1.tgz"},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"sboudrias","email":"admin@simonboudrias.com"},"maintainers":[{"name":"mshima","email":"marceloshima@gmail.com"},{"name":"sboudrias","email":""}],"directories":{},"publish_time":1390419821830,"_cnpm_publish_time":1390419821830,"_hasShrinkwrap":false},"0.2.0":{"name":"grouped-queue","version":"0.2.0","description":"In memory queue system prioritizing tasks","main":"lib/queue.js","scripts":{"test":"mocha"},"repository":{"type":"git","url":"git://github.com/SBoudrias/grouped-queue.git"},"keywords":["queue","async","task","flow","control"],"author":{"name":"Simon Boudrias","email":"admin@simonboudrias.com"},"license":"MIT","bugs":{"url":"https://github.com/SBoudrias/grouped-queue/issues"},"devDependencies":{"sinon":"~1.7.3"},"dependencies":{"lodash":"~2.4.1","setimmediate":"~1.0.1"},"readmeFilename":"README.md","_id":"grouped-queue@0.2.0","dist":{"shasum":"27a6d94dc10390362c6e4a7229430c2ed130f373","size":4697,"noattachment":false,"key":"/grouped-queue/-/grouped-queue-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/grouped-queue/download/grouped-queue-0.2.0.tgz"},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"sboudrias","email":"admin@simonboudrias.com"},"maintainers":[{"name":"mshima","email":"marceloshima@gmail.com"},{"name":"sboudrias","email":""}],"directories":{},"publish_time":1389993521582,"_cnpm_publish_time":1389993521582,"_hasShrinkwrap":false},"0.1.2":{"name":"grouped-queue","version":"0.1.2","description":"In memory queue system prioritizing tasks","main":"lib/queue.js","scripts":{"test":"mocha"},"repository":{"type":"git","url":"git://github.com/SBoudrias/grouped-queue.git"},"keywords":["queue","async","task","flow","control"],"author":{"name":"Simon Boudrias","email":"admin@simonboudrias.com"},"license":"MIT","bugs":{"url":"https://github.com/SBoudrias/grouped-queue/issues"},"devDependencies":{"sinon":"~1.7.3"},"dependencies":{"lodash":"~2.4.1","setimmediate":"~1.0.1"},"readmeFilename":"README.md","_id":"grouped-queue@0.1.2","dist":{"shasum":"ae22f4950dcfa5b36673b5e6a31f98e2c98cbb7e","size":4273,"noattachment":false,"key":"/grouped-queue/-/grouped-queue-0.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/grouped-queue/download/grouped-queue-0.1.2.tgz"},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"sboudrias","email":"admin@simonboudrias.com"},"maintainers":[{"name":"mshima","email":"marceloshima@gmail.com"},{"name":"sboudrias","email":""}],"directories":{},"publish_time":1389648938368,"_cnpm_publish_time":1389648938368,"_hasShrinkwrap":false},"0.1.1":{"name":"grouped-queue","version":"0.1.1","description":"In memory queue system prioritizing tasks","main":"lib/queue.js","scripts":{"test":"mocha"},"repository":{"type":"git","url":"git://github.com/SBoudrias/grouped-queue.git"},"keywords":["queue","async","task","flow","control"],"author":{"name":"Simon Boudrias","email":"admin@simonboudrias.com"},"license":"MIT","bugs":{"url":"https://github.com/SBoudrias/grouped-queue/issues"},"devDependencies":{"sinon":"~1.7.3"},"dependencies":{"lodash":"~2.4.1"},"readmeFilename":"README.md","_id":"grouped-queue@0.1.1","dist":{"shasum":"358fd3c30f2f4f1b604b1f16e1809617cb8b55de","size":4248,"noattachment":false,"key":"/grouped-queue/-/grouped-queue-0.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/grouped-queue/download/grouped-queue-0.1.1.tgz"},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"sboudrias","email":"admin@simonboudrias.com"},"maintainers":[{"name":"mshima","email":"marceloshima@gmail.com"},{"name":"sboudrias","email":""}],"directories":{},"publish_time":1389646860706,"_cnpm_publish_time":1389646860706,"_hasShrinkwrap":false},"0.1.0":{"name":"grouped-queue","version":"0.1.0","description":"In memory queue system prioritizing tasks","main":"lib/queue.js","scripts":{"test":"mocha"},"repository":{"type":"git","url":"git://github.com/SBoudrias/grouped-queue.git"},"keywords":["queue","async","task","flow","control"],"author":{"name":"Simon Boudrias","email":"admin@simonboudrias.com"},"license":"MIT","bugs":{"url":"https://github.com/SBoudrias/grouped-queue/issues"},"devDependencies":{"sinon":"~1.7.3"},"readmeFilename":"README.md","_id":"grouped-queue@0.1.0","dist":{"shasum":"9b7e4796d3801a8e238e14d1b9291d34e55d492f","size":4018,"noattachment":false,"key":"/grouped-queue/-/grouped-queue-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/grouped-queue/download/grouped-queue-0.1.0.tgz"},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"sboudrias","email":"admin@simonboudrias.com"},"maintainers":[{"name":"mshima","email":"marceloshima@gmail.com"},{"name":"sboudrias","email":""}],"directories":{},"publish_time":1385498931681,"_cnpm_publish_time":1385498931681,"_hasShrinkwrap":false}},"readme":"# Grouped Queue\n\nIn memory queue system prioritizing tasks.\n\n# Documentation\n\n## Installation\n\n```bash\nnpm install --save grouped-queue\n```\n\n## Methods\n\n### Constructor\n\nThe constructor takes an optional array of task groups. The first `String` name will be the first queue to be emptied, the second string will be the second group emptied, etc.\n\nBy default, the constructor will always add a `default` queue in the last position. You can overwrite the position of the `default` group if you specify it explicitly.\n\n```javascript\nimport Queue from \"grouped-queue\";\n\nconst queue = new Queue([\"first\", \"second\", \"third\"]);\n```\n\n### Queue#add `add( [group], task, [options] )`\n\nAdd a task into a group queue. If no group name is specified, `default` will be used.\n\nImplicitly, each time you add a task, the queue will start emptying (if not already running).\n\nEach task function is passed a callback function. This callback must be called when the task is complete.\n\n```javascript\nqueue.add((cb) => {\n  DB.fetch().then(cb);\n});\n```\n\n#### Option: `once`\n\nYou can register tasks in queues that will be dropped if they're already planned. This is done with the `once` option. You pass a String (basically a name) to the `once` option.\n\n```javascript\n// This one will eventually run\nqueue.add(method, { once: \"readDB\" });\n\n// This one will be dropped as `method` is currently in the queue\nqueue.add(method3, { once: \"readDB\" });\n```\n\n#### Option: `run`\n\nYou can register a task without launching the run loop by passing the argument `run: false`.\n\n```javascript\nqueue.add(method, { run: false });\n```\n\n### Delaying runs\n\nIf you don't want tasks to run as they're added, you can hold the queue until manually starting.\n\n```javascript\nconst queue = new Queue(\n  [\"first\", \"second\", \"third\"],\n  // `runOnAdd` option; this boolean instruct the queue to not auto-start.\n  false,\n);\n\n// Later on, to start processing\nqueue.start();\n\n// And pause to stop processing new tasks; running task will complete.\nqueue.pause();\n```\n\n## Events\n\n### `end`\n\nThis event is called **each time** the queue emptied itself.\n\n```javascript\nqueue.on(\"end\", () => {\n  console.log(\"done!\");\n});\n```\n\n# Contributing\n\n- **Unit test**: Unit tests are written in Mocha. Please add a unit test for every new feature\n  or bug fix. `npm test` to run the test suite.\n- **Documentation**: Add documentation for every API change. Feel free to send corrections\n  or better docs!\n- **Pull Requests**: Send _fixes_ PR on the `master` branch.\n\n# License\n\nCopyright (c) 2013 Simon Boudrias (twitter: @vaxilart)  \nLicensed under the MIT license.\n","_attachments":{},"homepage":"https://github.com/SBoudrias/grouped-queue#readme","bugs":{"url":"https://github.com/SBoudrias/grouped-queue/issues"},"license":"MIT"}