1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | 31x 25x 57x 42x 15x | import SkipIterator from './WhereIterator'; export default class TakeWhileIterator extends SkipIterator { constructor(arr, condition) { super(arr, condition); } *[Symbol.iterator]() { for (let item of this.arr) { if (this.condition(item)) { yield item; } else { break; } } } } |