iter-over is an iteration toolset for JavaScript/TypeScript that provides interfaces as well as utility classes for
iteration using the native JavaScript Symbol.iterator
method (and Symbol.asyncIterator
!).
Install from NPM with
$ npm install --save iter-over
For most use-cases you'll want to extend AbstractIterator
(the iter-over abstract iterator class). This abstract class
implements such methods as #forEachRemaining(callback)
and automagically implements the [Symbol.iterator]
method so
that you don't have to!
The only methods you have to implement are:
public hasNext(): boolean { ... }
public next(): E | undefined { ... }
So for example, an inline implementation would look something like:
import { AbstractIterator } from "iter-over";
class MyCounter extends AbstractIterator<number> {
private val: number = 0;
public hasNext(): boolean {
return (this.val <= 9);
}
public next(): number {
return this.val++;
}
}
Once you've done that, you can freely use the iterator as such:
let counter: MyCounter = new MyCounter();
for (let counterVal of counter) console.log(counterVal);
// ...console logs 0 through 9.
Full documentation can be found here!
iter-over is made available under the GNU General Public License v3.
Copyright (C) 2021 Trevor Sears