ngx-stateful
Version:
Be obnoxiously clear about which of your Angular components own state
16 lines (15 loc) • 598 B
TypeScript
import { Observable } from 'rxjs';
declare type StateSetterFunction<T> = (state: T) => T;
export declare type StateSetter<T> = Partial<T> | StateSetterFunction<T>;
export declare abstract class StatefulComponent<T> {
private _state;
state$: Observable<T>;
get state(): T;
select<R>(selector: (state: T) => R): Observable<R>;
selectKey<R>(key: string): Observable<R>;
onChange<R>(selector: (state: T) => R): Observable<[R, R]>;
onKeyChange<R>(key: string): Observable<[R, R]>;
constructor(_state: T);
protected setState(state: StateSetter<T>): void;
}
export {};