s-libs icon indicating copy to clipboard operation
s-libs copied to clipboard

[rxjs-core] Feature request: observeKeys()

Open eric-simonton-sama opened this issue 6 years ago • 0 comments

export function observeKeys<T, K1 extends keyof T>(
  store: StoreObject<T>,
  k1: K1,
): Observable<[T[K1]]>;
export function observeKeys<T, K1 extends keyof T, K2 extends keyof T>(
  store: StoreObject<T>,
  k1: K1,
  k2: K2,
): Observable<[T[K1], T[K2]]>;
export function observeKeys<
  T,
  K1 extends keyof T,
  K2 extends keyof T,
  K3 extends keyof T
>(
  store: StoreObject<T>,
  k1: K1,
  k2: K2,
  k3: K3,
): Observable<[T[K1], T[K2], T[K3]]>;
export function observeKeys<
  T,
  K1 extends keyof T,
  K2 extends keyof T,
  K3 extends keyof T,
  K4 extends keyof T
>(
  store: StoreObject<T>,
  k1: K1,
  k2: K2,
  k3: K3,
  k4: K4,
): Observable<[T[K1], T[K2], T[K3], T[K4]]>;
export function observeKeys<T>(store: StoreObject<T>, ...keys: Array<keyof T>) {
  return combineLatest(keys.map((key) => store(key).$));
}

eric-simonton-sama avatar Jul 02 '19 17:07 eric-simonton-sama