Open
Description
Currently to iterate over an expander you must call getIterator
:
const digitExpander = expand(/\d/);
for (const digit of digitExpander.getIterator()) {
// ...
}
By implementing Symbol.iterator
, you would be able to do the following:
const digitExpander = expand(/\d/);
for (const digit of digitExpander) {
// ...
}
This can be done by changing the Expansion
like so:
export default class Expansion {
// ... (omitted) ....
/**
* Alias for `getIterator`
*/
public [Symbol.iterator]: () => IterableIterator<string>;
// ... (omitted) ....
public constructor(getIterator: IterableSource, count: Expansion['count']) {
this.getIterator = toIterable(getIterator);
this[Symbol.iterator] = this.getIterator;
this.count = count;
}
}
I'd contribute it myself, but I'm not sure how exactly you would like it styled, and would probably end up messing something up, haha. :)
Metadata
Metadata
Assignees
Labels
No labels