1 | import { EffectRef, Injector, Provider, Signal } from '@angular/core';
|
2 | import { Observable, Observer, Operator } from 'rxjs';
|
3 | import { ActionsSubject } from './actions_subject';
|
4 | import { Action, ActionReducer, CreatorsNotAllowedCheck, SelectSignalOptions } from './models';
|
5 | import { ReducerManager } from './reducer_manager';
|
6 | import { StateObservable } from './state';
|
7 | import * as i0 from "@angular/core";
|
8 | export declare class Store<T = object> extends Observable<T> implements Observer<Action> {
|
9 | private actionsObserver;
|
10 | private reducerManager;
|
11 | private injector?;
|
12 | constructor(state$: StateObservable, actionsObserver: ActionsSubject, reducerManager: ReducerManager, injector?: Injector | undefined);
|
13 | select<K>(mapFn: (state: T) => K): Observable<K>;
|
14 | /**
|
15 | * @deprecated Selectors with props are deprecated, for more info see {@link https:
|
16 | */
|
17 | select<K, Props = any>(mapFn: (state: T, props: Props) => K, props: Props): Observable<K>;
|
18 | select<a extends keyof T>(key: a): Observable<T[a]>;
|
19 | select<a extends keyof T, b extends keyof T[a]>(key1: a, key2: b): Observable<T[a][b]>;
|
20 | 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]>;
|
21 | 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]>;
|
22 | 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]>;
|
23 | 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]>;
|
24 | 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>;
|
25 | /**
|
26 | * Returns a signal of the provided selector.
|
27 | *
|
28 | * @param selector selector function
|
29 | * @param options select signal options
|
30 | */
|
31 | selectSignal<K>(selector: (state: T) => K, options?: SelectSignalOptions<K>): Signal<K>;
|
32 | lift<R>(operator: Operator<T, R>): Store<R>;
|
33 | dispatch<V extends Action>(action: V & CreatorsNotAllowedCheck<V>): void;
|
34 | dispatch<V extends () => Action>(dispatchFn: V & CreatorsNotAllowedCheck<V>, config?: {
|
35 | injector: Injector;
|
36 | }): EffectRef;
|
37 | next(action: Action): void;
|
38 | error(err: any): void;
|
39 | complete(): void;
|
40 | addReducer<State, Actions extends Action = Action>(key: string, reducer: ActionReducer<State, Actions>): void;
|
41 | removeReducer<Key extends Extract<keyof T, string>>(key: Key): void;
|
42 | private processDispatchFn;
|
43 | static ɵfac: i0.ɵɵFactoryDeclaration<Store<any>, never>;
|
44 | static ɵprov: i0.ɵɵInjectableDeclaration<Store<any>>;
|
45 | }
|
46 | export declare const STORE_PROVIDERS: Provider[];
|
47 | export declare function select<T, K>(mapFn: (state: T) => K): (source$: Observable<T>) => Observable<K>;
|
48 |
|
49 |
|
50 |
|
51 | export declare function select<T, Props, K>(mapFn: (state: T, props: Props) => K, props: Props): (source$: Observable<T>) => Observable<K>;
|
52 | export declare function select<T, a extends keyof T>(key: a): (source$: Observable<T>) => Observable<T[a]>;
|
53 | 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]>;
|
54 | 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]>;
|
55 | 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]>;
|
56 | 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]>;
|
57 | 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]>;
|
58 | 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>;
|