{"_id":"priorityqueuejs","_rev":"2954811","name":"priorityqueuejs","description":"a simple priority queue data structure","dist-tags":{"latest":"2.0.0"},"maintainers":[{"name":"janogonzalez","email":""}],"time":{"modified":"2023-04-27T03:55:07.000Z","created":"2013-03-02T00:55:33.194Z","2.0.0":"2020-05-07T16:49:04.963Z","1.0.0":"2015-02-23T17:22:03.717Z","0.2.0":"2014-02-06T12:02:38.749Z","0.1.0":"2013-03-04T00:17:17.328Z","0.0.2":"2013-03-02T18:47:29.866Z","0.0.1":"2013-03-02T00:55:33.194Z"},"users":{},"author":{"name":"Jano González","email":"info@janogonzalez.com"},"repository":{"type":"git","url":"git://github.com/janogonzalez/priorityqueuejs.git"},"versions":{"2.0.0":{"name":"priorityqueuejs","version":"2.0.0","description":"a simple priority queue data structure","author":{"name":"Jano González","email":"info@janogonzalez.com"},"devDependencies":{"mocha":"*","expect.js":"*"},"main":"index.js","dependencies":{},"scripts":{"test":"mocha"},"repository":{"type":"git","url":"git://github.com/janogonzalez/priorityqueuejs.git"},"keywords":["heap","priority","queue","priority queue","data structure"],"license":"MIT","gitHead":"5fc8ac2ea0482277ee8110182e1d743e31cef1aa","bugs":{"url":"https://github.com/janogonzalez/priorityqueuejs/issues"},"homepage":"https://github.com/janogonzalez/priorityqueuejs#readme","_id":"priorityqueuejs@2.0.0","_nodeVersion":"12.16.1","_npmVersion":"6.14.5","dist":{"shasum":"96064040edd847ee9dd3013d8e16297399a6bd4f","size":3328,"noattachment":false,"key":"/priorityqueuejs/-/priorityqueuejs-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/priorityqueuejs/download/priorityqueuejs-2.0.0.tgz"},"maintainers":[{"name":"janogonzalez","email":""}],"_npmUser":{"name":"janogonzalez","email":"info@janogonzalez.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/priorityqueuejs_2.0.0_1588870144856_0.7385233620141971"},"_hasShrinkwrap":false,"publish_time":1588870144963,"_cnpm_publish_time":1588870144963,"_cnpmcore_publish_time":"2021-12-16T19:55:53.738Z"},"1.0.0":{"name":"priorityqueuejs","version":"1.0.0","description":"a simple priority queue data structure","author":{"name":"Jano González","email":"info@janogonzalez.com"},"devDependencies":{"mocha":"*","expect.js":"*"},"main":"index.js","dependencies":{},"scripts":{"test":"mocha"},"repository":{"type":"git","url":"git://github.com/janogonzalez/priorityqueuejs.git"},"keywords":["heap","priority","queue","priority queue","data structure"],"license":"MIT","gitHead":"9a4c0483444248e2a41b64b8a528e1371bf7299d","bugs":{"url":"https://github.com/janogonzalez/priorityqueuejs/issues"},"homepage":"https://github.com/janogonzalez/priorityqueuejs","_id":"priorityqueuejs@1.0.0","_shasum":"2ee4f23c2560913e08c07ce5ccdd6de3df2c5af8","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"janogonzalez","email":"info@janogonzalez.com"},"maintainers":[{"name":"janogonzalez","email":""}],"dist":{"shasum":"2ee4f23c2560913e08c07ce5ccdd6de3df2c5af8","size":3855,"noattachment":false,"key":"/priorityqueuejs/-/priorityqueuejs-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/priorityqueuejs/download/priorityqueuejs-1.0.0.tgz"},"directories":{},"publish_time":1424712123717,"_hasShrinkwrap":false,"_cnpm_publish_time":1424712123717,"_cnpmcore_publish_time":"2021-12-16T19:55:54.091Z"},"0.2.0":{"name":"priorityqueuejs","version":"0.2.0","description":"a simple priority queue data structure","author":{"name":"Jano González","email":"info@janogonzalez.com"},"devDependencies":{"mocha":"*","expect.js":"*"},"main":"index.js","dependencies":{},"scripts":{"test":"mocha"},"repository":{"type":"git","url":"git://github.com/janogonzalez/priorityqueuejs.git"},"keywords":["heap","priority","queue","priority queue","data structure"],"license":"MIT","bugs":{"url":"https://github.com/janogonzalez/priorityqueuejs/issues"},"homepage":"https://github.com/janogonzalez/priorityqueuejs","_id":"priorityqueuejs@0.2.0","dist":{"shasum":"105ec881f21f0789a8f936aaff0761a9dc6390b0","size":3464,"noattachment":false,"key":"/priorityqueuejs/-/priorityqueuejs-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/priorityqueuejs/download/priorityqueuejs-0.2.0.tgz"},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"janogonzalez","email":"info@janogonzalez.com"},"maintainers":[{"name":"janogonzalez","email":""}],"directories":{},"publish_time":1391688158749,"_hasShrinkwrap":false,"_cnpm_publish_time":1391688158749,"_cnpmcore_publish_time":"2021-12-16T19:55:54.273Z"},"0.1.0":{"name":"priorityqueuejs","version":"0.1.0","description":"a simple priority queue data structure","author":{"name":"Jano González","email":"info@janogonzalez.com"},"devDependencies":{"mocha":"*","expect.js":"*"},"readmeFilename":"Readme.md","main":"index.js","dependencies":{},"scripts":{"test":"mocha"},"repository":{"type":"git","url":"git://github.com/janogonzalez/priorityqueuejs.git"},"keywords":["heap","priority","queue","priority queue","data structure"],"license":"MIT","_id":"priorityqueuejs@0.1.0","dist":{"shasum":"417b7e6e1baa5d1379a92702fff9bee479d34c05","size":3260,"noattachment":false,"key":"/priorityqueuejs/-/priorityqueuejs-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/priorityqueuejs/download/priorityqueuejs-0.1.0.tgz"},"_from":".","_npmVersion":"1.2.11","_npmUser":{"name":"janogonzalez","email":"info@janogonzalez.com"},"maintainers":[{"name":"janogonzalez","email":""}],"directories":{},"publish_time":1362356237328,"_hasShrinkwrap":false,"_cnpm_publish_time":1362356237328,"_cnpmcore_publish_time":"2021-12-16T19:55:54.487Z"},"0.0.2":{"name":"priorityqueuejs","version":"0.0.2","description":"a simple priority queue data structure","author":{"name":"Jano González","email":"info@janogonzalez.com"},"devDependencies":{"mocha":"*","expect.js":"*"},"readmeFilename":"Readme.md","main":"index.js","dependencies":{},"scripts":{"test":"mocha"},"repository":{"type":"git","url":"git://github.com/janogonzalez/priorityqueuejs.git"},"keywords":["heap","priority","queue","priorityqueue","datastructure"],"license":"MIT","_id":"priorityqueuejs@0.0.2","dist":{"shasum":"74c29e55157e223281e0c222c05b35a114c20f54","size":3227,"noattachment":false,"key":"/priorityqueuejs/-/priorityqueuejs-0.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/priorityqueuejs/download/priorityqueuejs-0.0.2.tgz"},"_from":".","_npmVersion":"1.2.11","_npmUser":{"name":"janogonzalez","email":"info@janogonzalez.com"},"maintainers":[{"name":"janogonzalez","email":""}],"directories":{},"publish_time":1362250049866,"_hasShrinkwrap":false,"_cnpm_publish_time":1362250049866,"_cnpmcore_publish_time":"2021-12-16T19:55:54.694Z"},"0.0.1":{"name":"priorityqueuejs","version":"0.0.1","description":"a simple priority queue data structure","author":{"name":"Jano González","email":"info@janogonzalez.com"},"devDependencies":{"mocha":"*","should":"*"},"readmeFilename":"Readme.md","main":"index.js","dependencies":{},"scripts":{"test":"mocha --require should"},"repository":{"type":"git","url":"git://github.com/janogonzalez/priorityqueuejs.git"},"keywords":["heap","queue","priorityqueue","datastructure"],"license":"MIT","_id":"priorityqueuejs@0.0.1","dist":{"shasum":"fa9379c96c35f670dad12e222c15497fe4bcd2be","size":2831,"noattachment":false,"key":"/priorityqueuejs/-/priorityqueuejs-0.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/priorityqueuejs/download/priorityqueuejs-0.0.1.tgz"},"_from":".","_npmVersion":"1.2.11","_npmUser":{"name":"janogonzalez","email":"info@janogonzalez.com"},"maintainers":[{"name":"janogonzalez","email":""}],"directories":{},"publish_time":1362185733194,"_hasShrinkwrap":false,"_cnpm_publish_time":1362185733194,"_cnpmcore_publish_time":"2021-12-16T19:55:54.889Z"}},"readme":"# priorityqueue.js\n\n[![Build Status](https://travis-ci.com/janogonzalez/priorityqueuejs.svg?branch=master)](\n  https://travis-ci.com/janogonzalez/priorityqueuejs)\n\nA simple priority queue data structure for Node.js.\n\n## Installation\n\n```\n$ npm install priorityqueuejs\n```\n\n## Example\n\n```js\nvar PriorityQueue = require('priorityqueuejs');\n\nvar queue = new PriorityQueue(function(a, b) {\n  return a.cash - b.cash;\n});\n\nqueue.enq({ cash: 250, name: 'Valentina' });\nqueue.enq({ cash: 300, name: 'Jano' });\nqueue.enq({ cash: 150, name: 'Fran' });\nqueue.size(); // 3\nqueue.peek(); // { cash: 300, name: 'Jano' }\nqueue.deq(); // { cash: 300, name: 'Jano' }\nqueue.size(); // 2\n```\n\n## API\n\n### `PriorityQueue()`\n\nInitializes a new empty `PriorityQueue` wich uses `.DEFAULT_COMPARATOR()` as\nthe comparator function for its elements.\n\n### `PriorityQueue(comparator)`\n\nInitializes a new empty `PriorityQueue` with uses the given `comparator(a, b)`\nfunction as the comparator for its elements.\n\nThe comparator function must return a positive number when `a > b`, 0 when\n`a == b` and a negative number when `a < b`.\n\n### `PriorityQueue.DEFAULT_COMPARATOR(a, b)`\n\nCompares two `Number` or `String` objects.\n\n### `PriorityQueue#deq()`\n\nDequeues the top element of the priority queue.\nThrows an `Error` when the queue is empty.\n\n### `PriorityQueue#enq(element)`\n\nEnqueues the `element` at the priority queue and returns its new size.\n\n### `PriorityQueue#forEach(fn)`\n\nExecutes `fn` on each element. Just be careful to not modify the priorities,\nsince the queue won't reorder itself.\n\n### `PriorityQueue#isEmpty()`\n\nReturns whether the priority queue is empty or not.\n\n### `PriorityQueue#peek()`\n\nPeeks at the top element of the priority queue.\nThrows an `Error` when the queue is empty.\n\n### `PriorityQueue#size()`\n\nReturns the size of the priority queue.\n\n## Testing\n\n```\n$ npm install\n$ npm test\n```\n\n## Licence\n\nMIT\n","_attachments":{},"homepage":"https://github.com/janogonzalez/priorityqueuejs#readme","bugs":{"url":"https://github.com/janogonzalez/priorityqueuejs/issues"},"license":"MIT"}