UNPKG

1.7 kBTypeScriptView Raw
1import { InjectionToken } from '@angular/core';
2import { Observable } from 'rxjs';
3import { SerializationOptions, StoreDevtoolsConfig } from './config';
4import { DevtoolsDispatcher } from './devtools-dispatcher';
5import { LiftedAction, LiftedState } from './reducer';
6export declare const ExtensionActionTypes: {
7 START: string;
8 DISPATCH: string;
9 STOP: string;
10 ACTION: string;
11};
12export declare const REDUX_DEVTOOLS_EXTENSION: InjectionToken<ReduxDevtoolsExtension>;
13export interface ReduxDevtoolsExtensionConnection {
14 subscribe(listener: (change: any) => void): void;
15 unsubscribe(): void;
16 send(action: any, state: any): void;
17 init(state?: any): void;
18 error(anyErr: any): void;
19}
20export interface ReduxDevtoolsExtensionConfig {
21 features?: object | boolean;
22 name: string | undefined;
23 maxAge?: number;
24 serialize?: boolean | SerializationOptions;
25}
26export interface ReduxDevtoolsExtension {
27 connect(options: ReduxDevtoolsExtensionConfig): ReduxDevtoolsExtensionConnection;
28 send(action: any, state: any, options: ReduxDevtoolsExtensionConfig): void;
29}
30export declare class DevtoolsExtension {
31 private config;
32 private dispatcher;
33 private devtoolsExtension;
34 private extensionConnection;
35 liftedActions$: Observable<any>;
36 actions$: Observable<any>;
37 start$: Observable<any>;
38 constructor(devtoolsExtension: ReduxDevtoolsExtension, config: StoreDevtoolsConfig, dispatcher: DevtoolsDispatcher);
39 notify(action: LiftedAction, state: LiftedState): void;
40 private createChangesObservable;
41 private createActionStreams;
42 private unwrapAction;
43 private getExtensionConfig;
44 private sendToReduxDevtools;
45}