Minimal iterator API for Node.js and the browser


Minimal iterator API for Node.js and the browser.

npm install min-iterator

To use this module in a browser, download the npm package and then use Browserify to create a standalone version.

This package provides the base iterator API with each(fn) and toArray() implementations (see API). An actual iterator implementation is created by inheriting from Iterator and implement next():

var inherits = require('inherits');
var Iterator = require('min-iterator');
function ArrayIterator (a) {
  this._a = a;
  this._i = 0;
inherits(ArrayIterator, Iterator);
ArrayIterator.prototype.next = function () {
  return this._i < this._a.length ? this._a[this._i++] : undefined;

Using the itererator with a while loop:

while ((= it.next()) !== undefined) {

Using the itererator with each:

it.each(function (v) {
  • next(): Returns the next item. If there are no more items, undefined is returned. The default implementation always returns undefined.
  • each(fn, scope): Invokes the given function with each item returned by next() until undefined is returned. The scope object is optional.
  • toArray(): Returns an array with all item returned by next().