1.0.0 • Published 10 years ago

min-iterator v1.0.0

Weekly downloads
3
License
MIT
Repository
github
Last release
10 years ago

min-iterator.js

Build Status SemVer License

Minimal iterator API for Node.js and the browser.

Install with npm

npm install min-iterator

Browser compatibility

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

Usage

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 ((v = it.next()) !== undefined) {
  console.log(v);
}

Using the itererator with each:

it.each(function (v) {
  console.log(v);
});

Iterator API

  • 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().

License

MIT