1 | import { Provider } from '@angular/core';
|
2 | import { Observable, Observer, Operator } from 'rxjs';
|
3 | import { ActionsSubject } from './actions_subject';
|
4 | import { Action, ActionReducer, FunctionIsNotAllowed } from './models';
|
5 | import { ReducerManager } from './reducer_manager';
|
6 | import { StateObservable } from './state';
|
7 | export declare class Store<T = object> extends Observable<T> implements Observer<Action> {
|
8 | private actionsObserver;
|
9 | private reducerManager;
|
10 | constructor(state$: StateObservable, actionsObserver: ActionsSubject, reducerManager: ReducerManager);
|
11 | select<K>(mapFn: (state: T) => K): Observable<K>;
|
12 | select<K, Props = any>(mapFn: (state: T, props: Props) => K, props: Props): Observable<K>;
|
13 | select<a extends keyof T>(key: a): Observable<T[a]>;
|
14 | select<a extends keyof T, b extends keyof T[a]>(key1: a, key2: b): Observable<T[a][b]>;
|
15 | select<a extends keyof T, b extends keyof T[a], c extends keyof T[a][b]>(key1: a, key2: b, key3: c): Observable<T[a][b][c]>;
|
16 | select<a extends keyof T, b extends keyof T[a], c extends keyof T[a][b], d extends keyof T[a][b][c]>(key1: a, key2: b, key3: c, key4: d): Observable<T[a][b][c][d]>;
|
17 | select<a extends keyof T, b extends keyof T[a], c extends keyof T[a][b], d extends keyof T[a][b][c], e extends keyof T[a][b][c][d]>(key1: a, key2: b, key3: c, key4: d, key5: e): Observable<T[a][b][c][d][e]>;
|
18 | select<a extends keyof T, b extends keyof T[a], c extends keyof T[a][b], d extends keyof T[a][b][c], e extends keyof T[a][b][c][d], f extends keyof T[a][b][c][d][e]>(key1: a, key2: b, key3: c, key4: d, key5: e, key6: f): Observable<T[a][b][c][d][e][f]>;
|
19 | select<a extends keyof T, b extends keyof T[a], c extends keyof T[a][b], d extends keyof T[a][b][c], e extends keyof T[a][b][c][d], f extends keyof T[a][b][c][d][e], K = any>(key1: a, key2: b, key3: c, key4: d, key5: e, key6: f, ...paths: string[]): Observable<K>;
|
20 | lift<R>(operator: Operator<T, R>): Store<R>;
|
21 | dispatch<V extends Action = Action>(action: V & FunctionIsNotAllowed<V, 'Functions are not allowed to be dispatched. Did you forget to call the action creator function?'>): void;
|
22 | next(action: Action): void;
|
23 | error(err: any): void;
|
24 | complete(): void;
|
25 | addReducer<State, Actions extends Action = Action>(key: string, reducer: ActionReducer<State, Actions>): void;
|
26 | removeReducer<Key extends Extract<keyof T, string>>(key: Key): void;
|
27 | }
|
28 | export declare const STORE_PROVIDERS: Provider[];
|
29 | export declare function select<T, Props, K>(mapFn: (state: T, props: Props) => K, props?: Props): (source$: Observable<T>) => Observable<K>;
|
30 | export declare function select<T, a extends keyof T>(key: a): (source$: Observable<T>) => Observable<T[a]>;
|
31 | export declare function select<T, a extends keyof T, b extends keyof T[a]>(key1: a, key2: b): (source$: Observable<T>) => Observable<T[a][b]>;
|
32 | export declare function select<T, a extends keyof T, b extends keyof T[a], c extends keyof T[a][b]>(key1: a, key2: b, key3: c): (source$: Observable<T>) => Observable<T[a][b][c]>;
|
33 | export declare function select<T, a extends keyof T, b extends keyof T[a], c extends keyof T[a][b], d extends keyof T[a][b][c]>(key1: a, key2: b, key3: c, key4: d): (source$: Observable<T>) => Observable<T[a][b][c][d]>;
|
34 | export declare function select<T, a extends keyof T, b extends keyof T[a], c extends keyof T[a][b], d extends keyof T[a][b][c], e extends keyof T[a][b][c][d]>(key1: a, key2: b, key3: c, key4: d, key5: e): (source$: Observable<T>) => Observable<T[a][b][c][d][e]>;
|
35 | export declare function select<T, a extends keyof T, b extends keyof T[a], c extends keyof T[a][b], d extends keyof T[a][b][c], e extends keyof T[a][b][c][d], f extends keyof T[a][b][c][d][e]>(key1: a, key2: b, key3: c, key4: d, key5: e, key6: f): (source$: Observable<T>) => Observable<T[a][b][c][d][e][f]>;
|
36 | export declare function select<T, a extends keyof T, b extends keyof T[a], c extends keyof T[a][b], d extends keyof T[a][b][c], e extends keyof T[a][b][c][d], f extends keyof T[a][b][c][d][e], K = any>(key1: a, key2: b, key3: c, key4: d, key5: e, key6: f, ...paths: string[]): (source$: Observable<T>) => Observable<K>;
|