Implement sequence

This commit is contained in:
2026-04-25 20:55:50 +02:00
parent e2a18101cf
commit a5866c08ff
62 changed files with 570 additions and 569 deletions

View File

@@ -1,12 +1,11 @@
export function* dropUntil<T>(value: Iterable<T>, predicate: (it: T) => boolean): Iterable<T> {
const iterator = value[Symbol.iterator]();
let {value: it, done} = iterator.next();
while (!done) {
if (predicate(it)) break;
({value: it, done} = iterator.next());
let next = iterator.next();
while (!next.done && !predicate(next.value)) {
next = iterator.next();
}
while (!done) {
yield it;
({value: it, done} = iterator.next());
while (!next.done) {
yield next.value;
next = iterator.next();
}
}