UNPKG

10.9 kBJavaScriptView Raw
1import { InjectionToken } from '@angular/core';
2/**
3 * @see http://extension.remotedev.io/docs/API/Arguments.html
4 */
5export class StoreDevtoolsConfig {
6 constructor() {
7 /**
8 * Maximum allowed actions to be stored in the history tree (default: `false`)
9 */
10 this.maxAge = false;
11 }
12}
13export const STORE_DEVTOOLS_CONFIG = new InjectionToken('@ngrx/store-devtools Options');
14/**
15 * Used to provide a `StoreDevtoolsConfig` for the store-devtools.
16 */
17export const INITIAL_OPTIONS = new InjectionToken('@ngrx/store-devtools Initial Config');
18export function noMonitor() {
19 return null;
20}
21export const DEFAULT_NAME = 'NgRx Store DevTools';
22export function createConfig(optionsInput) {
23 const DEFAULT_OPTIONS = {
24 maxAge: false,
25 monitor: noMonitor,
26 actionSanitizer: undefined,
27 stateSanitizer: undefined,
28 name: DEFAULT_NAME,
29 serialize: false,
30 logOnly: false,
31 autoPause: false,
32 // Add all features explicitly. This prevent buggy behavior for
33 // options like "lock" which might otherwise not show up.
34 features: {
35 pause: true,
36 lock: true,
37 persist: true,
38 export: true,
39 import: 'custom',
40 jump: true,
41 skip: true,
42 reorder: true,
43 dispatch: true,
44 test: true, // Generate tests for the selected actions
45 },
46 };
47 const options = typeof optionsInput === 'function' ? optionsInput() : optionsInput;
48 const logOnly = options.logOnly
49 ? { pause: true, export: true, test: true }
50 : false;
51 const features = options.features || logOnly || DEFAULT_OPTIONS.features;
52 const config = Object.assign({}, DEFAULT_OPTIONS, { features }, options);
53 if (config.maxAge && config.maxAge < 2) {
54 throw new Error(`Devtools 'maxAge' cannot be less than 2, got ${config.maxAge}`);
55 }
56 return config;
57}
58//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9zdG9yZS1kZXZ0b29scy9zcmMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUEyRC9DOztHQUVHO0FBQ0gsTUFBTSxPQUFPLG1CQUFtQjtJQUFoQztRQUNFOztXQUVHO1FBQ0gsV0FBTSxHQUFtQixLQUFLLENBQUM7SUFpQ2pDLENBQUM7Q0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLElBQUksY0FBYyxDQUNyRCw4QkFBOEIsQ0FDL0IsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUMvQyxxQ0FBcUMsQ0FDdEMsQ0FBQztBQU1GLE1BQU0sVUFBVSxTQUFTO0lBQ3ZCLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxxQkFBcUIsQ0FBQztBQUVsRCxNQUFNLFVBQVUsWUFBWSxDQUMxQixZQUFrQztJQUVsQyxNQUFNLGVBQWUsR0FBd0I7UUFDM0MsTUFBTSxFQUFFLEtBQUs7UUFDYixPQUFPLEVBQUUsU0FBUztRQUNsQixlQUFlLEVBQUUsU0FBUztRQUMxQixjQUFjLEVBQUUsU0FBUztRQUN6QixJQUFJLEVBQUUsWUFBWTtRQUNsQixTQUFTLEVBQUUsS0FBSztRQUNoQixPQUFPLEVBQUUsS0FBSztRQUNkLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLCtEQUErRDtRQUMvRCx5REFBeUQ7UUFDekQsUUFBUSxFQUFFO1lBQ1IsS0FBSyxFQUFFLElBQUk7WUFDWCxJQUFJLEVBQUUsSUFBSTtZQUNWLE9BQU8sRUFBRSxJQUFJO1lBQ2IsTUFBTSxFQUFFLElBQUk7WUFDWixNQUFNLEVBQUUsUUFBUTtZQUNoQixJQUFJLEVBQUUsSUFBSTtZQUNWLElBQUksRUFBRSxJQUFJO1lBQ1YsT0FBTyxFQUFFLElBQUk7WUFDYixRQUFRLEVBQUUsSUFBSTtZQUNkLElBQUksRUFBRSxJQUFJLEVBQUUsMENBQTBDO1NBQ3ZEO0tBQ0YsQ0FBQztJQUVGLE1BQU0sT0FBTyxHQUNYLE9BQU8sWUFBWSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztJQUNyRSxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTztRQUM3QixDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRTtRQUMzQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ1YsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsSUFBSSxPQUFPLElBQUksZUFBZSxDQUFDLFFBQVEsQ0FBQztJQUN6RSxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxlQUFlLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUV6RSxJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDdEMsTUFBTSxJQUFJLEtBQUssQ0FDYixnREFBZ0QsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUNoRSxDQUFDO0tBQ0g7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uUmVkdWNlciwgQWN0aW9uIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IHR5cGUgQWN0aW9uU2FuaXRpemVyID0gKGFjdGlvbjogQWN0aW9uLCBpZDogbnVtYmVyKSA9PiBBY3Rpb247XG5leHBvcnQgdHlwZSBTdGF0ZVNhbml0aXplciA9IChzdGF0ZTogYW55LCBpbmRleDogbnVtYmVyKSA9PiBhbnk7XG5leHBvcnQgdHlwZSBTZXJpYWxpemF0aW9uT3B0aW9ucyA9IHtcbiAgb3B0aW9ucz86IGJvb2xlYW4gfCBhbnk7XG4gIHJlcGxhY2VyPzogKGtleTogYW55LCB2YWx1ZTogYW55KSA9PiB7fTtcbiAgcmV2aXZlcj86IChrZXk6IGFueSwgdmFsdWU6IGFueSkgPT4ge307XG4gIGltbXV0YWJsZT86IGFueTtcbiAgcmVmcz86IEFycmF5PGFueT47XG59O1xuZXhwb3J0IHR5cGUgUHJlZGljYXRlID0gKHN0YXRlOiBhbnksIGFjdGlvbjogQWN0aW9uKSA9PiBib29sZWFuO1xuXG4vKipcbiAqIEBzZWUgaHR0cDovL2V4dGVuc2lvbi5yZW1vdGVkZXYuaW8vZG9jcy9BUEkvQXJndW1lbnRzLmh0bWwjZmVhdHVyZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXZUb29sc0ZlYXR1cmVPcHRpb25zIHtcbiAgLyoqXG4gICAqIFN0YXJ0L3BhdXNlIHJlY29yZGluZyBvZiBkaXNwYXRjaGVkIGFjdGlvbnNcbiAgICovXG4gIHBhdXNlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIExvY2svdW5sb2NrIGRpc3BhdGNoaW5nIGFjdGlvbnMgYW5kIHNpZGUgZWZmZWN0c1xuICAgKi9cbiAgbG9jaz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBQZXJzaXN0IHN0YXRlcyBvbiBwYWdlIHJlbG9hZGluZ1xuICAgKi9cbiAgcGVyc2lzdD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBFeHBvcnQgaGlzdG9yeSBvZiBhY3Rpb25zIGluIGEgZmlsZVxuICAgKi9cbiAgZXhwb3J0PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEltcG9ydCBoaXN0b3J5IG9mIGFjdGlvbnMgZnJvbSBhIGZpbGVcbiAgICovXG4gIGltcG9ydD86ICdjdXN0b20nIHwgYm9vbGVhbjtcbiAgLyoqXG4gICAqIEp1bXAgYmFjayBhbmQgZm9ydGggKHRpbWUgdHJhdmVsbGluZylcbiAgICovXG4gIGp1bXA/OiBib29sZWFuO1xuICAvKipcbiAgICogU2tpcCAoY2FuY2VsKSBhY3Rpb25zXG4gICAqL1xuICBza2lwPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIERyYWcgYW5kIGRyb3AgYWN0aW9ucyBpbiB0aGUgaGlzdG9yeSBsaXN0XG4gICAqL1xuICByZW9yZGVyPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIERpc3BhdGNoIGN1c3RvbSBhY3Rpb25zIG9yIGFjdGlvbiBjcmVhdG9yc1xuICAgKi9cbiAgZGlzcGF0Y2g/OiBib29sZWFuO1xuICAvKipcbiAgICogR2VuZXJhdGUgdGVzdHMgZm9yIHRoZSBzZWxlY3RlZCBhY3Rpb25zXG4gICAqL1xuICB0ZXN0PzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBAc2VlIGh0dHA6Ly9leHRlbnNpb24ucmVtb3RlZGV2LmlvL2RvY3MvQVBJL0FyZ3VtZW50cy5odG1sXG4gKi9cbmV4cG9ydCBjbGFzcyBTdG9yZURldnRvb2xzQ29uZmlnIHtcbiAgLyoqXG4gICAqIE1heGltdW0gYWxsb3dlZCBhY3Rpb25zIHRvIGJlIHN0b3JlZCBpbiB0aGUgaGlzdG9yeSB0cmVlIChkZWZhdWx0OiBgZmFsc2VgKVxuICAgKi9cbiAgbWF4QWdlOiBudW1iZXIgfCBmYWxzZSA9IGZhbHNlO1xuICBtb25pdG9yPzogQWN0aW9uUmVkdWNlcjxhbnksIGFueT47XG4gIC8qKlxuICAgKiBGdW5jdGlvbiB3aGljaCB0YWtlcyBgYWN0aW9uYCBvYmplY3QgYW5kIGlkIG51bWJlciBhcyBhcmd1bWVudHMsIGFuZCBzaG91bGQgcmV0dXJuIGBhY3Rpb25gIG9iamVjdCBiYWNrLlxuICAgKi9cbiAgYWN0aW9uU2FuaXRpemVyPzogQWN0aW9uU2FuaXRpemVyO1xuICAvKipcbiAgICogRnVuY3Rpb24gd2hpY2ggdGFrZXMgYHN0YXRlYCBvYmplY3QgYW5kIGluZGV4IGFzIGFyZ3VtZW50cywgYW5kIHNob3VsZCByZXR1cm4gYHN0YXRlYCBvYmplY3QgYmFjay5cbiAgICovXG4gIHN0YXRlU2FuaXRpemVyPzogU3RhdGVTYW5pdGl6ZXI7XG4gIC8qKlxuICAgKiBUaGUgaW5zdGFuY2UgbmFtZSB0byBiZSBzaG93biBvbiB0aGUgbW9uaXRvciBwYWdlIChkZWZhdWx0OiBgZG9jdW1lbnQudGl0bGVgKVxuICAgKi9cbiAgbmFtZT86IHN0cmluZztcbiAgc2VyaWFsaXplPzogYm9vbGVhbiB8IFNlcmlhbGl6YXRpb25PcHRpb25zO1xuICBsb2dPbmx5PzogYm9vbGVhbjtcbiAgZmVhdHVyZXM/OiBEZXZUb29sc0ZlYXR1cmVPcHRpb25zO1xuICAvKipcbiAgICogQWN0aW9uIHR5cGVzIHRvIGJlIGhpZGRlbiBpbiB0aGUgbW9uaXRvcnMuIElmIGBhY3Rpb25zU2FmZWxpc3RgIHNwZWNpZmllZCwgYGFjdGlvbnNCbG9ja2xpc3RgIGlzIGlnbm9yZWQuXG4gICAqL1xuICBhY3Rpb25zQmxvY2tsaXN0Pzogc3RyaW5nW107XG4gIC8qKlxuICAgKiBBY3Rpb24gdHlwZXMgdG8gYmUgc2hvd24gaW4gdGhlIG1vbml0b3JzXG4gICAqL1xuICBhY3Rpb25zU2FmZWxpc3Q/OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIENhbGxlZCBmb3IgZXZlcnkgYWN0aW9uIGJlZm9yZSBzZW5kaW5nLCB0YWtlcyBzdGF0ZSBhbmQgYWN0aW9uIG9iamVjdCwgYW5kIHJldHVybnMgdHJ1ZSBpbiBjYXNlIGl0IGFsbG93cyBzZW5kaW5nIHRoZSBjdXJyZW50IGRhdGEgdG8gdGhlIG1vbml0b3IuXG4gICAqL1xuICBwcmVkaWNhdGU/OiBQcmVkaWNhdGU7XG4gIC8qKlxuICAgKiBBdXRvIHBhdXNlcyB3aGVuIHRoZSBleHRlbnNpb27igJlzIHdpbmRvdyBpcyBub3Qgb3BlbmVkLCBhbmQgc28gaGFzIHplcm8gaW1wYWN0IG9uIHlvdXIgYXBwIHdoZW4gbm90IGluIHVzZS5cbiAgICovXG4gIGF1dG9QYXVzZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBTVE9SRV9ERVZUT09MU19DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48U3RvcmVEZXZ0b29sc0NvbmZpZz4oXG4gICdAbmdyeC9zdG9yZS1kZXZ0b29scyBPcHRpb25zJ1xuKTtcblxuLyoqXG4gKiBVc2VkIHRvIHByb3ZpZGUgYSBgU3RvcmVEZXZ0b29sc0NvbmZpZ2AgZm9yIHRoZSBzdG9yZS1kZXZ0b29scy5cbiAqL1xuZXhwb3J0IGNvbnN0IElOSVRJQUxfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxTdG9yZURldnRvb2xzQ29uZmlnPihcbiAgJ0BuZ3J4L3N0b3JlLWRldnRvb2xzIEluaXRpYWwgQ29uZmlnJ1xuKTtcblxuZXhwb3J0IHR5cGUgU3RvcmVEZXZ0b29sc09wdGlvbnMgPVxuICB8IFBhcnRpYWw8U3RvcmVEZXZ0b29sc0NvbmZpZz5cbiAgfCAoKCkgPT4gUGFydGlhbDxTdG9yZURldnRvb2xzQ29uZmlnPik7XG5cbmV4cG9ydCBmdW5jdGlvbiBub01vbml0b3IoKTogbnVsbCB7XG4gIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgY29uc3QgREVGQVVMVF9OQU1FID0gJ05nUnggU3RvcmUgRGV2VG9vbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQ29uZmlnKFxuICBvcHRpb25zSW5wdXQ6IFN0b3JlRGV2dG9vbHNPcHRpb25zXG4pOiBTdG9yZURldnRvb2xzQ29uZmlnIHtcbiAgY29uc3QgREVGQVVMVF9PUFRJT05TOiBTdG9yZURldnRvb2xzQ29uZmlnID0ge1xuICAgIG1heEFnZTogZmFsc2UsXG4gICAgbW9uaXRvcjogbm9Nb25pdG9yLFxuICAgIGFjdGlvblNhbml0aXplcjogdW5kZWZpbmVkLFxuICAgIHN0YXRlU2FuaXRpemVyOiB1bmRlZmluZWQsXG4gICAgbmFtZTogREVGQVVMVF9OQU1FLFxuICAgIHNlcmlhbGl6ZTogZmFsc2UsXG4gICAgbG9nT25seTogZmFsc2UsXG4gICAgYXV0b1BhdXNlOiBmYWxzZSxcbiAgICAvLyBBZGQgYWxsIGZlYXR1cmVzIGV4cGxpY2l0bHkuIFRoaXMgcHJldmVudCBidWdneSBiZWhhdmlvciBmb3JcbiAgICAvLyBvcHRpb25zIGxpa2UgXCJsb2NrXCIgd2hpY2ggbWlnaHQgb3RoZXJ3aXNlIG5vdCBzaG93IHVwLlxuICAgIGZlYXR1cmVzOiB7XG4gICAgICBwYXVzZTogdHJ1ZSwgLy8gU3RhcnQvcGF1c2UgcmVjb3JkaW5nIG9mIGRpc3BhdGNoZWQgYWN0aW9uc1xuICAgICAgbG9jazogdHJ1ZSwgLy8gTG9jay91bmxvY2sgZGlzcGF0Y2hpbmcgYWN0aW9ucyBhbmQgc2lkZSBlZmZlY3RzXG4gICAgICBwZXJzaXN0OiB0cnVlLCAvLyBQZXJzaXN0IHN0YXRlcyBvbiBwYWdlIHJlbG9hZGluZ1xuICAgICAgZXhwb3J0OiB0cnVlLCAvLyBFeHBvcnQgaGlzdG9yeSBvZiBhY3Rpb25zIGluIGEgZmlsZVxuICAgICAgaW1wb3J0OiAnY3VzdG9tJywgLy8gSW1wb3J0IGhpc3Rvcnkgb2YgYWN0aW9ucyBmcm9tIGEgZmlsZVxuICAgICAganVtcDogdHJ1ZSwgLy8gSnVtcCBiYWNrIGFuZCBmb3J0aCAodGltZSB0cmF2ZWxsaW5nKVxuICAgICAgc2tpcDogdHJ1ZSwgLy8gU2tpcCAoY2FuY2VsKSBhY3Rpb25zXG4gICAgICByZW9yZGVyOiB0cnVlLCAvLyBEcmFnIGFuZCBkcm9wIGFjdGlvbnMgaW4gdGhlIGhpc3RvcnkgbGlzdFxuICAgICAgZGlzcGF0Y2g6IHRydWUsIC8vIERpc3BhdGNoIGN1c3RvbSBhY3Rpb25zIG9yIGFjdGlvbiBjcmVhdG9yc1xuICAgICAgdGVzdDogdHJ1ZSwgLy8gR2VuZXJhdGUgdGVzdHMgZm9yIHRoZSBzZWxlY3RlZCBhY3Rpb25zXG4gICAgfSxcbiAgfTtcblxuICBjb25zdCBvcHRpb25zID1cbiAgICB0eXBlb2Ygb3B0aW9uc0lucHV0ID09PSAnZnVuY3Rpb24nID8gb3B0aW9uc0lucHV0KCkgOiBvcHRpb25zSW5wdXQ7XG4gIGNvbnN0IGxvZ09ubHkgPSBvcHRpb25zLmxvZ09ubHlcbiAgICA/IHsgcGF1c2U6IHRydWUsIGV4cG9ydDogdHJ1ZSwgdGVzdDogdHJ1ZSB9XG4gICAgOiBmYWxzZTtcbiAgY29uc3QgZmVhdHVyZXMgPSBvcHRpb25zLmZlYXR1cmVzIHx8IGxvZ09ubHkgfHwgREVGQVVMVF9PUFRJT05TLmZlYXR1cmVzO1xuICBjb25zdCBjb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX09QVElPTlMsIHsgZmVhdHVyZXMgfSwgb3B0aW9ucyk7XG5cbiAgaWYgKGNvbmZpZy5tYXhBZ2UgJiYgY29uZmlnLm1heEFnZSA8IDIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgRGV2dG9vbHMgJ21heEFnZScgY2Fubm90IGJlIGxlc3MgdGhhbiAyLCBnb3QgJHtjb25maWcubWF4QWdlfWBcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIGNvbmZpZztcbn1cbiJdfQ==
\No newline at end of file