UNPKG

rxdeep

Version:
28 lines (27 loc) 1.05 kB
import { Observable, Observer } from 'rxjs'; import { State } from './state'; import { KeyFunc, ListChanges } from './types/keyed-lists'; import { Change } from './types/changes'; export declare class KeyedState<T> extends Observable<T[] | undefined> implements Observer<T[] | undefined> { readonly state: State<T[]>; readonly keyfunc: KeyFunc<T>; private _changes; private _changesub; private _watcher; private _value; constructor(state: State<T[]>, keyfunc: KeyFunc<T>); next(t: T[] | undefined): void; error(err: any): void; complete(): void; get value(): T[]; set value(t: T[]); key(key: number | string): State<T>; keyDownstream(key: number | string, current: () => T | undefined): Observable<{ value: T; trace: any; }>; keyUpstream(key: number | string): Observer<Change<T>>; index(key: number | string): Observable<number>; changes(): Observable<ListChanges<T>>; } export declare function keyed<T>(state: State<T[]>, keyfunc: KeyFunc<T>): KeyedState<T>;