{"_id":"tinyqueue","_rev":"402688","name":"tinyqueue","description":"The smallest and simplest JavaScript priority queue","dist-tags":{"latest":"2.0.3"},"maintainers":[{"name":"mourner","email":"agafonkin@gmail.com"}],"time":{"modified":"2021-08-04T04:36:52.000Z","created":"2015-04-23T16:34:57.962Z","2.0.3":"2019-06-14T14:03:30.258Z","2.0.2":"2019-04-05T13:54:42.996Z","2.0.1":"2019-04-05T09:33:49.744Z","2.0.0":"2018-08-08T18:40:49.093Z","1.2.3":"2017-10-10T13:37:50.315Z","1.2.2":"2017-03-16T11:12:40.342Z","1.2.1":"2017-03-16T09:36:08.731Z","1.2.0":"2017-03-15T18:13:38.978Z","1.1.0":"2016-02-11T15:59:46.272Z","1.0.1":"2015-04-24T13:39:57.008Z","1.0.0":"2015-04-23T16:34:57.962Z"},"users":{"acollins-ts":true,"bradleybossard":true},"author":"","repository":{"type":"git","url":"git+https://github.com/mourner/tinyqueue.git"},"versions":{"2.0.3":{"name":"tinyqueue","version":"2.0.3","description":"The smallest and simplest JavaScript priority queue","main":"tinyqueue.js","module":"index.js","jsdelivr":"tinyqueue.min.js","unpkg":"tinyqueue.min.js","types":"index.d.ts","scripts":{"lint":"eslint index.js test.js bench.js rollup.config.js","pretest":"npm run lint","test":"tape -r esm test.js","bench":"node -r esm bench.js","build":"rollup -c","watch":"rollup -cw","prepublishOnly":"npm test"},"repository":{"type":"git","url":"git+https://github.com/mourner/tinyqueue.git"},"keywords":["queue","priority","binary heap","data structures"],"author":"","license":"ISC","bugs":{"url":"https://github.com/mourner/tinyqueue/issues"},"homepage":"https://github.com/mourner/tinyqueue","devDependencies":{"eslint":"^5.16.0","eslint-config-mourner":"^3.0.0","esm":"^3.2.25","rollup":"^1.15.4","rollup-plugin-buble":"^0.19.6","rollup-plugin-terser":"^5.0.0","tape":"^4.10.2"},"eslintConfig":{"extends":"mourner"},"gitHead":"9dbd2aa55837588001c776115fa04b9bbafc404b","_id":"tinyqueue@2.0.3","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"shasum":"64d8492ebf39e7801d7bd34062e29b45b2035f08","size":3307,"noattachment":false,"key":"/tinyqueue/-/tinyqueue-2.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/tinyqueue/download/tinyqueue-2.0.3.tgz"},"maintainers":[{"name":"mourner","email":"agafonkin@gmail.com"}],"_npmUser":{"name":"mourner","email":"agafonkin@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tinyqueue_2.0.3_1560521010060_0.3224439344834469"},"_hasShrinkwrap":false,"publish_time":1560521010258,"_cnpm_publish_time":1560521010258},"2.0.2":{"name":"tinyqueue","version":"2.0.2","description":"The smallest and simplest JavaScript priority queue","main":"tinyqueue.js","module":"index.js","jsdelivr":"tinyqueue.min.js","unpkg":"tinyqueue.min.js","types":"index.d.ts","scripts":{"lint":"eslint index.js test.js bench.js rollup.config.js","pretest":"npm run lint","test":"tape -r esm test.js","bench":"node -r esm bench.js","build":"rollup -c","watch":"rollup -cw","prepublishOnly":"npm test"},"repository":{"type":"git","url":"git+https://github.com/mourner/tinyqueue.git"},"keywords":["queue","priority","binary heap","data structures"],"author":"","license":"ISC","bugs":{"url":"https://github.com/mourner/tinyqueue/issues"},"homepage":"https://github.com/mourner/tinyqueue","devDependencies":{"eslint":"^5.16.0","eslint-config-mourner":"^3.0.0","esm":"^3.2.22","rollup":"^1.9.0","rollup-plugin-buble":"^0.19.6","rollup-plugin-terser":"^4.0.4","tape":"^4.10.1"},"eslintConfig":{"extends":"mourner"},"gitHead":"649fca0fa24c9e8410c45365c809f852fa055c8e","_id":"tinyqueue@2.0.2","_nodeVersion":"10.15.2","_npmVersion":"6.9.0","dist":{"shasum":"b4fe66d28a5b503edb99c149f87910059782a0cc","size":3304,"noattachment":false,"key":"/tinyqueue/-/tinyqueue-2.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/tinyqueue/download/tinyqueue-2.0.2.tgz"},"maintainers":[{"name":"mourner","email":"agafonkin@gmail.com"}],"_npmUser":{"name":"mourner","email":"agafonkin@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tinyqueue_2.0.2_1554472482872_0.5738083029656726"},"_hasShrinkwrap":false,"publish_time":1554472482996,"_cnpm_publish_time":1554472482996},"2.0.1":{"name":"tinyqueue","version":"2.0.1","description":"The smallest and simplest JavaScript priority queue","main":"tinyqueue.js","module":"index.js","jsdelivr":"tinyqueue.min.js","unpkg":"tinyqueue.min.js","types":"index.d.ts","scripts":{"lint":"eslint index.js test.js bench.js rollup.config.js","pretest":"npm run lint","test":"tape -r esm test.js","bench":"node -r esm bench.js","build":"rollup -c","watch":"rollup -cw","prepublishOnly":"npm test"},"repository":{"type":"git","url":"git+https://github.com/mourner/tinyqueue.git"},"keywords":["queue","priority","binary heap","data structures"],"author":"","license":"ISC","bugs":{"url":"https://github.com/mourner/tinyqueue/issues"},"homepage":"https://github.com/mourner/tinyqueue","devDependencies":{"eslint":"^5.16.0","eslint-config-mourner":"^3.0.0","esm":"^3.2.22","rollup":"^1.9.0","rollup-plugin-buble":"^0.19.6","rollup-plugin-terser":"^4.0.4","tape":"^4.10.1"},"eslintConfig":{"extends":"mourner"},"gitHead":"b023ac5f2f5dc5c3185ae2b184823b76f6ea7260","_id":"tinyqueue@2.0.1","_nodeVersion":"10.15.2","_npmVersion":"6.9.0","dist":{"shasum":"35437e08f069842d660275dcc095d3a399e98e10","size":3306,"noattachment":false,"key":"/tinyqueue/-/tinyqueue-2.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/tinyqueue/download/tinyqueue-2.0.1.tgz"},"maintainers":[{"name":"mourner","email":"agafonkin@gmail.com"}],"_npmUser":{"name":"mourner","email":"agafonkin@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tinyqueue_2.0.1_1554456829638_0.6519508076704528"},"_hasShrinkwrap":false,"publish_time":1554456829744,"_cnpm_publish_time":1554456829744},"2.0.0":{"name":"tinyqueue","version":"2.0.0","description":"The smallest and simplest JavaScript priority queue","main":"tinyqueue.js","module":"index.js","jsdelivr":"tinyqueue.min.js","unpkg":"tinyqueue.min.js","scripts":{"lint":"eslint index.js test.js bench.js rollup.config.js","pretest":"npm run lint","test":"tape -r esm test.js","bench":"node -r esm bench.js","build":"rollup -c","watch":"rollup -cw","prepublishOnly":"npm test"},"files":["index.js","tinyqueue.js","tinyqueue.min.js"],"repository":{"type":"git","url":"git+https://github.com/mourner/tinyqueue.git"},"keywords":["queue","priority","binary heap","data structures"],"author":"","license":"ISC","bugs":{"url":"https://github.com/mourner/tinyqueue/issues"},"homepage":"https://github.com/mourner/tinyqueue","devDependencies":{"eslint":"^5.3.0","eslint-config-mourner":"^2.0.3","esm":"^3.0.74","rollup":"^0.64.1","rollup-plugin-buble":"^0.19.2","rollup-plugin-terser":"^1.0.1","tape":"^4.9.1"},"eslintConfig":{"extends":"mourner","parserOptions":{"sourceType":"module"},"rules":{"no-var":"error","prefer-const":"error"}},"gitHead":"ce85dbb0bcd1e1c19aa97ee150cf6834c322dc32","_id":"tinyqueue@2.0.0","_npmVersion":"6.2.0","_nodeVersion":"8.11.3","_npmUser":{"name":"mourner","email":"agafonkin@gmail.com"},"dist":{"shasum":"8c40ceddd977bf133ffb35e903e0abe99d9d4e97","size":3140,"noattachment":false,"key":"/tinyqueue/-/tinyqueue-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/tinyqueue/download/tinyqueue-2.0.0.tgz"},"maintainers":[{"name":"mourner","email":"agafonkin@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tinyqueue_2.0.0_1533753648989_0.25339194984409863"},"_hasShrinkwrap":false,"publish_time":1533753649093,"_cnpm_publish_time":1533753649093},"1.2.3":{"name":"tinyqueue","version":"1.2.3","description":"The smallest and simplest JavaScript priority queue","main":"index.js","scripts":{"pretest":"eslint index.js test.js bench.js","test":"tape test.js"},"repository":{"type":"git","url":"git+https://github.com/mourner/tinyqueue.git"},"keywords":["queue","priority","binary heap","data structures"],"author":"","license":"ISC","bugs":{"url":"https://github.com/mourner/tinyqueue/issues"},"homepage":"https://github.com/mourner/tinyqueue","devDependencies":{"eslint":"^4.8.0","eslint-config-mourner":"^2.0.1","tape":"^4.6.3"},"eslintConfig":{"extends":"mourner"},"gitHead":"6b537400f57dab7de08164390edf9ef9e0b9dbcb","_id":"tinyqueue@1.2.3","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"mourner","email":"agafonkin@gmail.com"},"dist":{"shasum":"b6a61de23060584da29f82362e45df1ec7353f3d","size":12559,"noattachment":false,"key":"/tinyqueue/-/tinyqueue-1.2.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/tinyqueue/download/tinyqueue-1.2.3.tgz"},"maintainers":[{"name":"mourner","email":"agafonkin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tinyqueue-1.2.3.tgz_1507642669390_0.6616563671268523"},"directories":{},"publish_time":1507642670315,"_hasShrinkwrap":false,"_cnpm_publish_time":1507642670315},"1.2.2":{"name":"tinyqueue","version":"1.2.2","description":"The smallest and simplest JavaScript priority queue","main":"index.js","scripts":{"test":"eslint index.js test.js bench.js && tape test.js"},"repository":{"type":"git","url":"git+https://github.com/mourner/tinyqueue.git"},"keywords":["queue","priority","binary heap","data structures"],"author":"","license":"ISC","bugs":{"url":"https://github.com/mourner/tinyqueue/issues"},"homepage":"https://github.com/mourner/tinyqueue","devDependencies":{"eslint":"^3.17.1","eslint-config-mourner":"^2.0.1","tape":"^4.6.3"},"eslintConfig":{"extends":"mourner"},"gitHead":"089746c608f63fac7cc46526a34a358e4dbc3724","_id":"tinyqueue@1.2.2","_shasum":"947229e5e4197aba988acd27751dcc582e6728ff","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.2","_npmUser":{"name":"mourner","email":"agafonkin@gmail.com"},"dist":{"shasum":"947229e5e4197aba988acd27751dcc582e6728ff","size":12338,"noattachment":false,"key":"/tinyqueue/-/tinyqueue-1.2.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/tinyqueue/download/tinyqueue-1.2.2.tgz"},"maintainers":[{"name":"mourner","email":"agafonkin@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/tinyqueue-1.2.2.tgz_1489662759763_0.4587243515998125"},"directories":{},"publish_time":1489662760342,"_cnpm_publish_time":1489662760342,"_hasShrinkwrap":false},"1.2.1":{"name":"tinyqueue","version":"1.2.1","description":"The smallest and simplest JavaScript priority queue","main":"index.js","scripts":{"test":"eslint index.js test.js bench.js && tape test.js"},"repository":{"type":"git","url":"git+https://github.com/mourner/tinyqueue.git"},"keywords":["queue","priority","binary heap","data structures"],"author":"","license":"ISC","bugs":{"url":"https://github.com/mourner/tinyqueue/issues"},"homepage":"https://github.com/mourner/tinyqueue","devDependencies":{"eslint":"^3.17.1","eslint-config-mourner":"^2.0.1","tape":"^4.6.3"},"eslintConfig":{"extends":"mourner"},"gitHead":"59739c5c5e3e25922f0dbc49cd8249d9c75779dc","_id":"tinyqueue@1.2.1","_shasum":"c8169549b8154e7ff4e8e18e67861b0cb54cddf2","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.2","_npmUser":{"name":"mourner","email":"agafonkin@gmail.com"},"dist":{"shasum":"c8169549b8154e7ff4e8e18e67861b0cb54cddf2","size":12314,"noattachment":false,"key":"/tinyqueue/-/tinyqueue-1.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/tinyqueue/download/tinyqueue-1.2.1.tgz"},"maintainers":[{"name":"mourner","email":"agafonkin@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/tinyqueue-1.2.1.tgz_1489656966904_0.09082845551893115"},"directories":{},"publish_time":1489656968731,"_cnpm_publish_time":1489656968731,"_hasShrinkwrap":false},"1.2.0":{"name":"tinyqueue","version":"1.2.0","description":"The smallest and simplest JavaScript priority queue","main":"index.js","scripts":{"test":"eslint index.js test.js bench.js && tape test.js"},"repository":{"type":"git","url":"git+https://github.com/mourner/tinyqueue.git"},"keywords":["queue","priority","binary heap","data structures"],"author":"","license":"ISC","bugs":{"url":"https://github.com/mourner/tinyqueue/issues"},"homepage":"https://github.com/mourner/tinyqueue","devDependencies":{"eslint":"^3.17.1","eslint-config-mourner":"^2.0.1","tape":"^4.6.3"},"eslintConfig":{"extends":"mourner"},"gitHead":"c209e4711f57d0940c283097241f1dbd2081623a","_id":"tinyqueue@1.2.0","_shasum":"5350ea476a1a3ad9eabf8499a516b5bf05aeb7f1","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.2","_npmUser":{"name":"mourner","email":"agafonkin@gmail.com"},"dist":{"shasum":"5350ea476a1a3ad9eabf8499a516b5bf05aeb7f1","size":11622,"noattachment":false,"key":"/tinyqueue/-/tinyqueue-1.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/tinyqueue/download/tinyqueue-1.2.0.tgz"},"maintainers":[{"name":"mourner","email":"agafonkin@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/tinyqueue-1.2.0.tgz_1489601617093_0.7704062887933105"},"directories":{},"publish_time":1489601618978,"_cnpm_publish_time":1489601618978,"_hasShrinkwrap":false},"1.1.0":{"name":"tinyqueue","version":"1.1.0","description":"The smallest and simplest JavaScript priority queue","main":"index.js","scripts":{"test":"eslint index.js test.js && tape test.js"},"repository":{"type":"git","url":"git+https://github.com/mourner/tinyqueue.git"},"keywords":["queue","priority","binary heap","data structures"],"author":"","license":"ISC","bugs":{"url":"https://github.com/mourner/tinyqueue/issues"},"homepage":"https://github.com/mourner/tinyqueue","devDependencies":{"eslint":"^1.10.3","eslint-config-mourner":"^1.0.1","tape":"^4.4.0"},"eslintConfig":{"extends":"mourner"},"gitHead":"4506f90a4d5a0521677e47dd97a379486de72c95","_id":"tinyqueue@1.1.0","_shasum":"9c5f76f54a845f4914e754f5aa8d73ef6c011f7b","_from":".","_npmVersion":"2.14.17","_nodeVersion":"5.5.0","_npmUser":{"name":"mourner","email":"agafonkin@gmail.com"},"dist":{"shasum":"9c5f76f54a845f4914e754f5aa8d73ef6c011f7b","size":1771,"noattachment":false,"key":"/tinyqueue/-/tinyqueue-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/tinyqueue/download/tinyqueue-1.1.0.tgz"},"maintainers":[{"name":"mourner","email":"agafonkin@gmail.com"}],"_npmOperationalInternal":{"host":"packages-9-west.internal.npmjs.com","tmp":"tmp/tinyqueue-1.1.0.tgz_1455206382906_0.9365292538423091"},"directories":{},"publish_time":1455206386272,"_cnpm_publish_time":1455206386272,"_hasShrinkwrap":false},"1.0.1":{"name":"tinyqueue","version":"1.0.1","description":"The smallest and simplest JavaScript priority queue","main":"index.js","scripts":{"test":"eslint index.js test.js && tape test.js"},"repository":{"type":"git","url":"https://github.com/mourner/tinyqueue.git"},"keywords":["queue","priority","binary heap","data structures"],"author":"","license":"ISC","bugs":{"url":"https://github.com/mourner/tinyqueue/issues"},"homepage":"https://github.com/mourner/tinyqueue","devDependencies":{"eslint":"^0.19.0","tape":"^4.0.0"},"gitHead":"6371c352b5da3a9cc1ee177651b2b9a3a037b85e","_id":"tinyqueue@1.0.1","_shasum":"29bebbf93de3ca658d7ff9db1cc051614300a8c3","_from":".","_npmVersion":"2.7.5","_nodeVersion":"0.12.2","_npmUser":{"name":"mourner","email":"agafonkin@gmail.com"},"maintainers":[{"name":"mourner","email":"agafonkin@gmail.com"}],"dist":{"shasum":"29bebbf93de3ca658d7ff9db1cc051614300a8c3","size":2238,"noattachment":false,"key":"/tinyqueue/-/tinyqueue-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/tinyqueue/download/tinyqueue-1.0.1.tgz"},"directories":{},"publish_time":1429882797008,"_cnpm_publish_time":1429882797008,"_hasShrinkwrap":false},"1.0.0":{"name":"tinyqueue","version":"1.0.0","description":"The smallest and simplest JavaScript priority queue","main":"index.js","scripts":{"test":"eslint index.js test.js && tape test.js"},"repository":{"type":"git","url":"https://github.com/mourner/tinyqueue.git"},"keywords":["queue","priority","binary heap","data structures"],"author":"","license":"ISC","bugs":{"url":"https://github.com/mourner/tinyqueue/issues"},"homepage":"https://github.com/mourner/tinyqueue","devDependencies":{"eslint":"^0.19.0","tape":"^4.0.0"},"gitHead":"9ad61195e90128ec7d121cb77b4068404c3dca12","_id":"tinyqueue@1.0.0","_shasum":"c1ca6b20440dc3a4ea53d1420c7afed6a12d8d4d","_from":".","_npmVersion":"2.7.5","_nodeVersion":"0.12.2","_npmUser":{"name":"mourner","email":"agafonkin@gmail.com"},"maintainers":[{"name":"mourner","email":"agafonkin@gmail.com"}],"dist":{"shasum":"c1ca6b20440dc3a4ea53d1420c7afed6a12d8d4d","size":1600,"noattachment":false,"key":"/tinyqueue/-/tinyqueue-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/tinyqueue/download/tinyqueue-1.0.0.tgz"},"directories":{},"publish_time":1429806897962,"_cnpm_publish_time":1429806897962,"_hasShrinkwrap":false}},"readme":"## tinyqueue\n\nThe smallest and simplest binary heap priority queue in JavaScript.\n\n```js\n// create an empty priority queue\nvar queue = new TinyQueue();\n\n// add some items\nqueue.push(7);\nqueue.push(5);\nqueue.push(10);\n\n// remove the top item\nvar top = queue.pop(); // returns 5\n\n// return the top item (without removal)\ntop = queue.peek(); // returns 7\n\n// get queue length\nqueue.length; // returns 2\n\n// create a priority queue from an existing array (modifies the array)\nqueue = new TinyQueue([7, 5, 10]);\n\n// pass a custom item comparator as a second argument\nqueue = new TinyQueue([{value: 5}, {value: 7}], function (a, b) {\n\treturn a.value - b.value;\n});\n\n// turn a queue into a sorted array\nvar array = [];\nwhile (queue.length) array.push(queue.pop());\n```\n\nFor a faster number-based queue, see [flatqueue](https://github.com/mourner/flatqueue).\n\n### Install\n\nInstall using NPM (`npm install tinyqueue`) or Yarn (`yarn add tinyqueue`), then:\n\n```js\n// import as an ES module\nimport TinyQueue from 'tinyqueue';\n\n// or require in Node / Browserify\nconst TinyQueue = require('tinyqueue');\n```\n\nOr use a browser build directly:\n\n```html\n<script src=\"https://unpkg.com/tinyqueue@2.0.0/tinyqueue.min.js\"></script>\n```\n\n### Thanks\n\nInspired by [js-priority-queue](https://github.com/adamhooper/js-priority-queue)\nby [Adam Hooper](https://github.com/adamhooper).\n","_attachments":{},"homepage":"https://github.com/mourner/tinyqueue","bugs":{"url":"https://github.com/mourner/tinyqueue/issues"},"license":"ISC"}