# @comunica/utils-iterator

> Async iterator utilities

Latest version **5.0.0** (published 2026-01-08) · MIT license · 0 weekly downloads

## Install

```sh
npm install @comunica/utils-iterator
pnpm add @comunica/utils-iterator
yarn add @comunica/utils-iterator
bun add @comunica/utils-iterator
```

## Health

**Score 55/100 (C)** — status: stable.

Positive: has types; no vulnerabilities; high maintenance score.

Warnings: low downloads; no esm support.

## Facts

| | |
|---|---|
| Version | 5.0.0 |
| Published | 2026-01-08 |
| First published | 2024-10-08 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 24 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 590 |
| Maintainers | joachimvh, rubensworks, rubenverborgh, dexagod, jeswr |
| Keywords | semantic, actor, framework, events, messages, asynciterator, iterator |

## Links

- npm: https://www.npmjs.com/package/@comunica/utils-iterator
- Repository: https://github.com/comunica/comunica
- Homepage: https://comunica.dev/
- Issues: https://github.com/comunica/comunica/issues
- Funding: https://opencollective.com/comunica-association
- npm.io page: https://npm.io/package/@comunica/utils-iterator

## Dependencies (1)

- [asynciterator](https://npm.io/package/asynciterator.md) ^3.10.0

## Alternatives

- [@sveltejs/kit](https://npm.io/package/@sveltejs/kit.md) — 2.2M weekly downloads
- [@atlaskit/theme](https://npm.io/package/@atlaskit/theme.md) — 402.0K weekly downloads
- [@tangle-network/brand](https://npm.io/package/@tangle-network/brand.md) — 10.0K weekly downloads
- [seneca](https://npm.io/package/seneca.md) — 7.4K weekly downloads
- [@bsb/base](https://npm.io/package/@bsb/base.md) — 7.2K weekly downloads

## Recent versions

- 5.0.0 (latest) — 2026-01-08
- 4.4.2-alpha.49.0 (next) — 2025-10-22
- 4.5.0 — 2025-11-18
- 4.0.1 — 2024-10-15
- 4.0.1-alpha.48.0 — 2024-10-08
- 3.2.4-alpha.47.0 — 2024-10-08

## README

# Comunica Iterator Utils

[![npm version](https://badge.fury.io/js/%40comunica%2Futils-iterator.svg)](https://www.npmjs.com/package/@comunica/utils-iterator)

Utilities related to [AsyncIterator](https://github.com/RubenVerborgh/AsyncIterator/).

This module is part of the [Comunica framework](https://github.com/comunica/comunica),
and should only be used by [developers that want to build their own query engine](https://comunica.dev/docs/modify/).

[Click here if you just want to query with Comunica](https://comunica.dev/docs/query/).

## Install

```bash
$ yarn add @comunica/utils-iterator
```

## Exposed utilities

* [`ChunkedIterator`](https://comunica.github.io/comunica/classes/_comunica_utils_iterator.ChunkedIterator.html): Splits an iterator into chunks based on a given block size.
* [`ClosableIterator`](https://comunica.github.io/comunica/classes/_comunica_utils_iterator.ClosableIterator.html): An AsyncIterator with a callback for when this iterator is closed in any way. In contrast to ClosableTransformIterator, this does not add the overhead of a TransformIterator.
* [`ClosableTransformIterator`](https://comunica.github.io/comunica/classes/_comunica_utils_iterator.ClosableTransformIterator.html): A TransformIterator with a callback for when this iterator is closed in any way.
* [`instrumentIterator`](https://comunica.github.io/comunica/classes/_comunica_utils_iterator.instrumentIterator.html): Profile an iterator by monkey-patching its `_read` and `read` methods.

---
_Source: https://npm.io/package/@comunica/utils-iterator · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
