TS2707
Generic type 'Iterator<T, TReturn, TNext>' requires between 1 and 3 type arguments.
Broken Code ❌
class Counter implements Iterator {
private counter = 0;
public next(): { done: boolean; value: number } {
return {
done: false,
value: this.counter++,
};
}
}Fixed Code ✔️
You have to at least pass 1 type argument to the generic Iterator type:
class Counter implements Iterator<number> {
private counter = 0;
public next(): { done: boolean; value: number } {
return {
done: false,
value: this.counter++,
};
}
}