{"id":13465014,"url":"https://github.com/invertase/denque","last_synced_at":"2025-05-15T02:09:00.341Z","repository":{"id":32489976,"uuid":"62425999","full_name":"invertase/denque","owner":"invertase","description":"The fastest javascript implementation of a double-ended queue. Used by the official Redis, MongoDB, MariaDB \u0026 MySQL libraries for Node.js and many other libraries.","archived":false,"fork":false,"pushed_at":"2023-03-04T08:16:33.000Z","size":160,"stargazers_count":360,"open_issues_count":15,"forks_count":33,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-05-08T06:03:12.402Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://docs.page/invertase/denque","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/invertase.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-07-02T00:11:06.000Z","updated_at":"2025-05-07T21:02:49.000Z","dependencies_parsed_at":"2024-06-18T12:17:26.953Z","dependency_job_id":"69d06311-c692-4df0-a03f-0341f00a4e30","html_url":"https://github.com/invertase/denque","commit_stats":{"total_commits":115,"total_committers":17,"mean_commits":6.764705882352941,"dds":"0.26086956521739135","last_synced_commit":"539105bb57854e997dd469221cdc52a0ad80e0a2"},"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/invertase%2Fdenque","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/invertase%2Fdenque/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/invertase%2Fdenque/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/invertase%2Fdenque/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/invertase","download_url":"https://codeload.github.com/invertase/denque/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253540622,"owners_count":21924522,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T14:00:55.074Z","updated_at":"2025-05-15T02:08:55.311Z","avatar_url":"https://github.com/invertase.png","language":"JavaScript","readme":"\u003cp align=\"center\"\u003e\n  \u003ch1 align=\"center\"\u003eDenque\u003c/h1\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.npmjs.com/package/denque\"\u003e\u003cimg src=\"https://img.shields.io/npm/dm/denque.svg?style=flat-square\" alt=\"NPM downloads\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.com/package/denque\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/denque.svg?style=flat-square\" alt=\"NPM version\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/invertase/denque/actions/workflows/testing.yam\"\u003e\u003cimg src=\"https://github.com/invertase/denque/actions/workflows/testing.yaml/badge.svg\" alt=\"Tests status\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://codecov.io/gh/invertase/denque\"\u003e\u003cimg src=\"https://codecov.io/gh/invertase/denque/branch/master/graph/badge.svg?token=rn91iI4bSe\" alt=\"Coverage\"\u003e\u003c/a\u003e\n  \u003ca href=\"/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/npm/l/denque.svg?style=flat-square\" alt=\"License\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://twitter.com/invertaseio\"\u003e\u003cimg src=\"https://img.shields.io/twitter/follow/invertaseio.svg?style=social\u0026label=Follow\" alt=\"Follow on Twitter\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\nDenque is a well tested, extremely fast and lightweight [double-ended queue](http://en.wikipedia.org/wiki/Double-ended_queue)\nimplementation with zero dependencies and includes TypeScript types.\n\nDouble-ended queues can also be used as a:\n\n- [Stack](http://en.wikipedia.org/wiki/Stack_\\(abstract_data_type\\))\n- [Queue](http://en.wikipedia.org/wiki/Queue_\\(data_structure\\))\n\nThis implementation is currently the fastest available, even faster than `double-ended-queue`, see the [benchmarks](https://docs.page/invertase/denque/benchmarks).\n\nEvery queue operation is done at a constant `O(1)` - including random access from `.peekAt(index)`.\n\n**Works on all node versions \u003e= v0.10**\n\n## Quick Start\n\nInstall the package:\n\n```bash\nnpm install denque\n```\n\nCreate and consume a queue:\n\n```js\nconst Denque = require(\"denque\");\n\nconst denque = new Denque([1,2,3,4]);\ndenque.shift(); // 1\ndenque.pop(); // 4\n```\n\n\nSee the [API reference documentation](https://docs.page/invertase/denque/api) for more examples.\n\n---\n\n## Who's using it?\n\n- [Kafka Node.js client](https://www.npmjs.com/package/kafka-node)\n- [MariaDB Node.js client](https://www.npmjs.com/package/mariadb)\n- [MongoDB Node.js client](https://www.npmjs.com/package/mongodb)\n- [MySQL Node.js client](https://www.npmjs.com/package/mysql2)\n- [Redis Node.js clients](https://www.npmjs.com/package/redis)\n\n... and [many more](https://www.npmjs.com/browse/depended/denque).\n\n\n---\n\n## License\n\n- See [LICENSE](/LICENSE)\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://invertase.io/?utm_source=readme\u0026utm_medium=footer\u0026utm_campaign=denque\"\u003e\n    \u003cimg width=\"75px\" src=\"https://static.invertase.io/assets/invertase/invertase-rounded-avatar.png\"\u003e\n  \u003c/a\u003e\n  \u003cp align=\"center\"\u003e\n    Built and maintained by \u003ca href=\"https://invertase.io/?utm_source=readme\u0026utm_medium=footer\u0026utm_campaign=denque\"\u003eInvertase\u003c/a\u003e.\n  \u003c/p\u003e\n\u003c/p\u003e\n","funding_links":[],"categories":["JavaScript","Packages"],"sub_categories":["Others"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finvertase%2Fdenque","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finvertase%2Fdenque","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finvertase%2Fdenque/lists"}