@angular-redux/store
Version:
Angular 2 bindings for Redux
36 lines (35 loc) • 1.62 kB
TypeScript
import { Comparator, ObservableStore } from '@angular-redux/store';
import { Observable } from 'rxjs/Observable';
import { Subject } from 'rxjs/Subject';
import { Reducer } from 'redux';
import 'rxjs/add/observable/from';
import 'rxjs/add/operator/distinctUntilChanged';
/** @hidden */
export interface SelectorStubRecord {
subject: Subject<any>;
comparator: Comparator;
}
/** @hidden */
export interface SelectorStubMap {
[selector: string]: SelectorStubRecord;
}
/** @hidden */
export interface SubStoreStubMap {
[basePath: string]: MockObservableStore<any>;
}
/** @hidden */
export declare class MockObservableStore<State> implements ObservableStore<any> {
selections: SelectorStubMap;
subStores: SubStoreStubMap;
getSelectorStub: <SelectedState>(selector?: string | number | symbol | (string | number)[] | ((s: State) => SelectedState) | undefined, comparator?: Comparator | undefined) => Subject<SelectedState>;
reset: () => void;
dispatch: (action: any) => any;
replaceReducer: () => null;
getState: () => null;
subscribe: () => () => null;
select: <SelectedState>(selector?: string | number | symbol | (string | number)[] | ((s: any) => SelectedState) | undefined, comparator?: Comparator | undefined) => Observable<any>;
configureSubStore: <SubState>(basePath: (string | number)[], localReducer: Reducer<SubState>) => MockObservableStore<SubState>;
getSubStore: (...pathSelectors: (string | number)[][]) => MockObservableStore<any>;
private initSubStore<SubState>(basePath);
private initSelectorStub<SelectedState>(selector?, comparator?);
}