@ngxs/logger-plugin 18.1.6 → 19.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -125,10 +125,10 @@ class NgxsLoggerPlugin {
125
125
  const allowLogging = runInInjectionContext(this._injector, () => this._options.filter(event, state));
126
126
  return !allowLogging;
127
127
  }
128
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsLoggerPlugin, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
129
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsLoggerPlugin }); }
128
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NgxsLoggerPlugin, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
129
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NgxsLoggerPlugin }); }
130
130
  }
131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsLoggerPlugin, decorators: [{
131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NgxsLoggerPlugin, decorators: [{
132
132
  type: Injectable
133
133
  }] });
134
134
 
@@ -163,11 +163,11 @@ class NgxsLoggerPluginModule {
163
163
  ]
164
164
  };
165
165
  }
166
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsLoggerPluginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
167
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: NgxsLoggerPluginModule }); }
168
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsLoggerPluginModule }); }
166
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NgxsLoggerPluginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
167
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.0", ngImport: i0, type: NgxsLoggerPluginModule }); }
168
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NgxsLoggerPluginModule }); }
169
169
  }
170
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsLoggerPluginModule, decorators: [{
170
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NgxsLoggerPluginModule, decorators: [{
171
171
  type: NgModule
172
172
  }] });
173
173
  function withNgxsLoggerPlugin(options) {
@@ -1 +1 @@
1
- {"version":3,"file":"ngxs-logger-plugin.mjs","sources":["../../../packages/logger-plugin/src/log-writer.ts","../../../packages/logger-plugin/src/internals.ts","../../../packages/logger-plugin/src/action-logger.ts","../../../packages/logger-plugin/src/symbols.ts","../../../packages/logger-plugin/src/logger.plugin.ts","../../../packages/logger-plugin/src/logger.module.ts","../../../packages/logger-plugin/index.ts","../../../packages/logger-plugin/ngxs-logger-plugin.ts"],"sourcesContent":["import { NgxsLoggerPluginOptions } from './symbols';\n\nexport class LogWriter {\n private logger: any;\n\n constructor(private options: NgxsLoggerPluginOptions) {\n this.options = this.options || <any>{};\n this.logger = options.logger || console;\n }\n\n startGroup(message: string) {\n const startGroupFn = this.options.collapsed\n ? this.logger.groupCollapsed\n : this.logger.group;\n try {\n startGroupFn.call(this.logger, message);\n } catch (e) {\n console.log(message);\n }\n }\n\n endGroup() {\n try {\n this.logger.groupEnd();\n } catch (e) {\n this.logger.log('—— log end ——');\n }\n }\n\n logGrey(title: string, payload: any) {\n const greyStyle = 'color: #9E9E9E; font-weight: bold';\n this.log(title, greyStyle, payload);\n }\n\n logGreen(title: string, payload: any) {\n const greenStyle = 'color: #4CAF50; font-weight: bold';\n this.log(title, greenStyle, payload);\n }\n\n logRedish(title: string, payload: any) {\n const redishStyle = 'color: #FD8182; font-weight: bold';\n this.log(title, redishStyle, payload);\n }\n\n log(title: string, color: string, payload: any) {\n this.logger.log('%c ' + title, color, payload);\n }\n}\n","export const repeat = (str: string, times: number) => new Array(times + 1).join(str);\n\nexport const pad = (num: number, maxLength: number) =>\n repeat('0', maxLength - num.toString().length) + num;\n\nexport function formatTime(time: Date) {\n return (\n pad(time.getHours(), 2) +\n `:` +\n pad(time.getMinutes(), 2) +\n `:` +\n pad(time.getSeconds(), 2) +\n `.` +\n pad(time.getMilliseconds(), 3)\n );\n}\n","import { Store } from '@ngxs/store';\nimport { getActionTypeFromInstance } from '@ngxs/store/plugins';\n\nimport { formatTime } from './internals';\nimport { LogWriter } from './log-writer';\n\nexport class ActionLogger {\n constructor(\n private action: any,\n private store: Store,\n private logWriter: LogWriter\n ) {}\n\n dispatched(state: any) {\n const actionName = getActionTypeFromInstance(this.action);\n const formattedTime = formatTime(new Date());\n\n const message = `action ${actionName} @ ${formattedTime}`;\n this.logWriter.startGroup(message);\n\n // print payload only if at least one property is supplied\n if (this._hasPayload(this.action)) {\n this.logWriter.logGrey('payload', { ...this.action });\n }\n\n this.logWriter.logGrey('prev state', state);\n }\n\n completed(nextState: any) {\n this.logWriter.logGreen('next state', nextState);\n this.logWriter.endGroup();\n }\n\n errored(error: any) {\n this.logWriter.logRedish('next state after error', this.store.snapshot());\n this.logWriter.logRedish('error', error);\n this.logWriter.endGroup();\n }\n\n private _hasPayload(event: any) {\n const nonEmptyProperties = this._getNonEmptyProperties(event);\n return nonEmptyProperties.length > 0;\n }\n\n private _getNonEmptyProperties(event: any) {\n const keys = Object.keys(event);\n const values = keys.map(key => event[key]);\n return values.filter(value => value !== undefined);\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface NgxsLoggerPluginOptions {\n /** Auto expand logged actions */\n collapsed?: boolean;\n\n /** Provide alternate console.log implementation */\n logger?: any;\n\n /** Disable the logger. Useful for prod mode. */\n disabled?: boolean;\n\n /** Predicate for actions to be the logged. Takes action and state snapshot as parameters */\n filter?: (action: any, state: any) => boolean;\n}\n\nexport const NGXS_LOGGER_PLUGIN_OPTIONS = new InjectionToken<NgxsLoggerPluginOptions>(\n 'NGXS_LOGGER_PLUGIN_OPTIONS'\n);\n","import { inject, Injectable, Injector, runInInjectionContext } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { NgxsNextPluginFn, NgxsPlugin } from '@ngxs/store/plugins';\nimport { catchError, tap } from 'rxjs';\n\nimport { LogWriter } from './log-writer';\nimport { ActionLogger } from './action-logger';\nimport { NGXS_LOGGER_PLUGIN_OPTIONS } from './symbols';\n\n@Injectable()\nexport class NgxsLoggerPlugin implements NgxsPlugin {\n private _store: Store;\n private _logWriter: LogWriter;\n\n private _options = inject(NGXS_LOGGER_PLUGIN_OPTIONS);\n private _injector = inject(Injector);\n\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n if (this._options.disabled || this._skipLogging(state, event)) {\n return next(state, event);\n }\n\n this._logWriter ||= new LogWriter(this._options);\n // Retrieve lazily to avoid cyclic dependency exception\n this._store ||= this._injector.get(Store);\n\n const actionLogger = new ActionLogger(event, this._store, this._logWriter);\n\n actionLogger.dispatched(state);\n\n return next(state, event).pipe(\n tap(nextState => {\n actionLogger.completed(nextState);\n }),\n catchError(error => {\n actionLogger.errored(error);\n throw error;\n })\n );\n }\n\n private _skipLogging(state: any, event: any) {\n // Run the `filter: () => ...` function within the injection context so\n // that the user can access the dependency injection and inject services\n // to retrieve properties. This will help determine whether or not to log the action.\n const allowLogging = runInInjectionContext(this._injector, () =>\n this._options.filter!(event, state)\n );\n\n return !allowLogging;\n }\n}\n","import {\n EnvironmentProviders,\n InjectionToken,\n ModuleWithProviders,\n NgModule,\n makeEnvironmentProviders\n} from '@angular/core';\nimport { withNgxsPlugin } from '@ngxs/store';\n\nimport { NgxsLoggerPlugin } from './logger.plugin';\nimport { NgxsLoggerPluginOptions, NGXS_LOGGER_PLUGIN_OPTIONS } from './symbols';\n\nexport const USER_OPTIONS = new InjectionToken('LOGGER_USER_OPTIONS');\n\nexport function loggerOptionsFactory(options: NgxsLoggerPluginOptions) {\n const defaultLoggerOptions: NgxsLoggerPluginOptions = {\n logger: console,\n collapsed: false,\n disabled: false,\n filter: () => true\n };\n\n return {\n ...defaultLoggerOptions,\n ...options\n };\n}\n\n@NgModule()\nexport class NgxsLoggerPluginModule {\n static forRoot(\n options?: NgxsLoggerPluginOptions\n ): ModuleWithProviders<NgxsLoggerPluginModule> {\n return {\n ngModule: NgxsLoggerPluginModule,\n providers: [\n withNgxsPlugin(NgxsLoggerPlugin),\n {\n provide: USER_OPTIONS,\n useValue: options\n },\n {\n provide: NGXS_LOGGER_PLUGIN_OPTIONS,\n useFactory: loggerOptionsFactory,\n deps: [USER_OPTIONS]\n }\n ]\n };\n }\n}\n\nexport function withNgxsLoggerPlugin(options?: NgxsLoggerPluginOptions): EnvironmentProviders {\n return makeEnvironmentProviders([\n withNgxsPlugin(NgxsLoggerPlugin),\n { provide: USER_OPTIONS, useValue: options },\n {\n provide: NGXS_LOGGER_PLUGIN_OPTIONS,\n useFactory: loggerOptionsFactory,\n deps: [USER_OPTIONS]\n }\n ]);\n}\n","/**\n * The public api for consumers of @ngxs/logger-plugin\n */\nexport * from './src/public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngxs-logger-plugin.mjs","sources":["../../../packages/logger-plugin/src/log-writer.ts","../../../packages/logger-plugin/src/internals.ts","../../../packages/logger-plugin/src/action-logger.ts","../../../packages/logger-plugin/src/symbols.ts","../../../packages/logger-plugin/src/logger.plugin.ts","../../../packages/logger-plugin/src/logger.module.ts","../../../packages/logger-plugin/index.ts","../../../packages/logger-plugin/ngxs-logger-plugin.ts"],"sourcesContent":["import { NgxsLoggerPluginOptions } from './symbols';\n\nexport class LogWriter {\n private logger: any;\n\n constructor(private options: NgxsLoggerPluginOptions) {\n this.options = this.options || <any>{};\n this.logger = options.logger || console;\n }\n\n startGroup(message: string) {\n const startGroupFn = this.options.collapsed\n ? this.logger.groupCollapsed\n : this.logger.group;\n try {\n startGroupFn.call(this.logger, message);\n } catch (e) {\n console.log(message);\n }\n }\n\n endGroup() {\n try {\n this.logger.groupEnd();\n } catch (e) {\n this.logger.log('—— log end ——');\n }\n }\n\n logGrey(title: string, payload: any) {\n const greyStyle = 'color: #9E9E9E; font-weight: bold';\n this.log(title, greyStyle, payload);\n }\n\n logGreen(title: string, payload: any) {\n const greenStyle = 'color: #4CAF50; font-weight: bold';\n this.log(title, greenStyle, payload);\n }\n\n logRedish(title: string, payload: any) {\n const redishStyle = 'color: #FD8182; font-weight: bold';\n this.log(title, redishStyle, payload);\n }\n\n log(title: string, color: string, payload: any) {\n this.logger.log('%c ' + title, color, payload);\n }\n}\n","export const repeat = (str: string, times: number) => new Array(times + 1).join(str);\n\nexport const pad = (num: number, maxLength: number) =>\n repeat('0', maxLength - num.toString().length) + num;\n\nexport function formatTime(time: Date) {\n return (\n pad(time.getHours(), 2) +\n `:` +\n pad(time.getMinutes(), 2) +\n `:` +\n pad(time.getSeconds(), 2) +\n `.` +\n pad(time.getMilliseconds(), 3)\n );\n}\n","import { Store } from '@ngxs/store';\nimport { getActionTypeFromInstance } from '@ngxs/store/plugins';\n\nimport { formatTime } from './internals';\nimport { LogWriter } from './log-writer';\n\nexport class ActionLogger {\n constructor(\n private action: any,\n private store: Store,\n private logWriter: LogWriter\n ) {}\n\n dispatched(state: any) {\n const actionName = getActionTypeFromInstance(this.action);\n const formattedTime = formatTime(new Date());\n\n const message = `action ${actionName} @ ${formattedTime}`;\n this.logWriter.startGroup(message);\n\n // print payload only if at least one property is supplied\n if (this._hasPayload(this.action)) {\n this.logWriter.logGrey('payload', { ...this.action });\n }\n\n this.logWriter.logGrey('prev state', state);\n }\n\n completed(nextState: any) {\n this.logWriter.logGreen('next state', nextState);\n this.logWriter.endGroup();\n }\n\n errored(error: any) {\n this.logWriter.logRedish('next state after error', this.store.snapshot());\n this.logWriter.logRedish('error', error);\n this.logWriter.endGroup();\n }\n\n private _hasPayload(event: any) {\n const nonEmptyProperties = this._getNonEmptyProperties(event);\n return nonEmptyProperties.length > 0;\n }\n\n private _getNonEmptyProperties(event: any) {\n const keys = Object.keys(event);\n const values = keys.map(key => event[key]);\n return values.filter(value => value !== undefined);\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface NgxsLoggerPluginOptions {\n /** Auto expand logged actions */\n collapsed?: boolean;\n\n /** Provide alternate console.log implementation */\n logger?: any;\n\n /** Disable the logger. Useful for prod mode. */\n disabled?: boolean;\n\n /** Predicate for actions to be the logged. Takes action and state snapshot as parameters */\n filter?: (action: any, state: any) => boolean;\n}\n\nexport const NGXS_LOGGER_PLUGIN_OPTIONS = new InjectionToken<NgxsLoggerPluginOptions>(\n 'NGXS_LOGGER_PLUGIN_OPTIONS'\n);\n","import { inject, Injectable, Injector, runInInjectionContext } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { NgxsNextPluginFn, NgxsPlugin } from '@ngxs/store/plugins';\nimport { catchError, tap } from 'rxjs';\n\nimport { LogWriter } from './log-writer';\nimport { ActionLogger } from './action-logger';\nimport { NGXS_LOGGER_PLUGIN_OPTIONS } from './symbols';\n\n@Injectable()\nexport class NgxsLoggerPlugin implements NgxsPlugin {\n private _store: Store;\n private _logWriter: LogWriter;\n\n private _options = inject(NGXS_LOGGER_PLUGIN_OPTIONS);\n private _injector = inject(Injector);\n\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n if (this._options.disabled || this._skipLogging(state, event)) {\n return next(state, event);\n }\n\n this._logWriter ||= new LogWriter(this._options);\n // Retrieve lazily to avoid cyclic dependency exception\n this._store ||= this._injector.get(Store);\n\n const actionLogger = new ActionLogger(event, this._store, this._logWriter);\n\n actionLogger.dispatched(state);\n\n return next(state, event).pipe(\n tap(nextState => {\n actionLogger.completed(nextState);\n }),\n catchError(error => {\n actionLogger.errored(error);\n throw error;\n })\n );\n }\n\n private _skipLogging(state: any, event: any) {\n // Run the `filter: () => ...` function within the injection context so\n // that the user can access the dependency injection and inject services\n // to retrieve properties. This will help determine whether or not to log the action.\n const allowLogging = runInInjectionContext(this._injector, () =>\n this._options.filter!(event, state)\n );\n\n return !allowLogging;\n }\n}\n","import {\n EnvironmentProviders,\n InjectionToken,\n ModuleWithProviders,\n NgModule,\n makeEnvironmentProviders\n} from '@angular/core';\nimport { withNgxsPlugin } from '@ngxs/store';\n\nimport { NgxsLoggerPlugin } from './logger.plugin';\nimport { NgxsLoggerPluginOptions, NGXS_LOGGER_PLUGIN_OPTIONS } from './symbols';\n\nexport const USER_OPTIONS = new InjectionToken('LOGGER_USER_OPTIONS');\n\nexport function loggerOptionsFactory(options: NgxsLoggerPluginOptions) {\n const defaultLoggerOptions: NgxsLoggerPluginOptions = {\n logger: console,\n collapsed: false,\n disabled: false,\n filter: () => true\n };\n\n return {\n ...defaultLoggerOptions,\n ...options\n };\n}\n\n@NgModule()\nexport class NgxsLoggerPluginModule {\n static forRoot(\n options?: NgxsLoggerPluginOptions\n ): ModuleWithProviders<NgxsLoggerPluginModule> {\n return {\n ngModule: NgxsLoggerPluginModule,\n providers: [\n withNgxsPlugin(NgxsLoggerPlugin),\n {\n provide: USER_OPTIONS,\n useValue: options\n },\n {\n provide: NGXS_LOGGER_PLUGIN_OPTIONS,\n useFactory: loggerOptionsFactory,\n deps: [USER_OPTIONS]\n }\n ]\n };\n }\n}\n\nexport function withNgxsLoggerPlugin(options?: NgxsLoggerPluginOptions): EnvironmentProviders {\n return makeEnvironmentProviders([\n withNgxsPlugin(NgxsLoggerPlugin),\n { provide: USER_OPTIONS, useValue: options },\n {\n provide: NGXS_LOGGER_PLUGIN_OPTIONS,\n useFactory: loggerOptionsFactory,\n deps: [USER_OPTIONS]\n }\n ]);\n}\n","/**\n * The public api for consumers of @ngxs/logger-plugin\n */\nexport * from './src/public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@ngxs/logger-plugin",
3
3
  "description": "logger plugin for @ngxs/store",
4
- "version": "18.1.6",
4
+ "version": "19.0.0",
5
5
  "sideEffects": false,
6
6
  "peerDependencies": {
7
- "@ngxs/store": "^18.1.6 || ^18.1.6-dev",
8
- "@angular/core": ">=16.0.0 <19.0.0",
7
+ "@ngxs/store": "^19.0.0 || ^19.0.0-dev",
8
+ "@angular/core": ">=19.0.0 <20.0.0",
9
9
  "rxjs": ">=6.5.5"
10
10
  },
11
11
  "module": "fesm2022/ngxs-logger-plugin.mjs",
@@ -16,8 +16,6 @@
16
16
  },
17
17
  ".": {
18
18
  "types": "./index.d.ts",
19
- "esm2022": "./esm2022/ngxs-logger-plugin.mjs",
20
- "esm": "./esm2022/ngxs-logger-plugin.mjs",
21
19
  "default": "./fesm2022/ngxs-logger-plugin.mjs"
22
20
  }
23
21
  },
package/esm2022/index.mjs DELETED
@@ -1,5 +0,0 @@
1
- /**
2
- * The public api for consumers of @ngxs/logger-plugin
3
- */
4
- export * from './src/public_api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9sb2dnZXItcGx1Z2luL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhlIHB1YmxpYyBhcGkgZm9yIGNvbnN1bWVycyBvZiBAbmd4cy9sb2dnZXItcGx1Z2luXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vc3JjL3B1YmxpY19hcGknO1xuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4cy1sb2dnZXItcGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvbG9nZ2VyLXBsdWdpbi9uZ3hzLWxvZ2dlci1wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -1,39 +0,0 @@
1
- import { getActionTypeFromInstance } from '@ngxs/store/plugins';
2
- import { formatTime } from './internals';
3
- export class ActionLogger {
4
- constructor(action, store, logWriter) {
5
- this.action = action;
6
- this.store = store;
7
- this.logWriter = logWriter;
8
- }
9
- dispatched(state) {
10
- const actionName = getActionTypeFromInstance(this.action);
11
- const formattedTime = formatTime(new Date());
12
- const message = `action ${actionName} @ ${formattedTime}`;
13
- this.logWriter.startGroup(message);
14
- // print payload only if at least one property is supplied
15
- if (this._hasPayload(this.action)) {
16
- this.logWriter.logGrey('payload', { ...this.action });
17
- }
18
- this.logWriter.logGrey('prev state', state);
19
- }
20
- completed(nextState) {
21
- this.logWriter.logGreen('next state', nextState);
22
- this.logWriter.endGroup();
23
- }
24
- errored(error) {
25
- this.logWriter.logRedish('next state after error', this.store.snapshot());
26
- this.logWriter.logRedish('error', error);
27
- this.logWriter.endGroup();
28
- }
29
- _hasPayload(event) {
30
- const nonEmptyProperties = this._getNonEmptyProperties(event);
31
- return nonEmptyProperties.length > 0;
32
- }
33
- _getNonEmptyProperties(event) {
34
- const keys = Object.keys(event);
35
- const values = keys.map(key => event[key]);
36
- return values.filter(value => value !== undefined);
37
- }
38
- }
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWxvZ2dlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2xvZ2dlci1wbHVnaW4vc3JjL2FjdGlvbi1sb2dnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUd6QyxNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUNVLE1BQVcsRUFDWCxLQUFZLEVBQ1osU0FBb0I7UUFGcEIsV0FBTSxHQUFOLE1BQU0sQ0FBSztRQUNYLFVBQUssR0FBTCxLQUFLLENBQU87UUFDWixjQUFTLEdBQVQsU0FBUyxDQUFXO0lBQzNCLENBQUM7SUFFSixVQUFVLENBQUMsS0FBVTtRQUNuQixNQUFNLFVBQVUsR0FBRyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUQsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztRQUU3QyxNQUFNLE9BQU8sR0FBRyxVQUFVLFVBQVUsTUFBTSxhQUFhLEVBQUUsQ0FBQztRQUMxRCxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVuQywwREFBMEQ7UUFDMUQsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUVELElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsU0FBUyxDQUFDLFNBQWM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFVO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLHdCQUF3QixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQVU7UUFDNUIsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUQsT0FBTyxrQkFBa0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxLQUFVO1FBQ3ZDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzNDLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQztJQUNyRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IGdldEFjdGlvblR5cGVGcm9tSW5zdGFuY2UgfSBmcm9tICdAbmd4cy9zdG9yZS9wbHVnaW5zJztcblxuaW1wb3J0IHsgZm9ybWF0VGltZSB9IGZyb20gJy4vaW50ZXJuYWxzJztcbmltcG9ydCB7IExvZ1dyaXRlciB9IGZyb20gJy4vbG9nLXdyaXRlcic7XG5cbmV4cG9ydCBjbGFzcyBBY3Rpb25Mb2dnZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFjdGlvbjogYW55LFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlLFxuICAgIHByaXZhdGUgbG9nV3JpdGVyOiBMb2dXcml0ZXJcbiAgKSB7fVxuXG4gIGRpc3BhdGNoZWQoc3RhdGU6IGFueSkge1xuICAgIGNvbnN0IGFjdGlvbk5hbWUgPSBnZXRBY3Rpb25UeXBlRnJvbUluc3RhbmNlKHRoaXMuYWN0aW9uKTtcbiAgICBjb25zdCBmb3JtYXR0ZWRUaW1lID0gZm9ybWF0VGltZShuZXcgRGF0ZSgpKTtcblxuICAgIGNvbnN0IG1lc3NhZ2UgPSBgYWN0aW9uICR7YWN0aW9uTmFtZX0gQCAke2Zvcm1hdHRlZFRpbWV9YDtcbiAgICB0aGlzLmxvZ1dyaXRlci5zdGFydEdyb3VwKG1lc3NhZ2UpO1xuXG4gICAgLy8gcHJpbnQgcGF5bG9hZCBvbmx5IGlmIGF0IGxlYXN0IG9uZSBwcm9wZXJ0eSBpcyBzdXBwbGllZFxuICAgIGlmICh0aGlzLl9oYXNQYXlsb2FkKHRoaXMuYWN0aW9uKSkge1xuICAgICAgdGhpcy5sb2dXcml0ZXIubG9nR3JleSgncGF5bG9hZCcsIHsgLi4udGhpcy5hY3Rpb24gfSk7XG4gICAgfVxuXG4gICAgdGhpcy5sb2dXcml0ZXIubG9nR3JleSgncHJldiBzdGF0ZScsIHN0YXRlKTtcbiAgfVxuXG4gIGNvbXBsZXRlZChuZXh0U3RhdGU6IGFueSkge1xuICAgIHRoaXMubG9nV3JpdGVyLmxvZ0dyZWVuKCduZXh0IHN0YXRlJywgbmV4dFN0YXRlKTtcbiAgICB0aGlzLmxvZ1dyaXRlci5lbmRHcm91cCgpO1xuICB9XG5cbiAgZXJyb3JlZChlcnJvcjogYW55KSB7XG4gICAgdGhpcy5sb2dXcml0ZXIubG9nUmVkaXNoKCduZXh0IHN0YXRlIGFmdGVyIGVycm9yJywgdGhpcy5zdG9yZS5zbmFwc2hvdCgpKTtcbiAgICB0aGlzLmxvZ1dyaXRlci5sb2dSZWRpc2goJ2Vycm9yJywgZXJyb3IpO1xuICAgIHRoaXMubG9nV3JpdGVyLmVuZEdyb3VwKCk7XG4gIH1cblxuICBwcml2YXRlIF9oYXNQYXlsb2FkKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBub25FbXB0eVByb3BlcnRpZXMgPSB0aGlzLl9nZXROb25FbXB0eVByb3BlcnRpZXMoZXZlbnQpO1xuICAgIHJldHVybiBub25FbXB0eVByb3BlcnRpZXMubGVuZ3RoID4gMDtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE5vbkVtcHR5UHJvcGVydGllcyhldmVudDogYW55KSB7XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGV2ZW50KTtcbiAgICBjb25zdCB2YWx1ZXMgPSBrZXlzLm1hcChrZXkgPT4gZXZlbnRba2V5XSk7XG4gICAgcmV0dXJuIHZhbHVlcy5maWx0ZXIodmFsdWUgPT4gdmFsdWUgIT09IHVuZGVmaW5lZCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,12 +0,0 @@
1
- export const repeat = (str, times) => new Array(times + 1).join(str);
2
- export const pad = (num, maxLength) => repeat('0', maxLength - num.toString().length) + num;
3
- export function formatTime(time) {
4
- return (pad(time.getHours(), 2) +
5
- `:` +
6
- pad(time.getMinutes(), 2) +
7
- `:` +
8
- pad(time.getSeconds(), 2) +
9
- `.` +
10
- pad(time.getMilliseconds(), 3));
11
- }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbG9nZ2VyLXBsdWdpbi9zcmMvaW50ZXJuYWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQVcsRUFBRSxLQUFhLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFFckYsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBVyxFQUFFLFNBQWlCLEVBQUUsRUFBRSxDQUNwRCxNQUFNLENBQUMsR0FBRyxFQUFFLFNBQVMsR0FBRyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDO0FBRXZELE1BQU0sVUFBVSxVQUFVLENBQUMsSUFBVTtJQUNuQyxPQUFPLENBQ0wsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkIsR0FBRztRQUNILEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3pCLEdBQUc7UUFDSCxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN6QixHQUFHO1FBQ0gsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FDL0IsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgcmVwZWF0ID0gKHN0cjogc3RyaW5nLCB0aW1lczogbnVtYmVyKSA9PiBuZXcgQXJyYXkodGltZXMgKyAxKS5qb2luKHN0cik7XG5cbmV4cG9ydCBjb25zdCBwYWQgPSAobnVtOiBudW1iZXIsIG1heExlbmd0aDogbnVtYmVyKSA9PlxuICByZXBlYXQoJzAnLCBtYXhMZW5ndGggLSBudW0udG9TdHJpbmcoKS5sZW5ndGgpICsgbnVtO1xuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0VGltZSh0aW1lOiBEYXRlKSB7XG4gIHJldHVybiAoXG4gICAgcGFkKHRpbWUuZ2V0SG91cnMoKSwgMikgK1xuICAgIGA6YCArXG4gICAgcGFkKHRpbWUuZ2V0TWludXRlcygpLCAyKSArXG4gICAgYDpgICtcbiAgICBwYWQodGltZS5nZXRTZWNvbmRzKCksIDIpICtcbiAgICBgLmAgK1xuICAgIHBhZCh0aW1lLmdldE1pbGxpc2Vjb25kcygpLCAzKVxuICApO1xufVxuIl19
@@ -1,42 +0,0 @@
1
- export class LogWriter {
2
- constructor(options) {
3
- this.options = options;
4
- this.options = this.options || {};
5
- this.logger = options.logger || console;
6
- }
7
- startGroup(message) {
8
- const startGroupFn = this.options.collapsed
9
- ? this.logger.groupCollapsed
10
- : this.logger.group;
11
- try {
12
- startGroupFn.call(this.logger, message);
13
- }
14
- catch (e) {
15
- console.log(message);
16
- }
17
- }
18
- endGroup() {
19
- try {
20
- this.logger.groupEnd();
21
- }
22
- catch (e) {
23
- this.logger.log('—— log end ——');
24
- }
25
- }
26
- logGrey(title, payload) {
27
- const greyStyle = 'color: #9E9E9E; font-weight: bold';
28
- this.log(title, greyStyle, payload);
29
- }
30
- logGreen(title, payload) {
31
- const greenStyle = 'color: #4CAF50; font-weight: bold';
32
- this.log(title, greenStyle, payload);
33
- }
34
- logRedish(title, payload) {
35
- const redishStyle = 'color: #FD8182; font-weight: bold';
36
- this.log(title, redishStyle, payload);
37
- }
38
- log(title, color, payload) {
39
- this.logger.log('%c ' + title, color, payload);
40
- }
41
- }
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLXdyaXRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2xvZ2dlci1wbHVnaW4vc3JjL2xvZy13cml0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLFNBQVM7SUFHcEIsWUFBb0IsT0FBZ0M7UUFBaEMsWUFBTyxHQUFQLE9BQU8sQ0FBeUI7UUFDbEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFTLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDO0lBQzFDLENBQUM7SUFFRCxVQUFVLENBQUMsT0FBZTtRQUN4QixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVM7WUFDekMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYztZQUM1QixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDO1lBQ0gsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUM7WUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pCLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDbkMsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLENBQUMsS0FBYSxFQUFFLE9BQVk7UUFDakMsTUFBTSxTQUFTLEdBQUcsbUNBQW1DLENBQUM7UUFDdEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBYSxFQUFFLE9BQVk7UUFDbEMsTUFBTSxVQUFVLEdBQUcsbUNBQW1DLENBQUM7UUFDdkQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYSxFQUFFLE9BQVk7UUFDbkMsTUFBTSxXQUFXLEdBQUcsbUNBQW1DLENBQUM7UUFDeEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxHQUFHLENBQUMsS0FBYSxFQUFFLEtBQWEsRUFBRSxPQUFZO1FBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2pELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5neHNMb2dnZXJQbHVnaW5PcHRpb25zIH0gZnJvbSAnLi9zeW1ib2xzJztcblxuZXhwb3J0IGNsYXNzIExvZ1dyaXRlciB7XG4gIHByaXZhdGUgbG9nZ2VyOiBhbnk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBvcHRpb25zOiBOZ3hzTG9nZ2VyUGx1Z2luT3B0aW9ucykge1xuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMub3B0aW9ucyB8fCA8YW55Pnt9O1xuICAgIHRoaXMubG9nZ2VyID0gb3B0aW9ucy5sb2dnZXIgfHwgY29uc29sZTtcbiAgfVxuXG4gIHN0YXJ0R3JvdXAobWVzc2FnZTogc3RyaW5nKSB7XG4gICAgY29uc3Qgc3RhcnRHcm91cEZuID0gdGhpcy5vcHRpb25zLmNvbGxhcHNlZFxuICAgICAgPyB0aGlzLmxvZ2dlci5ncm91cENvbGxhcHNlZFxuICAgICAgOiB0aGlzLmxvZ2dlci5ncm91cDtcbiAgICB0cnkge1xuICAgICAgc3RhcnRHcm91cEZuLmNhbGwodGhpcy5sb2dnZXIsIG1lc3NhZ2UpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUubG9nKG1lc3NhZ2UpO1xuICAgIH1cbiAgfVxuXG4gIGVuZEdyb3VwKCkge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLmxvZ2dlci5ncm91cEVuZCgpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmxvZygn4oCU4oCUIGxvZyBlbmQg4oCU4oCUJyk7XG4gICAgfVxuICB9XG5cbiAgbG9nR3JleSh0aXRsZTogc3RyaW5nLCBwYXlsb2FkOiBhbnkpIHtcbiAgICBjb25zdCBncmV5U3R5bGUgPSAnY29sb3I6ICM5RTlFOUU7IGZvbnQtd2VpZ2h0OiBib2xkJztcbiAgICB0aGlzLmxvZyh0aXRsZSwgZ3JleVN0eWxlLCBwYXlsb2FkKTtcbiAgfVxuXG4gIGxvZ0dyZWVuKHRpdGxlOiBzdHJpbmcsIHBheWxvYWQ6IGFueSkge1xuICAgIGNvbnN0IGdyZWVuU3R5bGUgPSAnY29sb3I6ICM0Q0FGNTA7IGZvbnQtd2VpZ2h0OiBib2xkJztcbiAgICB0aGlzLmxvZyh0aXRsZSwgZ3JlZW5TdHlsZSwgcGF5bG9hZCk7XG4gIH1cblxuICBsb2dSZWRpc2godGl0bGU6IHN0cmluZywgcGF5bG9hZDogYW55KSB7XG4gICAgY29uc3QgcmVkaXNoU3R5bGUgPSAnY29sb3I6ICNGRDgxODI7IGZvbnQtd2VpZ2h0OiBib2xkJztcbiAgICB0aGlzLmxvZyh0aXRsZSwgcmVkaXNoU3R5bGUsIHBheWxvYWQpO1xuICB9XG5cbiAgbG9nKHRpdGxlOiBzdHJpbmcsIGNvbG9yOiBzdHJpbmcsIHBheWxvYWQ6IGFueSkge1xuICAgIHRoaXMubG9nZ2VyLmxvZygnJWMgJyArIHRpdGxlLCBjb2xvciwgcGF5bG9hZCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,55 +0,0 @@
1
- import { InjectionToken, NgModule, makeEnvironmentProviders } from '@angular/core';
2
- import { withNgxsPlugin } from '@ngxs/store';
3
- import { NgxsLoggerPlugin } from './logger.plugin';
4
- import { NGXS_LOGGER_PLUGIN_OPTIONS } from './symbols';
5
- import * as i0 from "@angular/core";
6
- export const USER_OPTIONS = new InjectionToken('LOGGER_USER_OPTIONS');
7
- export function loggerOptionsFactory(options) {
8
- const defaultLoggerOptions = {
9
- logger: console,
10
- collapsed: false,
11
- disabled: false,
12
- filter: () => true
13
- };
14
- return {
15
- ...defaultLoggerOptions,
16
- ...options
17
- };
18
- }
19
- export class NgxsLoggerPluginModule {
20
- static forRoot(options) {
21
- return {
22
- ngModule: NgxsLoggerPluginModule,
23
- providers: [
24
- withNgxsPlugin(NgxsLoggerPlugin),
25
- {
26
- provide: USER_OPTIONS,
27
- useValue: options
28
- },
29
- {
30
- provide: NGXS_LOGGER_PLUGIN_OPTIONS,
31
- useFactory: loggerOptionsFactory,
32
- deps: [USER_OPTIONS]
33
- }
34
- ]
35
- };
36
- }
37
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsLoggerPluginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
38
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: NgxsLoggerPluginModule }); }
39
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsLoggerPluginModule }); }
40
- }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsLoggerPluginModule, decorators: [{
42
- type: NgModule
43
- }] });
44
- export function withNgxsLoggerPlugin(options) {
45
- return makeEnvironmentProviders([
46
- withNgxsPlugin(NgxsLoggerPlugin),
47
- { provide: USER_OPTIONS, useValue: options },
48
- {
49
- provide: NGXS_LOGGER_PLUGIN_OPTIONS,
50
- useFactory: loggerOptionsFactory,
51
- deps: [USER_OPTIONS]
52
- }
53
- ]);
54
- }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2xvZ2dlci1wbHVnaW4vc3JjL2xvZ2dlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGNBQWMsRUFFZCxRQUFRLEVBQ1Isd0JBQXdCLEVBQ3pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUEyQiwwQkFBMEIsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFFaEYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFFdEUsTUFBTSxVQUFVLG9CQUFvQixDQUFDLE9BQWdDO0lBQ25FLE1BQU0sb0JBQW9CLEdBQTRCO1FBQ3BELE1BQU0sRUFBRSxPQUFPO1FBQ2YsU0FBUyxFQUFFLEtBQUs7UUFDaEIsUUFBUSxFQUFFLEtBQUs7UUFDZixNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSTtLQUNuQixDQUFDO0lBRUYsT0FBTztRQUNMLEdBQUcsb0JBQW9CO1FBQ3ZCLEdBQUcsT0FBTztLQUNYLENBQUM7QUFDSixDQUFDO0FBR0QsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxNQUFNLENBQUMsT0FBTyxDQUNaLE9BQWlDO1FBRWpDLE9BQU87WUFDTCxRQUFRLEVBQUUsc0JBQXNCO1lBQ2hDLFNBQVMsRUFBRTtnQkFDVCxjQUFjLENBQUMsZ0JBQWdCLENBQUM7Z0JBQ2hDO29CQUNFLE9BQU8sRUFBRSxZQUFZO29CQUNyQixRQUFRLEVBQUUsT0FBTztpQkFDbEI7Z0JBQ0Q7b0JBQ0UsT0FBTyxFQUFFLDBCQUEwQjtvQkFDbkMsVUFBVSxFQUFFLG9CQUFvQjtvQkFDaEMsSUFBSSxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUNyQjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7aUlBbkJVLHNCQUFzQjtrSUFBdEIsc0JBQXNCO2tJQUF0QixzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBRGxDLFFBQVE7O0FBdUJULE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxPQUFpQztJQUNwRSxPQUFPLHdCQUF3QixDQUFDO1FBQzlCLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQztRQUNoQyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRTtRQUM1QztZQUNFLE9BQU8sRUFBRSwwQkFBMEI7WUFDbkMsVUFBVSxFQUFFLG9CQUFvQjtZQUNoQyxJQUFJLEVBQUUsQ0FBQyxZQUFZLENBQUM7U0FDckI7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRW52aXJvbm1lbnRQcm92aWRlcnMsXG4gIEluamVjdGlvblRva2VuLFxuICBNb2R1bGVXaXRoUHJvdmlkZXJzLFxuICBOZ01vZHVsZSxcbiAgbWFrZUVudmlyb25tZW50UHJvdmlkZXJzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgd2l0aE5neHNQbHVnaW4gfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5cbmltcG9ydCB7IE5neHNMb2dnZXJQbHVnaW4gfSBmcm9tICcuL2xvZ2dlci5wbHVnaW4nO1xuaW1wb3J0IHsgTmd4c0xvZ2dlclBsdWdpbk9wdGlvbnMsIE5HWFNfTE9HR0VSX1BMVUdJTl9PUFRJT05TIH0gZnJvbSAnLi9zeW1ib2xzJztcblxuZXhwb3J0IGNvbnN0IFVTRVJfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbignTE9HR0VSX1VTRVJfT1BUSU9OUycpO1xuXG5leHBvcnQgZnVuY3Rpb24gbG9nZ2VyT3B0aW9uc0ZhY3Rvcnkob3B0aW9uczogTmd4c0xvZ2dlclBsdWdpbk9wdGlvbnMpIHtcbiAgY29uc3QgZGVmYXVsdExvZ2dlck9wdGlvbnM6IE5neHNMb2dnZXJQbHVnaW5PcHRpb25zID0ge1xuICAgIGxvZ2dlcjogY29uc29sZSxcbiAgICBjb2xsYXBzZWQ6IGZhbHNlLFxuICAgIGRpc2FibGVkOiBmYWxzZSxcbiAgICBmaWx0ZXI6ICgpID0+IHRydWVcbiAgfTtcblxuICByZXR1cm4ge1xuICAgIC4uLmRlZmF1bHRMb2dnZXJPcHRpb25zLFxuICAgIC4uLm9wdGlvbnNcbiAgfTtcbn1cblxuQE5nTW9kdWxlKClcbmV4cG9ydCBjbGFzcyBOZ3hzTG9nZ2VyUGx1Z2luTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoXG4gICAgb3B0aW9ucz86IE5neHNMb2dnZXJQbHVnaW5PcHRpb25zXG4gICk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Tmd4c0xvZ2dlclBsdWdpbk1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogTmd4c0xvZ2dlclBsdWdpbk1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB3aXRoTmd4c1BsdWdpbihOZ3hzTG9nZ2VyUGx1Z2luKSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IFVTRVJfT1BUSU9OUyxcbiAgICAgICAgICB1c2VWYWx1ZTogb3B0aW9uc1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogTkdYU19MT0dHRVJfUExVR0lOX09QVElPTlMsXG4gICAgICAgICAgdXNlRmFjdG9yeTogbG9nZ2VyT3B0aW9uc0ZhY3RvcnksXG4gICAgICAgICAgZGVwczogW1VTRVJfT1BUSU9OU11cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhOZ3hzTG9nZ2VyUGx1Z2luKG9wdGlvbnM/OiBOZ3hzTG9nZ2VyUGx1Z2luT3B0aW9ucyk6IEVudmlyb25tZW50UHJvdmlkZXJzIHtcbiAgcmV0dXJuIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhbXG4gICAgd2l0aE5neHNQbHVnaW4oTmd4c0xvZ2dlclBsdWdpbiksXG4gICAgeyBwcm92aWRlOiBVU0VSX09QVElPTlMsIHVzZVZhbHVlOiBvcHRpb25zIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdYU19MT0dHRVJfUExVR0lOX09QVElPTlMsXG4gICAgICB1c2VGYWN0b3J5OiBsb2dnZXJPcHRpb25zRmFjdG9yeSxcbiAgICAgIGRlcHM6IFtVU0VSX09QVElPTlNdXG4gICAgfVxuICBdKTtcbn1cbiJdfQ==
@@ -1,42 +0,0 @@
1
- import { inject, Injectable, Injector, runInInjectionContext } from '@angular/core';
2
- import { Store } from '@ngxs/store';
3
- import { catchError, tap } from 'rxjs';
4
- import { LogWriter } from './log-writer';
5
- import { ActionLogger } from './action-logger';
6
- import { NGXS_LOGGER_PLUGIN_OPTIONS } from './symbols';
7
- import * as i0 from "@angular/core";
8
- export class NgxsLoggerPlugin {
9
- constructor() {
10
- this._options = inject(NGXS_LOGGER_PLUGIN_OPTIONS);
11
- this._injector = inject(Injector);
12
- }
13
- handle(state, event, next) {
14
- if (this._options.disabled || this._skipLogging(state, event)) {
15
- return next(state, event);
16
- }
17
- this._logWriter ||= new LogWriter(this._options);
18
- // Retrieve lazily to avoid cyclic dependency exception
19
- this._store ||= this._injector.get(Store);
20
- const actionLogger = new ActionLogger(event, this._store, this._logWriter);
21
- actionLogger.dispatched(state);
22
- return next(state, event).pipe(tap(nextState => {
23
- actionLogger.completed(nextState);
24
- }), catchError(error => {
25
- actionLogger.errored(error);
26
- throw error;
27
- }));
28
- }
29
- _skipLogging(state, event) {
30
- // Run the `filter: () => ...` function within the injection context so
31
- // that the user can access the dependency injection and inject services
32
- // to retrieve properties. This will help determine whether or not to log the action.
33
- const allowLogging = runInInjectionContext(this._injector, () => this._options.filter(event, state));
34
- return !allowLogging;
35
- }
36
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsLoggerPlugin, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
37
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsLoggerPlugin }); }
38
- }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsLoggerPlugin, decorators: [{
40
- type: Injectable
41
- }] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2xvZ2dlci1wbHVnaW4vc3JjL2xvZ2dlci5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFcEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sV0FBVyxDQUFDOztBQUd2RCxNQUFNLE9BQU8sZ0JBQWdCO0lBRDdCO1FBS1UsYUFBUSxHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzlDLGNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7S0FvQ3RDO0lBbENDLE1BQU0sQ0FBQyxLQUFVLEVBQUUsS0FBVSxFQUFFLElBQXNCO1FBQ25ELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM5RCxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUIsQ0FBQztRQUVELElBQUksQ0FBQyxVQUFVLEtBQUssSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pELHVEQUF1RDtRQUN2RCxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFDLE1BQU0sWUFBWSxHQUFHLElBQUksWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUUzRSxZQUFZLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRS9CLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQzVCLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNkLFlBQVksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2pCLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUIsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVPLFlBQVksQ0FBQyxLQUFVLEVBQUUsS0FBVTtRQUN6Qyx1RUFBdUU7UUFDdkUsd0VBQXdFO1FBQ3hFLHFGQUFxRjtRQUNyRixNQUFNLFlBQVksR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUM5RCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQ3BDLENBQUM7UUFFRixPQUFPLENBQUMsWUFBWSxDQUFDO0lBQ3ZCLENBQUM7aUlBeENVLGdCQUFnQjtxSUFBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciwgcnVuSW5JbmplY3Rpb25Db250ZXh0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE5neHNOZXh0UGx1Z2luRm4sIE5neHNQbHVnaW4gfSBmcm9tICdAbmd4cy9zdG9yZS9wbHVnaW5zJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHRhcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBMb2dXcml0ZXIgfSBmcm9tICcuL2xvZy13cml0ZXInO1xuaW1wb3J0IHsgQWN0aW9uTG9nZ2VyIH0gZnJvbSAnLi9hY3Rpb24tbG9nZ2VyJztcbmltcG9ydCB7IE5HWFNfTE9HR0VSX1BMVUdJTl9PUFRJT05TIH0gZnJvbSAnLi9zeW1ib2xzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5neHNMb2dnZXJQbHVnaW4gaW1wbGVtZW50cyBOZ3hzUGx1Z2luIHtcbiAgcHJpdmF0ZSBfc3RvcmU6IFN0b3JlO1xuICBwcml2YXRlIF9sb2dXcml0ZXI6IExvZ1dyaXRlcjtcblxuICBwcml2YXRlIF9vcHRpb25zID0gaW5qZWN0KE5HWFNfTE9HR0VSX1BMVUdJTl9PUFRJT05TKTtcbiAgcHJpdmF0ZSBfaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gIGhhbmRsZShzdGF0ZTogYW55LCBldmVudDogYW55LCBuZXh0OiBOZ3hzTmV4dFBsdWdpbkZuKSB7XG4gICAgaWYgKHRoaXMuX29wdGlvbnMuZGlzYWJsZWQgfHwgdGhpcy5fc2tpcExvZ2dpbmcoc3RhdGUsIGV2ZW50KSkge1xuICAgICAgcmV0dXJuIG5leHQoc3RhdGUsIGV2ZW50KTtcbiAgICB9XG5cbiAgICB0aGlzLl9sb2dXcml0ZXIgfHw9IG5ldyBMb2dXcml0ZXIodGhpcy5fb3B0aW9ucyk7XG4gICAgLy8gUmV0cmlldmUgbGF6aWx5IHRvIGF2b2lkIGN5Y2xpYyBkZXBlbmRlbmN5IGV4Y2VwdGlvblxuICAgIHRoaXMuX3N0b3JlIHx8PSB0aGlzLl9pbmplY3Rvci5nZXQoU3RvcmUpO1xuXG4gICAgY29uc3QgYWN0aW9uTG9nZ2VyID0gbmV3IEFjdGlvbkxvZ2dlcihldmVudCwgdGhpcy5fc3RvcmUsIHRoaXMuX2xvZ1dyaXRlcik7XG5cbiAgICBhY3Rpb25Mb2dnZXIuZGlzcGF0Y2hlZChzdGF0ZSk7XG5cbiAgICByZXR1cm4gbmV4dChzdGF0ZSwgZXZlbnQpLnBpcGUoXG4gICAgICB0YXAobmV4dFN0YXRlID0+IHtcbiAgICAgICAgYWN0aW9uTG9nZ2VyLmNvbXBsZXRlZChuZXh0U3RhdGUpO1xuICAgICAgfSksXG4gICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgYWN0aW9uTG9nZ2VyLmVycm9yZWQoZXJyb3IpO1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NraXBMb2dnaW5nKHN0YXRlOiBhbnksIGV2ZW50OiBhbnkpIHtcbiAgICAvLyBSdW4gdGhlIGBmaWx0ZXI6ICgpID0+IC4uLmAgZnVuY3Rpb24gd2l0aGluIHRoZSBpbmplY3Rpb24gY29udGV4dCBzb1xuICAgIC8vIHRoYXQgdGhlIHVzZXIgY2FuIGFjY2VzcyB0aGUgZGVwZW5kZW5jeSBpbmplY3Rpb24gYW5kIGluamVjdCBzZXJ2aWNlc1xuICAgIC8vIHRvIHJldHJpZXZlIHByb3BlcnRpZXMuIFRoaXMgd2lsbCBoZWxwIGRldGVybWluZSB3aGV0aGVyIG9yIG5vdCB0byBsb2cgdGhlIGFjdGlvbi5cbiAgICBjb25zdCBhbGxvd0xvZ2dpbmcgPSBydW5JbkluamVjdGlvbkNvbnRleHQodGhpcy5faW5qZWN0b3IsICgpID0+XG4gICAgICB0aGlzLl9vcHRpb25zLmZpbHRlciEoZXZlbnQsIHN0YXRlKVxuICAgICk7XG5cbiAgICByZXR1cm4gIWFsbG93TG9nZ2luZztcbiAgfVxufVxuIl19
@@ -1,4 +0,0 @@
1
- export { NgxsLoggerPluginModule, withNgxsLoggerPlugin } from './logger.module';
2
- export { NgxsLoggerPlugin } from './logger.plugin';
3
- export * from './symbols';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2xvZ2dlci1wbHVnaW4vc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLG9CQUFvQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsY0FBYyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBOZ3hzTG9nZ2VyUGx1Z2luTW9kdWxlLCB3aXRoTmd4c0xvZ2dlclBsdWdpbiB9IGZyb20gJy4vbG9nZ2VyLm1vZHVsZSc7XG5leHBvcnQgeyBOZ3hzTG9nZ2VyUGx1Z2luIH0gZnJvbSAnLi9sb2dnZXIucGx1Z2luJztcbmV4cG9ydCAqIGZyb20gJy4vc3ltYm9scyc7XG4iXX0=
@@ -1,3 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- export const NGXS_LOGGER_PLUGIN_OPTIONS = new InjectionToken('NGXS_LOGGER_PLUGIN_OPTIONS');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2xvZ2dlci1wbHVnaW4vc3JjL3N5bWJvbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQWdCL0MsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxjQUFjLENBQzFELDRCQUE0QixDQUM3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBOZ3hzTG9nZ2VyUGx1Z2luT3B0aW9ucyB7XG4gIC8qKiBBdXRvIGV4cGFuZCBsb2dnZWQgYWN0aW9ucyAgKi9cbiAgY29sbGFwc2VkPzogYm9vbGVhbjtcblxuICAvKiogUHJvdmlkZSBhbHRlcm5hdGUgY29uc29sZS5sb2cgaW1wbGVtZW50YXRpb24gKi9cbiAgbG9nZ2VyPzogYW55O1xuXG4gIC8qKiBEaXNhYmxlIHRoZSBsb2dnZXIuIFVzZWZ1bCBmb3IgcHJvZCBtb2RlLiAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqIFByZWRpY2F0ZSBmb3IgYWN0aW9ucyB0byBiZSB0aGUgbG9nZ2VkLiBUYWtlcyBhY3Rpb24gYW5kIHN0YXRlIHNuYXBzaG90IGFzIHBhcmFtZXRlcnMgKi9cbiAgZmlsdGVyPzogKGFjdGlvbjogYW55LCBzdGF0ZTogYW55KSA9PiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgTkdYU19MT0dHRVJfUExVR0lOX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48Tmd4c0xvZ2dlclBsdWdpbk9wdGlvbnM+KFxuICAnTkdYU19MT0dHRVJfUExVR0lOX09QVElPTlMnXG4pO1xuIl19