UNPKG

8.13 kBJavaScriptView Raw
1import { InjectionToken } from '@angular/core';
2export class StoreDevtoolsConfig {
3 constructor() {
4 this.maxAge = false;
5 }
6}
7export const STORE_DEVTOOLS_CONFIG = new InjectionToken('@ngrx/store-devtools Options');
8export const INITIAL_OPTIONS = new InjectionToken('@ngrx/store-devtools Initial Config');
9export function noMonitor() {
10 return null;
11}
12export const DEFAULT_NAME = 'NgRx Store DevTools';
13export function createConfig(optionsInput) {
14 const DEFAULT_OPTIONS = {
15 maxAge: false,
16 monitor: noMonitor,
17 actionSanitizer: undefined,
18 stateSanitizer: undefined,
19 name: DEFAULT_NAME,
20 serialize: false,
21 logOnly: false,
22 // Add all features explicitly. This prevent buggy behavior for
23 // options like "lock" which might otherwise not show up.
24 features: {
25 pause: true,
26 lock: true,
27 persist: true,
28 export: true,
29 import: 'custom',
30 jump: true,
31 skip: true,
32 reorder: true,
33 dispatch: true,
34 test: true, // generate tests for the selected actions
35 },
36 };
37 const options = typeof optionsInput === 'function' ? optionsInput() : optionsInput;
38 const logOnly = options.logOnly
39 ? { pause: true, export: true, test: true }
40 : false;
41 const features = options.features || logOnly || DEFAULT_OPTIONS.features;
42 const config = Object.assign({}, DEFAULT_OPTIONS, { features }, options);
43 if (config.maxAge && config.maxAge < 2) {
44 throw new Error(`Devtools 'maxAge' cannot be less than 2, got ${config.maxAge}`);
45 }
46 return config;
47}
48//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9zdG9yZS1kZXZ0b29scy9zcmMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUF5Qi9DLE1BQU0sT0FBTyxtQkFBbUI7SUFBaEM7UUFDRSxXQUFNLEdBQW1CLEtBQUssQ0FBQztJQVdqQyxDQUFDO0NBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLGNBQWMsQ0FDckQsOEJBQThCLENBQy9CLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsSUFBSSxjQUFjLENBQy9DLHFDQUFxQyxDQUN0QyxDQUFDO0FBTUYsTUFBTSxVQUFVLFNBQVM7SUFDdkIsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLHFCQUFxQixDQUFDO0FBRWxELE1BQU0sVUFBVSxZQUFZLENBQzFCLFlBQWtDO0lBRWxDLE1BQU0sZUFBZSxHQUF3QjtRQUMzQyxNQUFNLEVBQUUsS0FBSztRQUNiLE9BQU8sRUFBRSxTQUFTO1FBQ2xCLGVBQWUsRUFBRSxTQUFTO1FBQzFCLGNBQWMsRUFBRSxTQUFTO1FBQ3pCLElBQUksRUFBRSxZQUFZO1FBQ2xCLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLE9BQU8sRUFBRSxLQUFLO1FBQ2QsK0RBQStEO1FBQy9ELHlEQUF5RDtRQUN6RCxRQUFRLEVBQUU7WUFDUixLQUFLLEVBQUUsSUFBSTtZQUNYLElBQUksRUFBRSxJQUFJO1lBQ1YsT0FBTyxFQUFFLElBQUk7WUFDYixNQUFNLEVBQUUsSUFBSTtZQUNaLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLElBQUksRUFBRSxJQUFJO1lBQ1YsSUFBSSxFQUFFLElBQUk7WUFDVixPQUFPLEVBQUUsSUFBSTtZQUNiLFFBQVEsRUFBRSxJQUFJO1lBQ2QsSUFBSSxFQUFFLElBQUksRUFBRSwwQ0FBMEM7U0FDdkQ7S0FDRixDQUFDO0lBRUYsTUFBTSxPQUFPLEdBQ1gsT0FBTyxZQUFZLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO0lBQ3JFLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPO1FBQzdCLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO1FBQzNDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDVixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxJQUFJLE9BQU8sSUFBSSxlQUFlLENBQUMsUUFBUSxDQUFDO0lBQ3pFLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLGVBQWUsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRXpFLElBQUksTUFBTSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUN0QyxNQUFNLElBQUksS0FBSyxDQUNiLGdEQUFnRCxNQUFNLENBQUMsTUFBTSxFQUFFLENBQ2hFLENBQUM7S0FDSDtJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb25SZWR1Y2VyLCBBY3Rpb24gfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBBY3Rpb25TYW5pdGl6ZXIgPSAoYWN0aW9uOiBBY3Rpb24sIGlkOiBudW1iZXIpID0+IEFjdGlvbjtcbmV4cG9ydCB0eXBlIFN0YXRlU2FuaXRpemVyID0gKHN0YXRlOiBhbnksIGluZGV4OiBudW1iZXIpID0+IGFueTtcbmV4cG9ydCB0eXBlIFNlcmlhbGl6YXRpb25PcHRpb25zID0ge1xuICBvcHRpb25zPzogYm9vbGVhbiB8IGFueTtcbiAgcmVwbGFjZXI/OiAoa2V5OiBhbnksIHZhbHVlOiBhbnkpID0+IHt9O1xuICByZXZpdmVyPzogKGtleTogYW55LCB2YWx1ZTogYW55KSA9PiB7fTtcbiAgaW1tdXRhYmxlPzogYW55O1xuICByZWZzPzogQXJyYXk8YW55Pjtcbn07XG5leHBvcnQgdHlwZSBQcmVkaWNhdGUgPSAoc3RhdGU6IGFueSwgYWN0aW9uOiBBY3Rpb24pID0+IGJvb2xlYW47XG5leHBvcnQgaW50ZXJmYWNlIERldlRvb2xzRmVhdHVyZU9wdGlvbnMge1xuICBwYXVzZT86IGJvb2xlYW47XG4gIGxvY2s/OiBib29sZWFuO1xuICBwZXJzaXN0PzogYm9vbGVhbjtcbiAgZXhwb3J0PzogYm9vbGVhbjtcbiAgaW1wb3J0PzogJ2N1c3RvbScgfCBib29sZWFuO1xuICBqdW1wPzogYm9vbGVhbjtcbiAgc2tpcD86IGJvb2xlYW47XG4gIHJlb3JkZXI/OiBib29sZWFuO1xuICBkaXNwYXRjaD86IGJvb2xlYW47XG4gIHRlc3Q/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgU3RvcmVEZXZ0b29sc0NvbmZpZyB7XG4gIG1heEFnZTogbnVtYmVyIHwgZmFsc2UgPSBmYWxzZTtcbiAgbW9uaXRvcj86IEFjdGlvblJlZHVjZXI8YW55LCBhbnk+O1xuICBhY3Rpb25TYW5pdGl6ZXI/OiBBY3Rpb25TYW5pdGl6ZXI7XG4gIHN0YXRlU2FuaXRpemVyPzogU3RhdGVTYW5pdGl6ZXI7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHNlcmlhbGl6ZT86IGJvb2xlYW4gfCBTZXJpYWxpemF0aW9uT3B0aW9ucztcbiAgbG9nT25seT86IGJvb2xlYW47XG4gIGZlYXR1cmVzPzogRGV2VG9vbHNGZWF0dXJlT3B0aW9ucztcbiAgYWN0aW9uc0Jsb2NrbGlzdD86IHN0cmluZ1tdO1xuICBhY3Rpb25zU2FmZWxpc3Q/OiBzdHJpbmdbXTtcbiAgcHJlZGljYXRlPzogUHJlZGljYXRlO1xufVxuXG5leHBvcnQgY29uc3QgU1RPUkVfREVWVE9PTFNfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPFN0b3JlRGV2dG9vbHNDb25maWc+KFxuICAnQG5ncngvc3RvcmUtZGV2dG9vbHMgT3B0aW9ucydcbik7XG5leHBvcnQgY29uc3QgSU5JVElBTF9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPFN0b3JlRGV2dG9vbHNDb25maWc+KFxuICAnQG5ncngvc3RvcmUtZGV2dG9vbHMgSW5pdGlhbCBDb25maWcnXG4pO1xuXG5leHBvcnQgdHlwZSBTdG9yZURldnRvb2xzT3B0aW9ucyA9XG4gIHwgUGFydGlhbDxTdG9yZURldnRvb2xzQ29uZmlnPlxuICB8ICgoKSA9PiBQYXJ0aWFsPFN0b3JlRGV2dG9vbHNDb25maWc+KTtcblxuZXhwb3J0IGZ1bmN0aW9uIG5vTW9uaXRvcigpOiBudWxsIHtcbiAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX05BTUUgPSAnTmdSeCBTdG9yZSBEZXZUb29scyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDb25maWcoXG4gIG9wdGlvbnNJbnB1dDogU3RvcmVEZXZ0b29sc09wdGlvbnNcbik6IFN0b3JlRGV2dG9vbHNDb25maWcge1xuICBjb25zdCBERUZBVUxUX09QVElPTlM6IFN0b3JlRGV2dG9vbHNDb25maWcgPSB7XG4gICAgbWF4QWdlOiBmYWxzZSxcbiAgICBtb25pdG9yOiBub01vbml0b3IsXG4gICAgYWN0aW9uU2FuaXRpemVyOiB1bmRlZmluZWQsXG4gICAgc3RhdGVTYW5pdGl6ZXI6IHVuZGVmaW5lZCxcbiAgICBuYW1lOiBERUZBVUxUX05BTUUsXG4gICAgc2VyaWFsaXplOiBmYWxzZSxcbiAgICBsb2dPbmx5OiBmYWxzZSxcbiAgICAvLyBBZGQgYWxsIGZlYXR1cmVzIGV4cGxpY2l0bHkuIFRoaXMgcHJldmVudCBidWdneSBiZWhhdmlvciBmb3JcbiAgICAvLyBvcHRpb25zIGxpa2UgXCJsb2NrXCIgd2hpY2ggbWlnaHQgb3RoZXJ3aXNlIG5vdCBzaG93IHVwLlxuICAgIGZlYXR1cmVzOiB7XG4gICAgICBwYXVzZTogdHJ1ZSwgLy8gc3RhcnQvcGF1c2UgcmVjb3JkaW5nIG9mIGRpc3BhdGNoZWQgYWN0aW9uc1xuICAgICAgbG9jazogdHJ1ZSwgLy8gbG9jay91bmxvY2sgZGlzcGF0Y2hpbmcgYWN0aW9ucyBhbmQgc2lkZSBlZmZlY3RzXG4gICAgICBwZXJzaXN0OiB0cnVlLCAvLyBwZXJzaXN0IHN0YXRlcyBvbiBwYWdlIHJlbG9hZGluZ1xuICAgICAgZXhwb3J0OiB0cnVlLCAvLyBleHBvcnQgaGlzdG9yeSBvZiBhY3Rpb25zIGluIGEgZmlsZVxuICAgICAgaW1wb3J0OiAnY3VzdG9tJywgLy8gaW1wb3J0IGhpc3Rvcnkgb2YgYWN0aW9ucyBmcm9tIGEgZmlsZVxuICAgICAganVtcDogdHJ1ZSwgLy8ganVtcCBiYWNrIGFuZCBmb3J0aCAodGltZSB0cmF2ZWxsaW5nKVxuICAgICAgc2tpcDogdHJ1ZSwgLy8gc2tpcCAoY2FuY2VsKSBhY3Rpb25zXG4gICAgICByZW9yZGVyOiB0cnVlLCAvLyBkcmFnIGFuZCBkcm9wIGFjdGlvbnMgaW4gdGhlIGhpc3RvcnkgbGlzdFxuICAgICAgZGlzcGF0Y2g6IHRydWUsIC8vIGRpc3BhdGNoIGN1c3RvbSBhY3Rpb25zIG9yIGFjdGlvbiBjcmVhdG9yc1xuICAgICAgdGVzdDogdHJ1ZSwgLy8gZ2VuZXJhdGUgdGVzdHMgZm9yIHRoZSBzZWxlY3RlZCBhY3Rpb25zXG4gICAgfSxcbiAgfTtcblxuICBjb25zdCBvcHRpb25zID1cbiAgICB0eXBlb2Ygb3B0aW9uc0lucHV0ID09PSAnZnVuY3Rpb24nID8gb3B0aW9uc0lucHV0KCkgOiBvcHRpb25zSW5wdXQ7XG4gIGNvbnN0IGxvZ09ubHkgPSBvcHRpb25zLmxvZ09ubHlcbiAgICA/IHsgcGF1c2U6IHRydWUsIGV4cG9ydDogdHJ1ZSwgdGVzdDogdHJ1ZSB9XG4gICAgOiBmYWxzZTtcbiAgY29uc3QgZmVhdHVyZXMgPSBvcHRpb25zLmZlYXR1cmVzIHx8IGxvZ09ubHkgfHwgREVGQVVMVF9PUFRJT05TLmZlYXR1cmVzO1xuICBjb25zdCBjb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX09QVElPTlMsIHsgZmVhdHVyZXMgfSwgb3B0aW9ucyk7XG5cbiAgaWYgKGNvbmZpZy5tYXhBZ2UgJiYgY29uZmlnLm1heEFnZSA8IDIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgRGV2dG9vbHMgJ21heEFnZScgY2Fubm90IGJlIGxlc3MgdGhhbiAyLCBnb3QgJHtjb25maWcubWF4QWdlfWBcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIGNvbmZpZztcbn1cbiJdfQ==
\No newline at end of file