This commit is contained in:
Morten Olsen
2023-03-28 08:10:46 +02:00
parent 9b1a067d56
commit 7adf03c83f
44 changed files with 1780 additions and 411 deletions

View File

@@ -58,7 +58,7 @@ class Observable<T> {
};
static combine = <U extends Record<string, Observable<any>>>(
record: U
record: U,
): Observable<ObservableRecord<U>> => {
const loader = () =>
Object.entries(record).reduce(
@@ -66,7 +66,7 @@ class Observable<T> {
...(await accP),
[key]: await value.data,
}),
{} as any
{} as any,
);
const observable = new Observable<ObservableRecord<U>>(loader);
Object.values(record).forEach((item) => {
@@ -76,6 +76,16 @@ class Observable<T> {
});
return observable;
};
static link = <T>(observables: Observable<any>[], generate: () => Promise<T>) => {
const observable = new Observable<T>(generate);
observables.forEach((item) => {
item.subscribe(() => {
observable.recreate();
});
});
return observable;
};
}
export { Observable };