Files
sequence.ts/src/sequence/zip.ts
2026-04-29 18:09:40 +02:00

12 lines
378 B
TypeScript

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 a = iteratorA.next();
let b = iteratorB.next();
while (!a.done && !b.done) {
yield [a.value, b.value];
a = iteratorA.next();
b = iteratorB.next();
}
}