12 lines
355 B
TypeScript
12 lines
355 B
TypeScript
export function* dropUntil<T>(value: Iterable<T>, predicate: (it: T) => boolean): Iterable<T> {
|
|
const iterator = value[Symbol.iterator]();
|
|
let next = iterator.next();
|
|
while (!next.done && !predicate(next.value)) {
|
|
next = iterator.next();
|
|
}
|
|
while (!next.done) {
|
|
yield next.value;
|
|
next = iterator.next();
|
|
}
|
|
}
|