mirror of
https://github.com/facebook/sapling.git
synced 2024-10-05 14:28:17 +03:00
shared: add zip() function
Summary: This seems handy to use without depending on lodash. Code written by ChatGPT 4. Reviewed By: zzl0 Differential Revision: D45073069 fbshipit-source-id: 9bb4a73d476d14310003dcce78df2515d4ff614c
This commit is contained in:
parent
2f93193774
commit
45c8d5e5f0
@ -111,3 +111,19 @@ export function generatorContains<V>(gen: Generator<V>, value: V): boolean {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Zip 2 iterators.
|
||||
*/
|
||||
export function* zip<T, U>(iter1: Iterable<T>, iter2: Iterable<U>): IterableIterator<[T, U]> {
|
||||
const iterator1 = iter1[Symbol.iterator]();
|
||||
const iterator2 = iter2[Symbol.iterator]();
|
||||
while (true) {
|
||||
const result1 = iterator1.next();
|
||||
const result2 = iterator2.next();
|
||||
if (result1.done || result2.done) {
|
||||
break;
|
||||
}
|
||||
yield [result1.value, result2.value];
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user