UNPKG

3.49 kBTypeScriptView Raw
1import { ActionReducer, Action } from '@ngrx/store';
2import { InjectionToken } from '@angular/core';
3export declare type ActionSanitizer = (action: Action, id: number) => Action;
4export declare type StateSanitizer = (state: any, index: number) => any;
5export declare type SerializationOptions = {
6 options?: boolean | any;
7 replacer?: (key: any, value: any) => {};
8 reviver?: (key: any, value: any) => {};
9 immutable?: any;
10 refs?: Array<any>;
11};
12export declare type Predicate = (state: any, action: Action) => boolean;
13/**
14 * @see http://extension.remotedev.io/docs/API/Arguments.html#features
15 */
16export interface DevToolsFeatureOptions {
17 /**
18 * Start/pause recording of dispatched actions
19 */
20 pause?: boolean;
21 /**
22 * Lock/unlock dispatching actions and side effects
23 */
24 lock?: boolean;
25 /**
26 * Persist states on page reloading
27 */
28 persist?: boolean;
29 /**
30 * Export history of actions in a file
31 */
32 export?: boolean;
33 /**
34 * Import history of actions from a file
35 */
36 import?: 'custom' | boolean;
37 /**
38 * Jump back and forth (time travelling)
39 */
40 jump?: boolean;
41 /**
42 * Skip (cancel) actions
43 */
44 skip?: boolean;
45 /**
46 * Drag and drop actions in the history list
47 */
48 reorder?: boolean;
49 /**
50 * Dispatch custom actions or action creators
51 */
52 dispatch?: boolean;
53 /**
54 * Generate tests for the selected actions
55 */
56 test?: boolean;
57}
58/**
59 * @see http://extension.remotedev.io/docs/API/Arguments.html
60 */
61export declare class StoreDevtoolsConfig {
62 /**
63 * Maximum allowed actions to be stored in the history tree (default: `false`)
64 */
65 maxAge: number | false;
66 monitor?: ActionReducer<any, any>;
67 /**
68 * Function which takes `action` object and id number as arguments, and should return `action` object back.
69 */
70 actionSanitizer?: ActionSanitizer;
71 /**
72 * Function which takes `state` object and index as arguments, and should return `state` object back.
73 */
74 stateSanitizer?: StateSanitizer;
75 /**
76 * The instance name to be shown on the monitor page (default: `document.title`)
77 */
78 name?: string;
79 serialize?: boolean | SerializationOptions;
80 logOnly?: boolean;
81 features?: DevToolsFeatureOptions;
82 /**
83 * Action types to be hidden in the monitors. If `actionsSafelist` specified, `actionsBlocklist` is ignored.
84 */
85 actionsBlocklist?: string[];
86 /**
87 * Action types to be shown in the monitors
88 */
89 actionsSafelist?: string[];
90 /**
91 * Called for every action before sending, takes state and action object, and returns true in case it allows sending the current data to the monitor.
92 */
93 predicate?: Predicate;
94 /**
95 * Auto pauses when the extension’s window is not opened, and so has zero impact on your app when not in use.
96 */
97 autoPause?: boolean;
98}
99export declare const STORE_DEVTOOLS_CONFIG: InjectionToken<StoreDevtoolsConfig>;
100/**
101 * Used to provide a `StoreDevtoolsConfig` for the store-devtools.
102 */
103export declare const INITIAL_OPTIONS: InjectionToken<StoreDevtoolsConfig>;
104export declare type StoreDevtoolsOptions = Partial<StoreDevtoolsConfig> | (() => Partial<StoreDevtoolsConfig>);
105export declare function noMonitor(): null;
106export declare const DEFAULT_NAME = "NgRx Store DevTools";
107export declare function createConfig(optionsInput: StoreDevtoolsOptions): StoreDevtoolsConfig;
108
\No newline at end of file