{"id":25019891,"url":"https://github.com/kei-g/async-iterable-queue","last_synced_at":"2025-04-13T04:11:43.589Z","repository":{"id":36985109,"uuid":"398694621","full_name":"kei-g/async-iterable-queue","owner":"kei-g","description":"A library for 'Queue' class which implements AsyncIterable\u003cT\u003e works on Node.js","archived":false,"fork":false,"pushed_at":"2025-04-04T06:20:27.000Z","size":3052,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-04T07:25:43.185Z","etag":null,"topics":["asynciterable","npm-package","queue","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kei-g.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2021-08-22T02:09:53.000Z","updated_at":"2025-04-04T06:20:30.000Z","dependencies_parsed_at":"2024-01-29T02:44:18.391Z","dependency_job_id":"0c1c6d5f-24c6-48db-9db7-ccf0c44b875c","html_url":"https://github.com/kei-g/async-iterable-queue","commit_stats":{"total_commits":264,"total_committers":2,"mean_commits":132.0,"dds":"0.49242424242424243","last_synced_commit":"552daf3409b2ce16765545678b4e50c1dc935a9c"},"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kei-g%2Fasync-iterable-queue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kei-g%2Fasync-iterable-queue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kei-g%2Fasync-iterable-queue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kei-g%2Fasync-iterable-queue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kei-g","download_url":"https://codeload.github.com/kei-g/async-iterable-queue/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248661705,"owners_count":21141451,"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":["asynciterable","npm-package","queue","typescript"],"created_at":"2025-02-05T11:51:49.784Z","updated_at":"2025-04-13T04:11:43.558Z","avatar_url":"https://github.com/kei-g.png","language":"TypeScript","readme":"# async-iterable-queue [![license][license-image]][license-url] [![npm][npm-image]][npm-url]\n\n[![dependency][depencency-image]][dependency-url] [![maintenance][maintenance-image]][npmsio-url] [![quality][quality-image]][npmsio-url]\n\n`async-iterable-queue` - A library for 'Queue' class which implements AsyncIterable\\\u003cT\\\u003e works on [Node.js](https://nodejs.org/)\n\n## CI Status\n\n| Workflow Name | Status |\n|:-:|:-:|\n| **Build** | [![GitHub CI (Build)][github-build-image]][github-build-url] |\n| **CodeQL** | [![GitHub CI (CodeQL)][github-codeql-image]][github-codeql-url] |\n| **Coverage** | [![GitHub CI (Coverage)][github-coverage-image]][github-coverage-url] |\n| **Example** | [![GitHub CI (Example)][github-example-image]][github-example-url] |\n\n## Installation\n\n```shell\nnpm i async-iterable-queue\n```\n\n## Usage\n\n```typescript\nimport { AsyncIterableQueue } from 'async-iterable-queue'\n\ntype Foo = {\n  id: number\n  name: string\n}\n\nasync function example1(queue: AsyncIterableQueue\u003cFoo\u003e): Promise\u003cvoid\u003e {\n  console.debug('pushing 123')\n  await queue.push({\n    id: 123,\n    name: 'foo',\n  })\n  console.debug('123 has been pushed')\n  await queue.push({\n    id: 456,\n    name: 'bar',\n  })\n  console.debug('456 has been pushed')\n  await queue.push({\n    id: 789,\n    name: 'baz',\n  })\n  console.debug('789 has been pushed')\n  await queue.end()\n  console.debug('\\'end\\' has been pushed')\n}\n\nasync function example2(queue: AsyncIterableQueue\u003cFoo\u003e): Promise\u003cvoid\u003e {\n  for await (const value of queue)\n    console.debug(value)\n  console.debug('all elements have been popped from queue')\n}\n\nasync function example(): Promise\u003cvoid\u003e {\n  console.debug('example for AsyncIterableQueue has begun')\n  const queue = new AsyncIterableQueue\u003cFoo\u003e()\n  await Promise.all([\n    example1(queue),\n    example2(queue),\n  ])\n  console.debug('example for AsyncIterableQueue has finished')\n}\n\nexample()\n```\n\n## License\n\nThe scripts and documentation in this project are released under the [BSD-3-Clause License](https://github.com/kei-g/async-iterable-queue/blob/main/LICENSE)\n\n## Contributions\n\nContributions are welcome! See [Contributor's Guide](https://github.com/kei-g/async-iterable-queue/blob/main/CONTRIBUTING.md)\n\n### Code of Conduct\n\n:clap: Be nice. See [our code of conduct](https://github.com/kei-g/async-iterable-queue/blob/main/CODE_OF_CONDUCT.md)\n\n[depencency-image]:https://img.shields.io/librariesio/release/npm/async-iterable-queue?logo=nodedotjs\n[dependency-url]:https://npmjs.com/package/async-iterable-queue?activeTab=dependencies\n[github-build-image]:https://github.com/kei-g/async-iterable-queue/actions/workflows/build.yml/badge.svg?branch=main\n[github-build-url]:https://github.com/kei-g/async-iterable-queue/actions/workflows/build.yml?query=branch%3Amain\n[github-codeql-image]:https://github.com/kei-g/async-iterable-queue/actions/workflows/codeql.yml/badge.svg?branch=main\n[github-codeql-url]:https://github.com/kei-g/async-iterable-queue/actions/workflows/codeql.yml?query=branch%3Amain\n[github-coverage-image]:https://github.com/kei-g/async-iterable-queue/actions/workflows/coverage.yml/badge.svg?branch=main\n[github-coverage-url]:https://github.com/kei-g/async-iterable-queue/actions/workflows/coverage.yml?query=branch%3Amain\n[github-example-image]:https://github.com/kei-g/async-iterable-queue/actions/workflows/example.yml/badge.svg?branch=main\n[github-example-url]:https://github.com/kei-g/async-iterable-queue/actions/workflows/example.yml?query=branch%3Amain\n[license-image]:https://img.shields.io/github/license/kei-g/async-iterable-queue\n[license-url]:https://opensource.org/licenses/BSD-3-Clause\n[maintenance-image]:https://img.shields.io/npms-io/maintenance-score/async-iterable-queue?logo=npm\n[npm-image]:https://img.shields.io/npm/v/async-iterable-queue.svg?logo=npm\n[npm-url]:https://npmjs.org/package/async-iterable-queue\n[npmsio-url]:https://npms.io/search?q=async-iterable-queue\n[quality-image]:https://img.shields.io/npms-io/quality-score/async-iterable-queue?logo=npm\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkei-g%2Fasync-iterable-queue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkei-g%2Fasync-iterable-queue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkei-g%2Fasync-iterable-queue/lists"}