This commit is contained in:
Morten Olsen
2023-03-26 22:15:07 +02:00
commit 9b1a067d56
80 changed files with 7889 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
import { Observable } from "../../observable";
const forEach = async <T extends Observable<any[]>>(
observable: T,
fn: (
value: T extends Observable<infer U>
? U extends Array<infer A>
? A
: never
: never
) => Promise<void>
) => {
const knownValues = new Set();
const update = async () => {
for (let value of await observable.data) {
if (knownValues.has(value)) {
continue;
}
await fn(value);
knownValues.add(value);
}
};
await update();
observable.subscribe(update);
};
export { forEach };