@harmowatch/ngx-redux-core
Version:
[](https://gitter.im/harmowatch/ngx-redux-core?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
25 lines (24 loc) • 952 B
TypeScript
import { Observable } from 'rxjs';
import { NgZone } from '@angular/core';
import { ReduxStateDefinition } from '../interfaces/redux-state-definition.interface';
import { ReduxActionWithPayload } from '../interfaces/redux-action-with-payload.interface';
export declare abstract class ReduxStateProvider<S = {}> {
private zone;
static instancesByName: {
[stateName: string]: ReduxStateProvider;
};
readonly name: string;
readonly stateDef: ReduxStateDefinition;
protected selectorCache: {
[selector: string]: Observable<{}>;
};
protected reducerMethodsByType: {
[actionType: string]: Function[];
};
constructor(stateDefs: ReduxStateDefinition[], zone: NgZone);
getInitialState(): S | Promise<S> | Observable<S>;
select<T>(selector?: string): Observable<T>;
getState(): Promise<S>;
reduce<P>(state: S, action: ReduxActionWithPayload<P>): S;
private getReducerMethods;
}