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,9 +1,11 @@
export function* zip<T, B>(value: Iterable<T>, items: Iterable<B>): Iterable<[T, B]> {
const iteratorA = value[Symbol.iterator]();
const iteratorB = items[Symbol.iterator]();
let {value: itA, done: doneA} = iteratorA.next();
let {value: itB, done: doneB} = iteratorB.next();
while (!doneA && !doneB) {
yield [itA, itB];
let a = iteratorA.next();
let b = iteratorB.next();
while (!a.done && !b.done) {
yield [a.value, b.value];
a = iteratorA.next();
b = iteratorB.next();
}
}