@ngxs/logger-plugin 3.6.2 → 3.7.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.
@@ -2,10 +2,10 @@
2
2
  * @fileoverview added by tsickle
3
3
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
4
  */
5
- import { NgModule, InjectionToken } from '@angular/core';
5
+ import { InjectionToken, NgModule } from '@angular/core';
6
6
  import { NGXS_PLUGINS } from '@ngxs/store';
7
- import { NGXS_LOGGER_PLUGIN_OPTIONS } from './symbols';
8
7
  import { NgxsLoggerPlugin } from './logger.plugin';
8
+ import { NGXS_LOGGER_PLUGIN_OPTIONS } from './symbols';
9
9
  /** @type {?} */
10
10
  export const USER_OPTIONS = new InjectionToken('LOGGER_USER_OPTIONS');
11
11
  /**
@@ -17,7 +17,11 @@ export function loggerOptionsFactory(options) {
17
17
  const defaultLoggerOptions = {
18
18
  logger: console,
19
19
  collapsed: false,
20
- disabled: false
20
+ disabled: false,
21
+ filter: (/**
22
+ * @return {?}
23
+ */
24
+ () => true)
21
25
  };
22
26
  return Object.assign({}, defaultLoggerOptions, options);
23
27
  }
@@ -51,4 +55,4 @@ export class NgxsLoggerPluginModule {
51
55
  NgxsLoggerPluginModule.decorators = [
52
56
  { type: NgModule }
53
57
  ];
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL2xvZ2dlci1wbHVnaW4vIiwic291cmNlcyI6WyJzcmMvbG9nZ2VyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFM0MsT0FBTyxFQUEyQiwwQkFBMEIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNoRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFbkQsTUFBTSxPQUFPLFlBQVksR0FBRyxJQUFJLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQzs7Ozs7QUFFckUsTUFBTSxVQUFVLG9CQUFvQixDQUFDLE9BQWdDOztVQUM3RCxvQkFBb0IsR0FBNEI7UUFDcEQsTUFBTSxFQUFFLE9BQU87UUFDZixTQUFTLEVBQUUsS0FBSztRQUNoQixRQUFRLEVBQUUsS0FBSztLQUNoQjtJQUVELHlCQUNLLG9CQUFvQixFQUNwQixPQUFPLEVBQ1Y7QUFDSixDQUFDO0FBR0QsTUFBTSxPQUFPLHNCQUFzQjs7Ozs7SUFDakMsTUFBTSxDQUFDLE9BQU8sQ0FDWixPQUFpQztRQUVqQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLHNCQUFzQjtZQUNoQyxTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLFlBQVk7b0JBQ3JCLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLEtBQUssRUFBRSxJQUFJO2lCQUNaO2dCQUNEO29CQUNFLE9BQU8sRUFBRSxZQUFZO29CQUNyQixRQUFRLEVBQUUsT0FBTztpQkFDbEI7Z0JBQ0Q7b0JBQ0UsT0FBTyxFQUFFLDBCQUEwQjtvQkFDbkMsVUFBVSxFQUFFLG9CQUFvQjtvQkFDaEMsSUFBSSxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUNyQjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7OztZQXhCRixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HWFNfUExVR0lOUyB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcclxuXHJcbmltcG9ydCB7IE5neHNMb2dnZXJQbHVnaW5PcHRpb25zLCBOR1hTX0xPR0dFUl9QTFVHSU5fT1BUSU9OUyB9IGZyb20gJy4vc3ltYm9scyc7XHJcbmltcG9ydCB7IE5neHNMb2dnZXJQbHVnaW4gfSBmcm9tICcuL2xvZ2dlci5wbHVnaW4nO1xyXG5cclxuZXhwb3J0IGNvbnN0IFVTRVJfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbignTE9HR0VSX1VTRVJfT1BUSU9OUycpO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvZ2dlck9wdGlvbnNGYWN0b3J5KG9wdGlvbnM6IE5neHNMb2dnZXJQbHVnaW5PcHRpb25zKSB7XHJcbiAgY29uc3QgZGVmYXVsdExvZ2dlck9wdGlvbnM6IE5neHNMb2dnZXJQbHVnaW5PcHRpb25zID0ge1xyXG4gICAgbG9nZ2VyOiBjb25zb2xlLFxyXG4gICAgY29sbGFwc2VkOiBmYWxzZSxcclxuICAgIGRpc2FibGVkOiBmYWxzZVxyXG4gIH07XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICAuLi5kZWZhdWx0TG9nZ2VyT3B0aW9ucyxcclxuICAgIC4uLm9wdGlvbnNcclxuICB9O1xyXG59XHJcblxyXG5ATmdNb2R1bGUoKVxyXG5leHBvcnQgY2xhc3MgTmd4c0xvZ2dlclBsdWdpbk1vZHVsZSB7XHJcbiAgc3RhdGljIGZvclJvb3QoXHJcbiAgICBvcHRpb25zPzogTmd4c0xvZ2dlclBsdWdpbk9wdGlvbnNcclxuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5neHNMb2dnZXJQbHVnaW5Nb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBOZ3hzTG9nZ2VyUGx1Z2luTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBOR1hTX1BMVUdJTlMsXHJcbiAgICAgICAgICB1c2VDbGFzczogTmd4c0xvZ2dlclBsdWdpbixcclxuICAgICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBVU0VSX09QVElPTlMsXHJcbiAgICAgICAgICB1c2VWYWx1ZTogb3B0aW9uc1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogTkdYU19MT0dHRVJfUExVR0lOX09QVElPTlMsXHJcbiAgICAgICAgICB1c2VGYWN0b3J5OiBsb2dnZXJPcHRpb25zRmFjdG9yeSxcclxuICAgICAgICAgIGRlcHM6IFtVU0VSX09QVElPTlNdXHJcbiAgICAgICAgfVxyXG4gICAgICBdXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL2xvZ2dlci1wbHVnaW4vIiwic291cmNlcyI6WyJzcmMvbG9nZ2VyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUEyQiwwQkFBMEIsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFFaEYsTUFBTSxPQUFPLFlBQVksR0FBRyxJQUFJLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQzs7Ozs7QUFFckUsTUFBTSxVQUFVLG9CQUFvQixDQUFDLE9BQWdDOztVQUM3RCxvQkFBb0IsR0FBNEI7UUFDcEQsTUFBTSxFQUFFLE9BQU87UUFDZixTQUFTLEVBQUUsS0FBSztRQUNoQixRQUFRLEVBQUUsS0FBSztRQUNmLE1BQU07OztRQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQTtLQUNuQjtJQUVELHlCQUNLLG9CQUFvQixFQUNwQixPQUFPLEVBQ1Y7QUFDSixDQUFDO0FBR0QsTUFBTSxPQUFPLHNCQUFzQjs7Ozs7SUFDakMsTUFBTSxDQUFDLE9BQU8sQ0FDWixPQUFpQztRQUVqQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLHNCQUFzQjtZQUNoQyxTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLFlBQVk7b0JBQ3JCLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLEtBQUssRUFBRSxJQUFJO2lCQUNaO2dCQUNEO29CQUNFLE9BQU8sRUFBRSxZQUFZO29CQUNyQixRQUFRLEVBQUUsT0FBTztpQkFDbEI7Z0JBQ0Q7b0JBQ0UsT0FBTyxFQUFFLDBCQUEwQjtvQkFDbkMsVUFBVSxFQUFFLG9CQUFvQjtvQkFDaEMsSUFBSSxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUNyQjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7OztZQXhCRixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HWFNfUExVR0lOUyB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcclxuaW1wb3J0IHsgTmd4c0xvZ2dlclBsdWdpbiB9IGZyb20gJy4vbG9nZ2VyLnBsdWdpbic7XHJcbmltcG9ydCB7IE5neHNMb2dnZXJQbHVnaW5PcHRpb25zLCBOR1hTX0xPR0dFUl9QTFVHSU5fT1BUSU9OUyB9IGZyb20gJy4vc3ltYm9scyc7XHJcblxyXG5leHBvcnQgY29uc3QgVVNFUl9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuKCdMT0dHRVJfVVNFUl9PUFRJT05TJyk7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9nZ2VyT3B0aW9uc0ZhY3Rvcnkob3B0aW9uczogTmd4c0xvZ2dlclBsdWdpbk9wdGlvbnMpIHtcclxuICBjb25zdCBkZWZhdWx0TG9nZ2VyT3B0aW9uczogTmd4c0xvZ2dlclBsdWdpbk9wdGlvbnMgPSB7XHJcbiAgICBsb2dnZXI6IGNvbnNvbGUsXHJcbiAgICBjb2xsYXBzZWQ6IGZhbHNlLFxyXG4gICAgZGlzYWJsZWQ6IGZhbHNlLFxyXG4gICAgZmlsdGVyOiAoKSA9PiB0cnVlXHJcbiAgfTtcclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIC4uLmRlZmF1bHRMb2dnZXJPcHRpb25zLFxyXG4gICAgLi4ub3B0aW9uc1xyXG4gIH07XHJcbn1cclxuXHJcbkBOZ01vZHVsZSgpXHJcbmV4cG9ydCBjbGFzcyBOZ3hzTG9nZ2VyUGx1Z2luTW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUm9vdChcclxuICAgIG9wdGlvbnM/OiBOZ3hzTG9nZ2VyUGx1Z2luT3B0aW9uc1xyXG4gICk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Tmd4c0xvZ2dlclBsdWdpbk1vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IE5neHNMb2dnZXJQbHVnaW5Nb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IE5HWFNfUExVR0lOUyxcclxuICAgICAgICAgIHVzZUNsYXNzOiBOZ3hzTG9nZ2VyUGx1Z2luLFxyXG4gICAgICAgICAgbXVsdGk6IHRydWVcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IFVTRVJfT1BUSU9OUyxcclxuICAgICAgICAgIHVzZVZhbHVlOiBvcHRpb25zXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBOR1hTX0xPR0dFUl9QTFVHSU5fT1BUSU9OUyxcclxuICAgICAgICAgIHVzZUZhY3Rvcnk6IGxvZ2dlck9wdGlvbnNGYWN0b3J5LFxyXG4gICAgICAgICAgZGVwczogW1VTRVJfT1BUSU9OU11cclxuICAgICAgICB9XHJcbiAgICAgIF1cclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -2,12 +2,12 @@
2
2
  * @fileoverview added by tsickle
3
3
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
4
  */
5
- import { Injectable, Inject, Injector } from '@angular/core';
6
- import { tap, catchError } from 'rxjs/operators';
5
+ import { Inject, Injectable, Injector } from '@angular/core';
7
6
  import { Store } from '@ngxs/store';
8
- import { NGXS_LOGGER_PLUGIN_OPTIONS } from './symbols';
7
+ import { catchError, tap } from 'rxjs/operators';
9
8
  import { ActionLogger } from './action-logger';
10
9
  import { LogWriter } from './log-writer';
10
+ import { NGXS_LOGGER_PLUGIN_OPTIONS } from './symbols';
11
11
  export class NgxsLoggerPlugin {
12
12
  /**
13
13
  * @param {?} _options
@@ -24,16 +24,14 @@ export class NgxsLoggerPlugin {
24
24
  * @return {?}
25
25
  */
26
26
  handle(state, event, next) {
27
- if (this._options.disabled) {
27
+ if (this._options.disabled || !(/** @type {?} */ (this._options.filter))(event, state)) {
28
28
  return next(state, event);
29
29
  }
30
- /** @type {?} */
31
- const logWriter = new LogWriter(this._options);
30
+ this._logWriter = this._logWriter || new LogWriter(this._options);
32
31
  // Retrieve lazily to avoid cyclic dependency exception
32
+ this._store = this._store || this._injector.get(Store);
33
33
  /** @type {?} */
34
- const store = this._injector.get(Store);
35
- /** @type {?} */
36
- const actionLogger = new ActionLogger(event, store, logWriter);
34
+ const actionLogger = new ActionLogger(event, this._store, this._logWriter);
37
35
  actionLogger.dispatched(state);
38
36
  return next(state, event).pipe(tap((/**
39
37
  * @param {?} nextState
@@ -60,6 +58,16 @@ NgxsLoggerPlugin.ctorParameters = () => [
60
58
  { type: Injector }
61
59
  ];
62
60
  if (false) {
61
+ /**
62
+ * @type {?}
63
+ * @private
64
+ */
65
+ NgxsLoggerPlugin.prototype._store;
66
+ /**
67
+ * @type {?}
68
+ * @private
69
+ */
70
+ NgxsLoggerPlugin.prototype._logWriter;
63
71
  /**
64
72
  * @type {?}
65
73
  * @private
@@ -71,4 +79,4 @@ if (false) {
71
79
  */
72
80
  NgxsLoggerPlugin.prototype._injector;
73
81
  }
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL2xvZ2dlci1wbHVnaW4vIiwic291cmNlcyI6WyJzcmMvbG9nZ2VyLnBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakQsT0FBTyxFQUFnQyxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbEUsT0FBTyxFQUFFLDBCQUEwQixFQUEyQixNQUFNLFdBQVcsQ0FBQztBQUNoRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUd6QyxNQUFNLE9BQU8sZ0JBQWdCOzs7OztJQUMzQixZQUM4QyxRQUFpQyxFQUNyRSxTQUFtQjtRQURpQixhQUFRLEdBQVIsUUFBUSxDQUF5QjtRQUNyRSxjQUFTLEdBQVQsU0FBUyxDQUFVO0lBQzFCLENBQUM7Ozs7Ozs7SUFFSixNQUFNLENBQUMsS0FBVSxFQUFFLEtBQVUsRUFBRSxJQUFzQjtRQUNuRCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFO1lBQzFCLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztTQUMzQjs7Y0FFSyxTQUFTLEdBQUcsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQzs7O2NBRXhDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBUSxLQUFLLENBQUM7O2NBRXhDLFlBQVksR0FBRyxJQUFJLFlBQVksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQztRQUU5RCxZQUFZLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRS9CLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQzVCLEdBQUc7Ozs7UUFBQyxTQUFTLENBQUMsRUFBRTtZQUNkLFlBQVksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxFQUFDLEVBQ0YsVUFBVTs7OztRQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2pCLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUIsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDLEVBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7O1lBN0JGLFVBQVU7Ozs7NENBR04sTUFBTSxTQUFDLDBCQUEwQjtZQVpULFFBQVE7Ozs7Ozs7SUFZakMsb0NBQTZFOzs7OztJQUM3RSxxQ0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHRhcCwgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IE5neHNQbHVnaW4sIE5neHNOZXh0UGx1Z2luRm4sIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xyXG5cclxuaW1wb3J0IHsgTkdYU19MT0dHRVJfUExVR0lOX09QVElPTlMsIE5neHNMb2dnZXJQbHVnaW5PcHRpb25zIH0gZnJvbSAnLi9zeW1ib2xzJztcclxuaW1wb3J0IHsgQWN0aW9uTG9nZ2VyIH0gZnJvbSAnLi9hY3Rpb24tbG9nZ2VyJztcclxuaW1wb3J0IHsgTG9nV3JpdGVyIH0gZnJvbSAnLi9sb2ctd3JpdGVyJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE5neHNMb2dnZXJQbHVnaW4gaW1wbGVtZW50cyBOZ3hzUGx1Z2luIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoTkdYU19MT0dHRVJfUExVR0lOX09QVElPTlMpIHByaXZhdGUgX29wdGlvbnM6IE5neHNMb2dnZXJQbHVnaW5PcHRpb25zLFxyXG4gICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yXHJcbiAgKSB7fVxyXG5cclxuICBoYW5kbGUoc3RhdGU6IGFueSwgZXZlbnQ6IGFueSwgbmV4dDogTmd4c05leHRQbHVnaW5Gbikge1xyXG4gICAgaWYgKHRoaXMuX29wdGlvbnMuZGlzYWJsZWQpIHtcclxuICAgICAgcmV0dXJuIG5leHQoc3RhdGUsIGV2ZW50KTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBsb2dXcml0ZXIgPSBuZXcgTG9nV3JpdGVyKHRoaXMuX29wdGlvbnMpO1xyXG4gICAgLy8gUmV0cmlldmUgbGF6aWx5IHRvIGF2b2lkIGN5Y2xpYyBkZXBlbmRlbmN5IGV4Y2VwdGlvblxyXG4gICAgY29uc3Qgc3RvcmUgPSB0aGlzLl9pbmplY3Rvci5nZXQ8U3RvcmU+KFN0b3JlKTtcclxuXHJcbiAgICBjb25zdCBhY3Rpb25Mb2dnZXIgPSBuZXcgQWN0aW9uTG9nZ2VyKGV2ZW50LCBzdG9yZSwgbG9nV3JpdGVyKTtcclxuXHJcbiAgICBhY3Rpb25Mb2dnZXIuZGlzcGF0Y2hlZChzdGF0ZSk7XHJcblxyXG4gICAgcmV0dXJuIG5leHQoc3RhdGUsIGV2ZW50KS5waXBlKFxyXG4gICAgICB0YXAobmV4dFN0YXRlID0+IHtcclxuICAgICAgICBhY3Rpb25Mb2dnZXIuY29tcGxldGVkKG5leHRTdGF0ZSk7XHJcbiAgICAgIH0pLFxyXG4gICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcclxuICAgICAgICBhY3Rpb25Mb2dnZXIuZXJyb3JlZChlcnJvcik7XHJcbiAgICAgICAgdGhyb3cgZXJyb3I7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL2xvZ2dlci1wbHVnaW4vIiwic291cmNlcyI6WyJzcmMvbG9nZ2VyLnBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBZ0MsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUEyQiwwQkFBMEIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUdoRixNQUFNLE9BQU8sZ0JBQWdCOzs7OztJQUkzQixZQUM4QyxRQUFpQyxFQUNyRSxTQUFtQjtRQURpQixhQUFRLEdBQVIsUUFBUSxDQUF5QjtRQUNyRSxjQUFTLEdBQVQsU0FBUyxDQUFVO0lBQzFCLENBQUM7Ozs7Ozs7SUFFSixNQUFNLENBQUMsS0FBVSxFQUFFLEtBQVUsRUFBRSxJQUFzQjtRQUNuRCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxJQUFJLENBQUMsbUJBQUEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDbEUsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQzNCO1FBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsRSx1REFBdUQ7UUFDdkQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFRLEtBQUssQ0FBQyxDQUFDOztjQUV4RCxZQUFZLEdBQUcsSUFBSSxZQUFZLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUUxRSxZQUFZLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRS9CLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQzVCLEdBQUc7Ozs7UUFBQyxTQUFTLENBQUMsRUFBRTtZQUNkLFlBQVksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxFQUFDLEVBQ0YsVUFBVTs7OztRQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2pCLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUIsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDLEVBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7O1lBaENGLFVBQVU7Ozs7NENBTU4sTUFBTSxTQUFDLDBCQUEwQjtZQWJULFFBQVE7Ozs7Ozs7SUFTbkMsa0NBQXNCOzs7OztJQUN0QixzQ0FBOEI7Ozs7O0lBRzVCLG9DQUE2RTs7Ozs7SUFDN0UscUNBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ3hzTmV4dFBsdWdpbkZuLCBOZ3hzUGx1Z2luLCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBY3Rpb25Mb2dnZXIgfSBmcm9tICcuL2FjdGlvbi1sb2dnZXInO1xyXG5pbXBvcnQgeyBMb2dXcml0ZXIgfSBmcm9tICcuL2xvZy13cml0ZXInO1xyXG5pbXBvcnQgeyBOZ3hzTG9nZ2VyUGx1Z2luT3B0aW9ucywgTkdYU19MT0dHRVJfUExVR0lOX09QVElPTlMgfSBmcm9tICcuL3N5bWJvbHMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTmd4c0xvZ2dlclBsdWdpbiBpbXBsZW1lbnRzIE5neHNQbHVnaW4ge1xyXG4gIHByaXZhdGUgX3N0b3JlOiBTdG9yZTtcclxuICBwcml2YXRlIF9sb2dXcml0ZXI6IExvZ1dyaXRlcjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KE5HWFNfTE9HR0VSX1BMVUdJTl9PUFRJT05TKSBwcml2YXRlIF9vcHRpb25zOiBOZ3hzTG9nZ2VyUGx1Z2luT3B0aW9ucyxcclxuICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvclxyXG4gICkge31cclxuXHJcbiAgaGFuZGxlKHN0YXRlOiBhbnksIGV2ZW50OiBhbnksIG5leHQ6IE5neHNOZXh0UGx1Z2luRm4pIHtcclxuICAgIGlmICh0aGlzLl9vcHRpb25zLmRpc2FibGVkIHx8ICF0aGlzLl9vcHRpb25zLmZpbHRlciEoZXZlbnQsIHN0YXRlKSkge1xyXG4gICAgICByZXR1cm4gbmV4dChzdGF0ZSwgZXZlbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX2xvZ1dyaXRlciA9IHRoaXMuX2xvZ1dyaXRlciB8fCBuZXcgTG9nV3JpdGVyKHRoaXMuX29wdGlvbnMpO1xyXG4gICAgLy8gUmV0cmlldmUgbGF6aWx5IHRvIGF2b2lkIGN5Y2xpYyBkZXBlbmRlbmN5IGV4Y2VwdGlvblxyXG4gICAgdGhpcy5fc3RvcmUgPSB0aGlzLl9zdG9yZSB8fCB0aGlzLl9pbmplY3Rvci5nZXQ8U3RvcmU+KFN0b3JlKTtcclxuXHJcbiAgICBjb25zdCBhY3Rpb25Mb2dnZXIgPSBuZXcgQWN0aW9uTG9nZ2VyKGV2ZW50LCB0aGlzLl9zdG9yZSwgdGhpcy5fbG9nV3JpdGVyKTtcclxuXHJcbiAgICBhY3Rpb25Mb2dnZXIuZGlzcGF0Y2hlZChzdGF0ZSk7XHJcblxyXG4gICAgcmV0dXJuIG5leHQoc3RhdGUsIGV2ZW50KS5waXBlKFxyXG4gICAgICB0YXAobmV4dFN0YXRlID0+IHtcclxuICAgICAgICBhY3Rpb25Mb2dnZXIuY29tcGxldGVkKG5leHRTdGF0ZSk7XHJcbiAgICAgIH0pLFxyXG4gICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcclxuICAgICAgICBhY3Rpb25Mb2dnZXIuZXJyb3JlZChlcnJvcik7XHJcbiAgICAgICAgdGhyb3cgZXJyb3I7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -23,7 +23,12 @@ if (false) {
23
23
  * @type {?|undefined}
24
24
  */
25
25
  NgxsLoggerPluginOptions.prototype.disabled;
26
+ /**
27
+ * Predicate for actions to be the logged. Takes action and state snapshot as parameters
28
+ * @type {?|undefined}
29
+ */
30
+ NgxsLoggerPluginOptions.prototype.filter;
26
31
  }
27
32
  /** @type {?} */
28
33
  export const NGXS_LOGGER_PLUGIN_OPTIONS = new InjectionToken('NGXS_LOGGER_PLUGIN_OPTIONS');
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL2xvZ2dlci1wbHVnaW4vIiwic291cmNlcyI6WyJzcmMvc3ltYm9scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUUvQyw2Q0FTQzs7Ozs7O0lBUEMsNENBQW9COzs7OztJQUdwQix5Q0FBYTs7Ozs7SUFHYiwyQ0FBbUI7OztBQUdyQixNQUFNLE9BQU8sMEJBQTBCLEdBQUcsSUFBSSxjQUFjLENBQUMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBOZ3hzTG9nZ2VyUGx1Z2luT3B0aW9ucyB7XHJcbiAgLyoqIEF1dG8gZXhwYW5kIGxvZ2dlZCBhY3Rpb25zICAqL1xyXG4gIGNvbGxhcHNlZD86IGJvb2xlYW47XHJcblxyXG4gIC8qKiBQcm92aWRlIGFsdGVybmF0ZSBjb25zb2xlLmxvZyBpbXBsZW1lbnRhdGlvbiAqL1xyXG4gIGxvZ2dlcj86IGFueTtcclxuXHJcbiAgLyoqIERpc2FibGUgdGhlIGxvZ2dlci4gVXNlZnVsIGZvciBwcm9kIG1vZGUuICovXHJcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgTkdYU19MT0dHRVJfUExVR0lOX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ05HWFNfTE9HR0VSX1BMVUdJTl9PUFRJT05TJyk7XHJcbiJdfQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL2xvZ2dlci1wbHVnaW4vIiwic291cmNlcyI6WyJzcmMvc3ltYm9scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUUvQyw2Q0FZQzs7Ozs7O0lBVkMsNENBQW9COzs7OztJQUdwQix5Q0FBYTs7Ozs7SUFHYiwyQ0FBbUI7Ozs7O0lBR25CLHlDQUE4Qzs7O0FBR2hELE1BQU0sT0FBTywwQkFBMEIsR0FBRyxJQUFJLGNBQWMsQ0FBQyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE5neHNMb2dnZXJQbHVnaW5PcHRpb25zIHtcclxuICAvKiogQXV0byBleHBhbmQgbG9nZ2VkIGFjdGlvbnMgICovXHJcbiAgY29sbGFwc2VkPzogYm9vbGVhbjtcclxuXHJcbiAgLyoqIFByb3ZpZGUgYWx0ZXJuYXRlIGNvbnNvbGUubG9nIGltcGxlbWVudGF0aW9uICovXHJcbiAgbG9nZ2VyPzogYW55O1xyXG5cclxuICAvKiogRGlzYWJsZSB0aGUgbG9nZ2VyLiBVc2VmdWwgZm9yIHByb2QgbW9kZS4gKi9cclxuICBkaXNhYmxlZD86IGJvb2xlYW47XHJcblxyXG4gIC8qKiBQcmVkaWNhdGUgZm9yIGFjdGlvbnMgdG8gYmUgdGhlIGxvZ2dlZC4gVGFrZXMgYWN0aW9uIGFuZCBzdGF0ZSBzbmFwc2hvdCBhcyBwYXJhbWV0ZXJzICovXHJcbiAgZmlsdGVyPzogKGFjdGlvbjogYW55LCBzdGF0ZTogYW55KSA9PiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgTkdYU19MT0dHRVJfUExVR0lOX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ05HWFNfTE9HR0VSX1BMVUdJTl9PUFRJT05TJyk7XHJcbiJdfQ==
@@ -96,7 +96,7 @@ var ActionLogger = /** @class */ (function () {
96
96
  * @param {?} value
97
97
  * @return {?}
98
98
  */
99
- function (value) { return !!value; }));
99
+ function (value) { return value !== undefined; }));
100
100
  };
101
101
  return ActionLogger;
102
102
  }());
@@ -118,4 +118,4 @@ if (false) {
118
118
  */
119
119
  ActionLogger.prototype.logWriter;
120
120
  }
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWxvZ2dlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL2xvZ2dlci1wbHVnaW4vIiwic291cmNlcyI6WyJzcmMvYWN0aW9uLWxvZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSx5QkFBeUIsRUFBUyxNQUFNLGFBQWEsQ0FBQztBQUUvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR3pDO0lBQ0Usc0JBQW9CLE1BQVcsRUFBVSxLQUFZLEVBQVUsU0FBb0I7UUFBL0QsV0FBTSxHQUFOLE1BQU0sQ0FBSztRQUFVLFVBQUssR0FBTCxLQUFLLENBQU87UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUFXO0lBQUcsQ0FBQzs7Ozs7SUFFdkYsaUNBQVU7Ozs7SUFBVixVQUFXLEtBQVU7O1lBQ2IsVUFBVSxHQUFHLHlCQUF5QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7O1lBQ25ELGFBQWEsR0FBRyxVQUFVLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQzs7WUFFdEMsT0FBTyxHQUFHLFlBQVUsVUFBVSxXQUFNLGFBQWU7UUFDekQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFbkMsMERBQTBEO1FBQzFELElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyx1QkFBTyxJQUFJLENBQUMsTUFBTSxFQUFHLENBQUM7U0FDdkQ7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQzs7Ozs7SUFFRCxnQ0FBUzs7OztJQUFULFVBQVUsU0FBYztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDOzs7OztJQUVELDhCQUFPOzs7O0lBQVAsVUFBUSxLQUFVO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLHdCQUF3QixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDOzs7Ozs7SUFFTyxrQ0FBVzs7Ozs7SUFBbkIsVUFBb0IsS0FBVTs7WUFDdEIsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQztRQUM3RCxPQUFPLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7Ozs7O0lBRU8sNkNBQXNCOzs7OztJQUE5QixVQUErQixLQUFVOztZQUNqQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7O1lBQ3pCLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRzs7OztRQUFDLFVBQUEsR0FBRyxJQUFJLE9BQUEsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFWLENBQVUsRUFBQztRQUMxQyxPQUFPLE1BQU0sQ0FBQyxNQUFNOzs7O1FBQUMsVUFBQSxLQUFLLElBQUksT0FBQSxDQUFDLENBQUMsS0FBSyxFQUFQLENBQU8sRUFBQyxDQUFDO0lBQ3pDLENBQUM7SUFDSCxtQkFBQztBQUFELENBQUMsQUF2Q0QsSUF1Q0M7Ozs7Ozs7SUF0Q2EsOEJBQW1COzs7OztJQUFFLDZCQUFvQjs7Ozs7SUFBRSxpQ0FBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRBY3Rpb25UeXBlRnJvbUluc3RhbmNlLCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcclxuXHJcbmltcG9ydCB7IGZvcm1hdFRpbWUgfSBmcm9tICcuL2ludGVybmFscyc7XHJcbmltcG9ydCB7IExvZ1dyaXRlciB9IGZyb20gJy4vbG9nLXdyaXRlcic7XHJcblxyXG5leHBvcnQgY2xhc3MgQWN0aW9uTG9nZ2VyIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFjdGlvbjogYW55LCBwcml2YXRlIHN0b3JlOiBTdG9yZSwgcHJpdmF0ZSBsb2dXcml0ZXI6IExvZ1dyaXRlcikge31cclxuXHJcbiAgZGlzcGF0Y2hlZChzdGF0ZTogYW55KSB7XHJcbiAgICBjb25zdCBhY3Rpb25OYW1lID0gZ2V0QWN0aW9uVHlwZUZyb21JbnN0YW5jZSh0aGlzLmFjdGlvbik7XHJcbiAgICBjb25zdCBmb3JtYXR0ZWRUaW1lID0gZm9ybWF0VGltZShuZXcgRGF0ZSgpKTtcclxuXHJcbiAgICBjb25zdCBtZXNzYWdlID0gYGFjdGlvbiAke2FjdGlvbk5hbWV9IEAgJHtmb3JtYXR0ZWRUaW1lfWA7XHJcbiAgICB0aGlzLmxvZ1dyaXRlci5zdGFydEdyb3VwKG1lc3NhZ2UpO1xyXG5cclxuICAgIC8vIHByaW50IHBheWxvYWQgb25seSBpZiBhdCBsZWFzdCBvbmUgcHJvcGVydHkgaXMgc3VwcGxpZWRcclxuICAgIGlmICh0aGlzLl9oYXNQYXlsb2FkKHRoaXMuYWN0aW9uKSkge1xyXG4gICAgICB0aGlzLmxvZ1dyaXRlci5sb2dHcmV5KCdwYXlsb2FkJywgeyAuLi50aGlzLmFjdGlvbiB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmxvZ1dyaXRlci5sb2dHcmV5KCdwcmV2IHN0YXRlJywgc3RhdGUpO1xyXG4gIH1cclxuXHJcbiAgY29tcGxldGVkKG5leHRTdGF0ZTogYW55KSB7XHJcbiAgICB0aGlzLmxvZ1dyaXRlci5sb2dHcmVlbignbmV4dCBzdGF0ZScsIG5leHRTdGF0ZSk7XHJcbiAgICB0aGlzLmxvZ1dyaXRlci5lbmRHcm91cCgpO1xyXG4gIH1cclxuXHJcbiAgZXJyb3JlZChlcnJvcjogYW55KSB7XHJcbiAgICB0aGlzLmxvZ1dyaXRlci5sb2dSZWRpc2goJ25leHQgc3RhdGUgYWZ0ZXIgZXJyb3InLCB0aGlzLnN0b3JlLnNuYXBzaG90KCkpO1xyXG4gICAgdGhpcy5sb2dXcml0ZXIubG9nUmVkaXNoKCdlcnJvcicsIGVycm9yKTtcclxuICAgIHRoaXMubG9nV3JpdGVyLmVuZEdyb3VwKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9oYXNQYXlsb2FkKGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IG5vbkVtcHR5UHJvcGVydGllcyA9IHRoaXMuX2dldE5vbkVtcHR5UHJvcGVydGllcyhldmVudCk7XHJcbiAgICByZXR1cm4gbm9uRW1wdHlQcm9wZXJ0aWVzLmxlbmd0aCA+IDA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXROb25FbXB0eVByb3BlcnRpZXMoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGV2ZW50KTtcclxuICAgIGNvbnN0IHZhbHVlcyA9IGtleXMubWFwKGtleSA9PiBldmVudFtrZXldKTtcclxuICAgIHJldHVybiB2YWx1ZXMuZmlsdGVyKHZhbHVlID0+ICEhdmFsdWUpO1xyXG4gIH1cclxufVxyXG4iXX0=
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWxvZ2dlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL2xvZ2dlci1wbHVnaW4vIiwic291cmNlcyI6WyJzcmMvYWN0aW9uLWxvZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSx5QkFBeUIsRUFBUyxNQUFNLGFBQWEsQ0FBQztBQUUvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR3pDO0lBQ0Usc0JBQW9CLE1BQVcsRUFBVSxLQUFZLEVBQVUsU0FBb0I7UUFBL0QsV0FBTSxHQUFOLE1BQU0sQ0FBSztRQUFVLFVBQUssR0FBTCxLQUFLLENBQU87UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUFXO0lBQUcsQ0FBQzs7Ozs7SUFFdkYsaUNBQVU7Ozs7SUFBVixVQUFXLEtBQVU7O1lBQ2IsVUFBVSxHQUFHLHlCQUF5QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7O1lBQ25ELGFBQWEsR0FBRyxVQUFVLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQzs7WUFFdEMsT0FBTyxHQUFHLFlBQVUsVUFBVSxXQUFNLGFBQWU7UUFDekQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFbkMsMERBQTBEO1FBQzFELElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyx1QkFBTyxJQUFJLENBQUMsTUFBTSxFQUFHLENBQUM7U0FDdkQ7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQzs7Ozs7SUFFRCxnQ0FBUzs7OztJQUFULFVBQVUsU0FBYztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDOzs7OztJQUVELDhCQUFPOzs7O0lBQVAsVUFBUSxLQUFVO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLHdCQUF3QixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDOzs7Ozs7SUFFTyxrQ0FBVzs7Ozs7SUFBbkIsVUFBb0IsS0FBVTs7WUFDdEIsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQztRQUM3RCxPQUFPLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7Ozs7O0lBRU8sNkNBQXNCOzs7OztJQUE5QixVQUErQixLQUFVOztZQUNqQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7O1lBQ3pCLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRzs7OztRQUFDLFVBQUEsR0FBRyxJQUFJLE9BQUEsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFWLENBQVUsRUFBQztRQUMxQyxPQUFPLE1BQU0sQ0FBQyxNQUFNOzs7O1FBQUMsVUFBQSxLQUFLLElBQUksT0FBQSxLQUFLLEtBQUssU0FBUyxFQUFuQixDQUFtQixFQUFDLENBQUM7SUFDckQsQ0FBQztJQUNILG1CQUFDO0FBQUQsQ0FBQyxBQXZDRCxJQXVDQzs7Ozs7OztJQXRDYSw4QkFBbUI7Ozs7O0lBQUUsNkJBQW9COzs7OztJQUFFLGlDQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldEFjdGlvblR5cGVGcm9tSW5zdGFuY2UsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xyXG5cclxuaW1wb3J0IHsgZm9ybWF0VGltZSB9IGZyb20gJy4vaW50ZXJuYWxzJztcclxuaW1wb3J0IHsgTG9nV3JpdGVyIH0gZnJvbSAnLi9sb2ctd3JpdGVyJztcclxuXHJcbmV4cG9ydCBjbGFzcyBBY3Rpb25Mb2dnZXIge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWN0aW9uOiBhbnksIHByaXZhdGUgc3RvcmU6IFN0b3JlLCBwcml2YXRlIGxvZ1dyaXRlcjogTG9nV3JpdGVyKSB7fVxyXG5cclxuICBkaXNwYXRjaGVkKHN0YXRlOiBhbnkpIHtcclxuICAgIGNvbnN0IGFjdGlvbk5hbWUgPSBnZXRBY3Rpb25UeXBlRnJvbUluc3RhbmNlKHRoaXMuYWN0aW9uKTtcclxuICAgIGNvbnN0IGZvcm1hdHRlZFRpbWUgPSBmb3JtYXRUaW1lKG5ldyBEYXRlKCkpO1xyXG5cclxuICAgIGNvbnN0IG1lc3NhZ2UgPSBgYWN0aW9uICR7YWN0aW9uTmFtZX0gQCAke2Zvcm1hdHRlZFRpbWV9YDtcclxuICAgIHRoaXMubG9nV3JpdGVyLnN0YXJ0R3JvdXAobWVzc2FnZSk7XHJcblxyXG4gICAgLy8gcHJpbnQgcGF5bG9hZCBvbmx5IGlmIGF0IGxlYXN0IG9uZSBwcm9wZXJ0eSBpcyBzdXBwbGllZFxyXG4gICAgaWYgKHRoaXMuX2hhc1BheWxvYWQodGhpcy5hY3Rpb24pKSB7XHJcbiAgICAgIHRoaXMubG9nV3JpdGVyLmxvZ0dyZXkoJ3BheWxvYWQnLCB7IC4uLnRoaXMuYWN0aW9uIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubG9nV3JpdGVyLmxvZ0dyZXkoJ3ByZXYgc3RhdGUnLCBzdGF0ZSk7XHJcbiAgfVxyXG5cclxuICBjb21wbGV0ZWQobmV4dFN0YXRlOiBhbnkpIHtcclxuICAgIHRoaXMubG9nV3JpdGVyLmxvZ0dyZWVuKCduZXh0IHN0YXRlJywgbmV4dFN0YXRlKTtcclxuICAgIHRoaXMubG9nV3JpdGVyLmVuZEdyb3VwKCk7XHJcbiAgfVxyXG5cclxuICBlcnJvcmVkKGVycm9yOiBhbnkpIHtcclxuICAgIHRoaXMubG9nV3JpdGVyLmxvZ1JlZGlzaCgnbmV4dCBzdGF0ZSBhZnRlciBlcnJvcicsIHRoaXMuc3RvcmUuc25hcHNob3QoKSk7XHJcbiAgICB0aGlzLmxvZ1dyaXRlci5sb2dSZWRpc2goJ2Vycm9yJywgZXJyb3IpO1xyXG4gICAgdGhpcy5sb2dXcml0ZXIuZW5kR3JvdXAoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2hhc1BheWxvYWQoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc3Qgbm9uRW1wdHlQcm9wZXJ0aWVzID0gdGhpcy5fZ2V0Tm9uRW1wdHlQcm9wZXJ0aWVzKGV2ZW50KTtcclxuICAgIHJldHVybiBub25FbXB0eVByb3BlcnRpZXMubGVuZ3RoID4gMDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldE5vbkVtcHR5UHJvcGVydGllcyhldmVudDogYW55KSB7XHJcbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoZXZlbnQpO1xyXG4gICAgY29uc3QgdmFsdWVzID0ga2V5cy5tYXAoa2V5ID0+IGV2ZW50W2tleV0pO1xyXG4gICAgcmV0dXJuIHZhbHVlcy5maWx0ZXIodmFsdWUgPT4gdmFsdWUgIT09IHVuZGVmaW5lZCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -3,10 +3,10 @@
3
3
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
4
  */
5
5
  import * as tslib_1 from "tslib";
6
- import { NgModule, InjectionToken } from '@angular/core';
6
+ import { InjectionToken, NgModule } from '@angular/core';
7
7
  import { NGXS_PLUGINS } from '@ngxs/store';
8
- import { NGXS_LOGGER_PLUGIN_OPTIONS } from './symbols';
9
8
  import { NgxsLoggerPlugin } from './logger.plugin';
9
+ import { NGXS_LOGGER_PLUGIN_OPTIONS } from './symbols';
10
10
  /** @type {?} */
11
11
  export var USER_OPTIONS = new InjectionToken('LOGGER_USER_OPTIONS');
12
12
  /**
@@ -18,7 +18,11 @@ export function loggerOptionsFactory(options) {
18
18
  var defaultLoggerOptions = {
19
19
  logger: console,
20
20
  collapsed: false,
21
- disabled: false
21
+ disabled: false,
22
+ filter: (/**
23
+ * @return {?}
24
+ */
25
+ function () { return true; })
22
26
  };
23
27
  return tslib_1.__assign({}, defaultLoggerOptions, options);
24
28
  }
@@ -60,4 +64,4 @@ var NgxsLoggerPluginModule = /** @class */ (function () {
60
64
  return NgxsLoggerPluginModule;
61
65
  }());
62
66
  export { NgxsLoggerPluginModule };
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL2xvZ2dlci1wbHVnaW4vIiwic291cmNlcyI6WyJzcmMvbG9nZ2VyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTNDLE9BQU8sRUFBMkIsMEJBQTBCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRW5ELE1BQU0sS0FBTyxZQUFZLEdBQUcsSUFBSSxjQUFjLENBQUMscUJBQXFCLENBQUM7Ozs7O0FBRXJFLE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxPQUFnQzs7UUFDN0Qsb0JBQW9CLEdBQTRCO1FBQ3BELE1BQU0sRUFBRSxPQUFPO1FBQ2YsU0FBUyxFQUFFLEtBQUs7UUFDaEIsUUFBUSxFQUFFLEtBQUs7S0FDaEI7SUFFRCw0QkFDSyxvQkFBb0IsRUFDcEIsT0FBTyxFQUNWO0FBQ0osQ0FBQztBQUVEO0lBQUE7SUF5QkEsQ0FBQzs7Ozs7SUF2QlEsOEJBQU87Ozs7SUFBZCxVQUNFLE9BQWlDO1FBRWpDLE9BQU87WUFDTCxRQUFRLEVBQUUsc0JBQXNCO1lBQ2hDLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsWUFBWTtvQkFDckIsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsS0FBSyxFQUFFLElBQUk7aUJBQ1o7Z0JBQ0Q7b0JBQ0UsT0FBTyxFQUFFLFlBQVk7b0JBQ3JCLFFBQVEsRUFBRSxPQUFPO2lCQUNsQjtnQkFDRDtvQkFDRSxPQUFPLEVBQUUsMEJBQTBCO29CQUNuQyxVQUFVLEVBQUUsb0JBQW9CO29CQUNoQyxJQUFJLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3JCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQzs7Z0JBeEJGLFFBQVE7O0lBeUJULDZCQUFDO0NBQUEsQUF6QkQsSUF5QkM7U0F4Qlksc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HWFNfUExVR0lOUyB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcclxuXHJcbmltcG9ydCB7IE5neHNMb2dnZXJQbHVnaW5PcHRpb25zLCBOR1hTX0xPR0dFUl9QTFVHSU5fT1BUSU9OUyB9IGZyb20gJy4vc3ltYm9scyc7XHJcbmltcG9ydCB7IE5neHNMb2dnZXJQbHVnaW4gfSBmcm9tICcuL2xvZ2dlci5wbHVnaW4nO1xyXG5cclxuZXhwb3J0IGNvbnN0IFVTRVJfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbignTE9HR0VSX1VTRVJfT1BUSU9OUycpO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvZ2dlck9wdGlvbnNGYWN0b3J5KG9wdGlvbnM6IE5neHNMb2dnZXJQbHVnaW5PcHRpb25zKSB7XHJcbiAgY29uc3QgZGVmYXVsdExvZ2dlck9wdGlvbnM6IE5neHNMb2dnZXJQbHVnaW5PcHRpb25zID0ge1xyXG4gICAgbG9nZ2VyOiBjb25zb2xlLFxyXG4gICAgY29sbGFwc2VkOiBmYWxzZSxcclxuICAgIGRpc2FibGVkOiBmYWxzZVxyXG4gIH07XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICAuLi5kZWZhdWx0TG9nZ2VyT3B0aW9ucyxcclxuICAgIC4uLm9wdGlvbnNcclxuICB9O1xyXG59XHJcblxyXG5ATmdNb2R1bGUoKVxyXG5leHBvcnQgY2xhc3MgTmd4c0xvZ2dlclBsdWdpbk1vZHVsZSB7XHJcbiAgc3RhdGljIGZvclJvb3QoXHJcbiAgICBvcHRpb25zPzogTmd4c0xvZ2dlclBsdWdpbk9wdGlvbnNcclxuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5neHNMb2dnZXJQbHVnaW5Nb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBOZ3hzTG9nZ2VyUGx1Z2luTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBOR1hTX1BMVUdJTlMsXHJcbiAgICAgICAgICB1c2VDbGFzczogTmd4c0xvZ2dlclBsdWdpbixcclxuICAgICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBVU0VSX09QVElPTlMsXHJcbiAgICAgICAgICB1c2VWYWx1ZTogb3B0aW9uc1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogTkdYU19MT0dHRVJfUExVR0lOX09QVElPTlMsXHJcbiAgICAgICAgICB1c2VGYWN0b3J5OiBsb2dnZXJPcHRpb25zRmFjdG9yeSxcclxuICAgICAgICAgIGRlcHM6IFtVU0VSX09QVElPTlNdXHJcbiAgICAgICAgfVxyXG4gICAgICBdXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL2xvZ2dlci1wbHVnaW4vIiwic291cmNlcyI6WyJzcmMvbG9nZ2VyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBMkIsMEJBQTBCLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBRWhGLE1BQU0sS0FBTyxZQUFZLEdBQUcsSUFBSSxjQUFjLENBQUMscUJBQXFCLENBQUM7Ozs7O0FBRXJFLE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxPQUFnQzs7UUFDN0Qsb0JBQW9CLEdBQTRCO1FBQ3BELE1BQU0sRUFBRSxPQUFPO1FBQ2YsU0FBUyxFQUFFLEtBQUs7UUFDaEIsUUFBUSxFQUFFLEtBQUs7UUFDZixNQUFNOzs7UUFBRSxjQUFNLE9BQUEsSUFBSSxFQUFKLENBQUksQ0FBQTtLQUNuQjtJQUVELDRCQUNLLG9CQUFvQixFQUNwQixPQUFPLEVBQ1Y7QUFDSixDQUFDO0FBRUQ7SUFBQTtJQXlCQSxDQUFDOzs7OztJQXZCUSw4QkFBTzs7OztJQUFkLFVBQ0UsT0FBaUM7UUFFakMsT0FBTztZQUNMLFFBQVEsRUFBRSxzQkFBc0I7WUFDaEMsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSxZQUFZO29CQUNyQixRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixLQUFLLEVBQUUsSUFBSTtpQkFDWjtnQkFDRDtvQkFDRSxPQUFPLEVBQUUsWUFBWTtvQkFDckIsUUFBUSxFQUFFLE9BQU87aUJBQ2xCO2dCQUNEO29CQUNFLE9BQU8sRUFBRSwwQkFBMEI7b0JBQ25DLFVBQVUsRUFBRSxvQkFBb0I7b0JBQ2hDLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDckI7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDOztnQkF4QkYsUUFBUTs7SUF5QlQsNkJBQUM7Q0FBQSxBQXpCRCxJQXlCQztTQXhCWSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdYU19QTFVHSU5TIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xyXG5pbXBvcnQgeyBOZ3hzTG9nZ2VyUGx1Z2luIH0gZnJvbSAnLi9sb2dnZXIucGx1Z2luJztcclxuaW1wb3J0IHsgTmd4c0xvZ2dlclBsdWdpbk9wdGlvbnMsIE5HWFNfTE9HR0VSX1BMVUdJTl9PUFRJT05TIH0gZnJvbSAnLi9zeW1ib2xzJztcclxuXHJcbmV4cG9ydCBjb25zdCBVU0VSX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ0xPR0dFUl9VU0VSX09QVElPTlMnKTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBsb2dnZXJPcHRpb25zRmFjdG9yeShvcHRpb25zOiBOZ3hzTG9nZ2VyUGx1Z2luT3B0aW9ucykge1xyXG4gIGNvbnN0IGRlZmF1bHRMb2dnZXJPcHRpb25zOiBOZ3hzTG9nZ2VyUGx1Z2luT3B0aW9ucyA9IHtcclxuICAgIGxvZ2dlcjogY29uc29sZSxcclxuICAgIGNvbGxhcHNlZDogZmFsc2UsXHJcbiAgICBkaXNhYmxlZDogZmFsc2UsXHJcbiAgICBmaWx0ZXI6ICgpID0+IHRydWVcclxuICB9O1xyXG5cclxuICByZXR1cm4ge1xyXG4gICAgLi4uZGVmYXVsdExvZ2dlck9wdGlvbnMsXHJcbiAgICAuLi5vcHRpb25zXHJcbiAgfTtcclxufVxyXG5cclxuQE5nTW9kdWxlKClcclxuZXhwb3J0IGNsYXNzIE5neHNMb2dnZXJQbHVnaW5Nb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290KFxyXG4gICAgb3B0aW9ucz86IE5neHNMb2dnZXJQbHVnaW5PcHRpb25zXHJcbiAgKTogTW9kdWxlV2l0aFByb3ZpZGVyczxOZ3hzTG9nZ2VyUGx1Z2luTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogTmd4c0xvZ2dlclBsdWdpbk1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogTkdYU19QTFVHSU5TLFxyXG4gICAgICAgICAgdXNlQ2xhc3M6IE5neHNMb2dnZXJQbHVnaW4sXHJcbiAgICAgICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogVVNFUl9PUFRJT05TLFxyXG4gICAgICAgICAgdXNlVmFsdWU6IG9wdGlvbnNcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IE5HWFNfTE9HR0VSX1BMVUdJTl9PUFRJT05TLFxyXG4gICAgICAgICAgdXNlRmFjdG9yeTogbG9nZ2VyT3B0aW9uc0ZhY3RvcnksXHJcbiAgICAgICAgICBkZXBzOiBbVVNFUl9PUFRJT05TXVxyXG4gICAgICAgIH1cclxuICAgICAgXVxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
@@ -2,12 +2,12 @@
2
2
  * @fileoverview added by tsickle
3
3
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
4
  */
5
- import { Injectable, Inject, Injector } from '@angular/core';
6
- import { tap, catchError } from 'rxjs/operators';
5
+ import { Inject, Injectable, Injector } from '@angular/core';
7
6
  import { Store } from '@ngxs/store';
8
- import { NGXS_LOGGER_PLUGIN_OPTIONS } from './symbols';
7
+ import { catchError, tap } from 'rxjs/operators';
9
8
  import { ActionLogger } from './action-logger';
10
9
  import { LogWriter } from './log-writer';
10
+ import { NGXS_LOGGER_PLUGIN_OPTIONS } from './symbols';
11
11
  var NgxsLoggerPlugin = /** @class */ (function () {
12
12
  function NgxsLoggerPlugin(_options, _injector) {
13
13
  this._options = _options;
@@ -26,16 +26,14 @@ var NgxsLoggerPlugin = /** @class */ (function () {
26
26
  * @return {?}
27
27
  */
28
28
  function (state, event, next) {
29
- if (this._options.disabled) {
29
+ if (this._options.disabled || !(/** @type {?} */ (this._options.filter))(event, state)) {
30
30
  return next(state, event);
31
31
  }
32
- /** @type {?} */
33
- var logWriter = new LogWriter(this._options);
32
+ this._logWriter = this._logWriter || new LogWriter(this._options);
34
33
  // Retrieve lazily to avoid cyclic dependency exception
34
+ this._store = this._store || this._injector.get(Store);
35
35
  /** @type {?} */
36
- var store = this._injector.get(Store);
37
- /** @type {?} */
38
- var actionLogger = new ActionLogger(event, store, logWriter);
36
+ var actionLogger = new ActionLogger(event, this._store, this._logWriter);
39
37
  actionLogger.dispatched(state);
40
38
  return next(state, event).pipe(tap((/**
41
39
  * @param {?} nextState
@@ -64,6 +62,16 @@ var NgxsLoggerPlugin = /** @class */ (function () {
64
62
  }());
65
63
  export { NgxsLoggerPlugin };
66
64
  if (false) {
65
+ /**
66
+ * @type {?}
67
+ * @private
68
+ */
69
+ NgxsLoggerPlugin.prototype._store;
70
+ /**
71
+ * @type {?}
72
+ * @private
73
+ */
74
+ NgxsLoggerPlugin.prototype._logWriter;
67
75
  /**
68
76
  * @type {?}
69
77
  * @private
@@ -75,4 +83,4 @@ if (false) {
75
83
  */
76
84
  NgxsLoggerPlugin.prototype._injector;
77
85
  }
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL2xvZ2dlci1wbHVnaW4vIiwic291cmNlcyI6WyJzcmMvbG9nZ2VyLnBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakQsT0FBTyxFQUFnQyxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbEUsT0FBTyxFQUFFLDBCQUEwQixFQUEyQixNQUFNLFdBQVcsQ0FBQztBQUNoRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV6QztJQUVFLDBCQUM4QyxRQUFpQyxFQUNyRSxTQUFtQjtRQURpQixhQUFRLEdBQVIsUUFBUSxDQUF5QjtRQUNyRSxjQUFTLEdBQVQsU0FBUyxDQUFVO0lBQzFCLENBQUM7Ozs7Ozs7SUFFSixpQ0FBTTs7Ozs7O0lBQU4sVUFBTyxLQUFVLEVBQUUsS0FBVSxFQUFFLElBQXNCO1FBQ25ELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUU7WUFDMUIsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQzNCOztZQUVLLFNBQVMsR0FBRyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDOzs7WUFFeEMsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFRLEtBQUssQ0FBQzs7WUFFeEMsWUFBWSxHQUFHLElBQUksWUFBWSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDO1FBRTlELFlBQVksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFL0IsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDNUIsR0FBRzs7OztRQUFDLFVBQUEsU0FBUztZQUNYLFlBQVksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxFQUFDLEVBQ0YsVUFBVTs7OztRQUFDLFVBQUEsS0FBSztZQUNkLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUIsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDLEVBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7Z0JBN0JGLFVBQVU7Ozs7Z0RBR04sTUFBTSxTQUFDLDBCQUEwQjtnQkFaVCxRQUFROztJQXVDckMsdUJBQUM7Q0FBQSxBQTlCRCxJQThCQztTQTdCWSxnQkFBZ0I7Ozs7OztJQUV6QixvQ0FBNkU7Ozs7O0lBQzdFLHFDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgdGFwLCBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgTmd4c1BsdWdpbiwgTmd4c05leHRQbHVnaW5GbiwgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XHJcblxyXG5pbXBvcnQgeyBOR1hTX0xPR0dFUl9QTFVHSU5fT1BUSU9OUywgTmd4c0xvZ2dlclBsdWdpbk9wdGlvbnMgfSBmcm9tICcuL3N5bWJvbHMnO1xyXG5pbXBvcnQgeyBBY3Rpb25Mb2dnZXIgfSBmcm9tICcuL2FjdGlvbi1sb2dnZXInO1xyXG5pbXBvcnQgeyBMb2dXcml0ZXIgfSBmcm9tICcuL2xvZy13cml0ZXInO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTmd4c0xvZ2dlclBsdWdpbiBpbXBsZW1lbnRzIE5neHNQbHVnaW4ge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChOR1hTX0xPR0dFUl9QTFVHSU5fT1BUSU9OUykgcHJpdmF0ZSBfb3B0aW9uczogTmd4c0xvZ2dlclBsdWdpbk9wdGlvbnMsXHJcbiAgICBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3JcclxuICApIHt9XHJcblxyXG4gIGhhbmRsZShzdGF0ZTogYW55LCBldmVudDogYW55LCBuZXh0OiBOZ3hzTmV4dFBsdWdpbkZuKSB7XHJcbiAgICBpZiAodGhpcy5fb3B0aW9ucy5kaXNhYmxlZCkge1xyXG4gICAgICByZXR1cm4gbmV4dChzdGF0ZSwgZXZlbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGxvZ1dyaXRlciA9IG5ldyBMb2dXcml0ZXIodGhpcy5fb3B0aW9ucyk7XHJcbiAgICAvLyBSZXRyaWV2ZSBsYXppbHkgdG8gYXZvaWQgY3ljbGljIGRlcGVuZGVuY3kgZXhjZXB0aW9uXHJcbiAgICBjb25zdCBzdG9yZSA9IHRoaXMuX2luamVjdG9yLmdldDxTdG9yZT4oU3RvcmUpO1xyXG5cclxuICAgIGNvbnN0IGFjdGlvbkxvZ2dlciA9IG5ldyBBY3Rpb25Mb2dnZXIoZXZlbnQsIHN0b3JlLCBsb2dXcml0ZXIpO1xyXG5cclxuICAgIGFjdGlvbkxvZ2dlci5kaXNwYXRjaGVkKHN0YXRlKTtcclxuXHJcbiAgICByZXR1cm4gbmV4dChzdGF0ZSwgZXZlbnQpLnBpcGUoXHJcbiAgICAgIHRhcChuZXh0U3RhdGUgPT4ge1xyXG4gICAgICAgIGFjdGlvbkxvZ2dlci5jb21wbGV0ZWQobmV4dFN0YXRlKTtcclxuICAgICAgfSksXHJcbiAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xyXG4gICAgICAgIGFjdGlvbkxvZ2dlci5lcnJvcmVkKGVycm9yKTtcclxuICAgICAgICB0aHJvdyBlcnJvcjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL2xvZ2dlci1wbHVnaW4vIiwic291cmNlcyI6WyJzcmMvbG9nZ2VyLnBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBZ0MsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUEyQiwwQkFBMEIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVoRjtJQUtFLDBCQUM4QyxRQUFpQyxFQUNyRSxTQUFtQjtRQURpQixhQUFRLEdBQVIsUUFBUSxDQUF5QjtRQUNyRSxjQUFTLEdBQVQsU0FBUyxDQUFVO0lBQzFCLENBQUM7Ozs7Ozs7SUFFSixpQ0FBTTs7Ozs7O0lBQU4sVUFBTyxLQUFVLEVBQUUsS0FBVSxFQUFFLElBQXNCO1FBQ25ELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksQ0FBQyxtQkFBQSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBQyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRTtZQUNsRSxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDM0I7UUFFRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xFLHVEQUF1RDtRQUN2RCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQVEsS0FBSyxDQUFDLENBQUM7O1lBRXhELFlBQVksR0FBRyxJQUFJLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDO1FBRTFFLFlBQVksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFL0IsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDNUIsR0FBRzs7OztRQUFDLFVBQUEsU0FBUztZQUNYLFlBQVksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxFQUFDLEVBQ0YsVUFBVTs7OztRQUFDLFVBQUEsS0FBSztZQUNkLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUIsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDLEVBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7Z0JBaENGLFVBQVU7Ozs7Z0RBTU4sTUFBTSxTQUFDLDBCQUEwQjtnQkFiVCxRQUFROztJQXdDckMsdUJBQUM7Q0FBQSxBQWpDRCxJQWlDQztTQWhDWSxnQkFBZ0I7Ozs7OztJQUMzQixrQ0FBc0I7Ozs7O0lBQ3RCLHNDQUE4Qjs7Ozs7SUFHNUIsb0NBQTZFOzs7OztJQUM3RSxxQ0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5neHNOZXh0UGx1Z2luRm4sIE5neHNQbHVnaW4sIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEFjdGlvbkxvZ2dlciB9IGZyb20gJy4vYWN0aW9uLWxvZ2dlcic7XHJcbmltcG9ydCB7IExvZ1dyaXRlciB9IGZyb20gJy4vbG9nLXdyaXRlcic7XHJcbmltcG9ydCB7IE5neHNMb2dnZXJQbHVnaW5PcHRpb25zLCBOR1hTX0xPR0dFUl9QTFVHSU5fT1BUSU9OUyB9IGZyb20gJy4vc3ltYm9scyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBOZ3hzTG9nZ2VyUGx1Z2luIGltcGxlbWVudHMgTmd4c1BsdWdpbiB7XHJcbiAgcHJpdmF0ZSBfc3RvcmU6IFN0b3JlO1xyXG4gIHByaXZhdGUgX2xvZ1dyaXRlcjogTG9nV3JpdGVyO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoTkdYU19MT0dHRVJfUExVR0lOX09QVElPTlMpIHByaXZhdGUgX29wdGlvbnM6IE5neHNMb2dnZXJQbHVnaW5PcHRpb25zLFxyXG4gICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yXHJcbiAgKSB7fVxyXG5cclxuICBoYW5kbGUoc3RhdGU6IGFueSwgZXZlbnQ6IGFueSwgbmV4dDogTmd4c05leHRQbHVnaW5Gbikge1xyXG4gICAgaWYgKHRoaXMuX29wdGlvbnMuZGlzYWJsZWQgfHwgIXRoaXMuX29wdGlvbnMuZmlsdGVyIShldmVudCwgc3RhdGUpKSB7XHJcbiAgICAgIHJldHVybiBuZXh0KHN0YXRlLCBldmVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fbG9nV3JpdGVyID0gdGhpcy5fbG9nV3JpdGVyIHx8IG5ldyBMb2dXcml0ZXIodGhpcy5fb3B0aW9ucyk7XHJcbiAgICAvLyBSZXRyaWV2ZSBsYXppbHkgdG8gYXZvaWQgY3ljbGljIGRlcGVuZGVuY3kgZXhjZXB0aW9uXHJcbiAgICB0aGlzLl9zdG9yZSA9IHRoaXMuX3N0b3JlIHx8IHRoaXMuX2luamVjdG9yLmdldDxTdG9yZT4oU3RvcmUpO1xyXG5cclxuICAgIGNvbnN0IGFjdGlvbkxvZ2dlciA9IG5ldyBBY3Rpb25Mb2dnZXIoZXZlbnQsIHRoaXMuX3N0b3JlLCB0aGlzLl9sb2dXcml0ZXIpO1xyXG5cclxuICAgIGFjdGlvbkxvZ2dlci5kaXNwYXRjaGVkKHN0YXRlKTtcclxuXHJcbiAgICByZXR1cm4gbmV4dChzdGF0ZSwgZXZlbnQpLnBpcGUoXHJcbiAgICAgIHRhcChuZXh0U3RhdGUgPT4ge1xyXG4gICAgICAgIGFjdGlvbkxvZ2dlci5jb21wbGV0ZWQobmV4dFN0YXRlKTtcclxuICAgICAgfSksXHJcbiAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xyXG4gICAgICAgIGFjdGlvbkxvZ2dlci5lcnJvcmVkKGVycm9yKTtcclxuICAgICAgICB0aHJvdyBlcnJvcjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -23,7 +23,12 @@ if (false) {
23
23
  * @type {?|undefined}
24
24
  */
25
25
  NgxsLoggerPluginOptions.prototype.disabled;
26
+ /**
27
+ * Predicate for actions to be the logged. Takes action and state snapshot as parameters
28
+ * @type {?|undefined}
29
+ */
30
+ NgxsLoggerPluginOptions.prototype.filter;
26
31
  }
27
32
  /** @type {?} */
28
33
  export var NGXS_LOGGER_PLUGIN_OPTIONS = new InjectionToken('NGXS_LOGGER_PLUGIN_OPTIONS');
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL2xvZ2dlci1wbHVnaW4vIiwic291cmNlcyI6WyJzcmMvc3ltYm9scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUUvQyw2Q0FTQzs7Ozs7O0lBUEMsNENBQW9COzs7OztJQUdwQix5Q0FBYTs7Ozs7SUFHYiwyQ0FBbUI7OztBQUdyQixNQUFNLEtBQU8sMEJBQTBCLEdBQUcsSUFBSSxjQUFjLENBQUMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBOZ3hzTG9nZ2VyUGx1Z2luT3B0aW9ucyB7XHJcbiAgLyoqIEF1dG8gZXhwYW5kIGxvZ2dlZCBhY3Rpb25zICAqL1xyXG4gIGNvbGxhcHNlZD86IGJvb2xlYW47XHJcblxyXG4gIC8qKiBQcm92aWRlIGFsdGVybmF0ZSBjb25zb2xlLmxvZyBpbXBsZW1lbnRhdGlvbiAqL1xyXG4gIGxvZ2dlcj86IGFueTtcclxuXHJcbiAgLyoqIERpc2FibGUgdGhlIGxvZ2dlci4gVXNlZnVsIGZvciBwcm9kIG1vZGUuICovXHJcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgTkdYU19MT0dHRVJfUExVR0lOX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ05HWFNfTE9HR0VSX1BMVUdJTl9PUFRJT05TJyk7XHJcbiJdfQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL2xvZ2dlci1wbHVnaW4vIiwic291cmNlcyI6WyJzcmMvc3ltYm9scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUUvQyw2Q0FZQzs7Ozs7O0lBVkMsNENBQW9COzs7OztJQUdwQix5Q0FBYTs7Ozs7SUFHYiwyQ0FBbUI7Ozs7O0lBR25CLHlDQUE4Qzs7O0FBR2hELE1BQU0sS0FBTywwQkFBMEIsR0FBRyxJQUFJLGNBQWMsQ0FBQyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE5neHNMb2dnZXJQbHVnaW5PcHRpb25zIHtcclxuICAvKiogQXV0byBleHBhbmQgbG9nZ2VkIGFjdGlvbnMgICovXHJcbiAgY29sbGFwc2VkPzogYm9vbGVhbjtcclxuXHJcbiAgLyoqIFByb3ZpZGUgYWx0ZXJuYXRlIGNvbnNvbGUubG9nIGltcGxlbWVudGF0aW9uICovXHJcbiAgbG9nZ2VyPzogYW55O1xyXG5cclxuICAvKiogRGlzYWJsZSB0aGUgbG9nZ2VyLiBVc2VmdWwgZm9yIHByb2QgbW9kZS4gKi9cclxuICBkaXNhYmxlZD86IGJvb2xlYW47XHJcblxyXG4gIC8qKiBQcmVkaWNhdGUgZm9yIGFjdGlvbnMgdG8gYmUgdGhlIGxvZ2dlZC4gVGFrZXMgYWN0aW9uIGFuZCBzdGF0ZSBzbmFwc2hvdCBhcyBwYXJhbWV0ZXJzICovXHJcbiAgZmlsdGVyPzogKGFjdGlvbjogYW55LCBzdGF0ZTogYW55KSA9PiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgTkdYU19MT0dHRVJfUExVR0lOX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ05HWFNfTE9HR0VSX1BMVUdJTl9PUFRJT05TJyk7XHJcbiJdfQ==
@@ -2,34 +2,6 @@ import { InjectionToken, Injectable, Inject, Injector, NgModule } from '@angular
2
2
  import { getActionTypeFromInstance, Store, NGXS_PLUGINS } from '@ngxs/store';
3
3
  import { tap, catchError } from 'rxjs/operators';
4
4
 
5
- /**
6
- * @fileoverview added by tsickle
7
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
8
- */
9
- /**
10
- * @record
11
- */
12
- function NgxsLoggerPluginOptions() { }
13
- if (false) {
14
- /**
15
- * Auto expand logged actions
16
- * @type {?|undefined}
17
- */
18
- NgxsLoggerPluginOptions.prototype.collapsed;
19
- /**
20
- * Provide alternate console.log implementation
21
- * @type {?|undefined}
22
- */
23
- NgxsLoggerPluginOptions.prototype.logger;
24
- /**
25
- * Disable the logger. Useful for prod mode.
26
- * @type {?|undefined}
27
- */
28
- NgxsLoggerPluginOptions.prototype.disabled;
29
- }
30
- /** @type {?} */
31
- const NGXS_LOGGER_PLUGIN_OPTIONS = new InjectionToken('NGXS_LOGGER_PLUGIN_OPTIONS');
32
-
33
5
  /**
34
6
  * @fileoverview added by tsickle
35
7
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
@@ -140,7 +112,7 @@ class ActionLogger {
140
112
  * @param {?} value
141
113
  * @return {?}
142
114
  */
143
- value => !!value));
115
+ value => value !== undefined));
144
116
  }
145
117
  }
146
118
  if (false) {
@@ -278,6 +250,39 @@ if (false) {
278
250
  LogWriter.prototype.options;
279
251
  }
280
252
 
253
+ /**
254
+ * @fileoverview added by tsickle
255
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
256
+ */
257
+ /**
258
+ * @record
259
+ */
260
+ function NgxsLoggerPluginOptions() { }
261
+ if (false) {
262
+ /**
263
+ * Auto expand logged actions
264
+ * @type {?|undefined}
265
+ */
266
+ NgxsLoggerPluginOptions.prototype.collapsed;
267
+ /**
268
+ * Provide alternate console.log implementation
269
+ * @type {?|undefined}
270
+ */
271
+ NgxsLoggerPluginOptions.prototype.logger;
272
+ /**
273
+ * Disable the logger. Useful for prod mode.
274
+ * @type {?|undefined}
275
+ */
276
+ NgxsLoggerPluginOptions.prototype.disabled;
277
+ /**
278
+ * Predicate for actions to be the logged. Takes action and state snapshot as parameters
279
+ * @type {?|undefined}
280
+ */
281
+ NgxsLoggerPluginOptions.prototype.filter;
282
+ }
283
+ /** @type {?} */
284
+ const NGXS_LOGGER_PLUGIN_OPTIONS = new InjectionToken('NGXS_LOGGER_PLUGIN_OPTIONS');
285
+
281
286
  /**
282
287
  * @fileoverview added by tsickle
283
288
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
@@ -298,16 +303,14 @@ class NgxsLoggerPlugin {
298
303
  * @return {?}
299
304
  */
300
305
  handle(state, event, next) {
301
- if (this._options.disabled) {
306
+ if (this._options.disabled || !(/** @type {?} */ (this._options.filter))(event, state)) {
302
307
  return next(state, event);
303
308
  }
304
- /** @type {?} */
305
- const logWriter = new LogWriter(this._options);
309
+ this._logWriter = this._logWriter || new LogWriter(this._options);
306
310
  // Retrieve lazily to avoid cyclic dependency exception
311
+ this._store = this._store || this._injector.get(Store);
307
312
  /** @type {?} */
308
- const store = this._injector.get(Store);
309
- /** @type {?} */
310
- const actionLogger = new ActionLogger(event, store, logWriter);
313
+ const actionLogger = new ActionLogger(event, this._store, this._logWriter);
311
314
  actionLogger.dispatched(state);
312
315
  return next(state, event).pipe(tap((/**
313
316
  * @param {?} nextState
@@ -334,6 +337,16 @@ NgxsLoggerPlugin.ctorParameters = () => [
334
337
  { type: Injector }
335
338
  ];
336
339
  if (false) {
340
+ /**
341
+ * @type {?}
342
+ * @private
343
+ */
344
+ NgxsLoggerPlugin.prototype._store;
345
+ /**
346
+ * @type {?}
347
+ * @private
348
+ */
349
+ NgxsLoggerPlugin.prototype._logWriter;
337
350
  /**
338
351
  * @type {?}
339
352
  * @private
@@ -361,7 +374,11 @@ function loggerOptionsFactory(options) {
361
374
  const defaultLoggerOptions = {
362
375
  logger: console,
363
376
  collapsed: false,
364
- disabled: false
377
+ disabled: false,
378
+ filter: (/**
379
+ * @return {?}
380
+ */
381
+ () => true)
365
382
  };
366
383
  return Object.assign({}, defaultLoggerOptions, options);
367
384
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ngxs-logger-plugin.js","sources":["ng://@ngxs/logger-plugin/src/symbols.ts","ng://@ngxs/logger-plugin/src/internals.ts","ng://@ngxs/logger-plugin/src/action-logger.ts","ng://@ngxs/logger-plugin/src/log-writer.ts","ng://@ngxs/logger-plugin/src/logger.plugin.ts","ng://@ngxs/logger-plugin/src/logger.module.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\n\r\nexport interface NgxsLoggerPluginOptions {\r\n /** Auto expand logged actions */\r\n collapsed?: boolean;\r\n\r\n /** Provide alternate console.log implementation */\r\n logger?: any;\r\n\r\n /** Disable the logger. Useful for prod mode. */\r\n disabled?: boolean;\r\n}\r\n\r\nexport const NGXS_LOGGER_PLUGIN_OPTIONS = new InjectionToken('NGXS_LOGGER_PLUGIN_OPTIONS');\r\n","export const repeat = (str: string, times: number) => new Array(times + 1).join(str);\r\n\r\nexport const pad = (num: number, maxLength: number) =>\r\n repeat('0', maxLength - num.toString().length) + num;\r\n\r\nexport function formatTime(time: Date) {\r\n return (\r\n pad(time.getHours(), 2) +\r\n `:` +\r\n pad(time.getMinutes(), 2) +\r\n `:` +\r\n pad(time.getSeconds(), 2) +\r\n `.` +\r\n pad(time.getMilliseconds(), 3)\r\n );\r\n}\r\n","import { getActionTypeFromInstance, Store } from '@ngxs/store';\r\n\r\nimport { formatTime } from './internals';\r\nimport { LogWriter } from './log-writer';\r\n\r\nexport class ActionLogger {\r\n constructor(private action: any, private store: Store, private logWriter: LogWriter) {}\r\n\r\n dispatched(state: any) {\r\n const actionName = getActionTypeFromInstance(this.action);\r\n const formattedTime = formatTime(new Date());\r\n\r\n const message = `action ${actionName} @ ${formattedTime}`;\r\n this.logWriter.startGroup(message);\r\n\r\n // print payload only if at least one property is supplied\r\n if (this._hasPayload(this.action)) {\r\n this.logWriter.logGrey('payload', { ...this.action });\r\n }\r\n\r\n this.logWriter.logGrey('prev state', state);\r\n }\r\n\r\n completed(nextState: any) {\r\n this.logWriter.logGreen('next state', nextState);\r\n this.logWriter.endGroup();\r\n }\r\n\r\n errored(error: any) {\r\n this.logWriter.logRedish('next state after error', this.store.snapshot());\r\n this.logWriter.logRedish('error', error);\r\n this.logWriter.endGroup();\r\n }\r\n\r\n private _hasPayload(event: any) {\r\n const nonEmptyProperties = this._getNonEmptyProperties(event);\r\n return nonEmptyProperties.length > 0;\r\n }\r\n\r\n private _getNonEmptyProperties(event: any) {\r\n const keys = Object.keys(event);\r\n const values = keys.map(key => event[key]);\r\n return values.filter(value => !!value);\r\n }\r\n}\r\n","import { NgxsLoggerPluginOptions } from './symbols';\r\nexport class LogWriter {\r\n private logger: any;\r\n\r\n constructor(private options: NgxsLoggerPluginOptions) {\r\n this.options = this.options || <any>{};\r\n this.logger = options.logger || console;\r\n }\r\n\r\n startGroup(message: string) {\r\n const startGroupFn = this.options.collapsed\r\n ? this.logger.groupCollapsed\r\n : this.logger.group;\r\n try {\r\n startGroupFn.call(this.logger, message);\r\n } catch (e) {\r\n console.log(message);\r\n }\r\n }\r\n\r\n endGroup() {\r\n try {\r\n this.logger.groupEnd();\r\n } catch (e) {\r\n this.logger.log('—— log end ——');\r\n }\r\n }\r\n\r\n logGrey(title: string, payload: any) {\r\n const greyStyle = 'color: #9E9E9E; font-weight: bold';\r\n this.log(title, greyStyle, payload);\r\n }\r\n\r\n logGreen(title: string, payload: any) {\r\n const greenStyle = 'color: #4CAF50; font-weight: bold';\r\n this.log(title, greenStyle, payload);\r\n }\r\n\r\n logRedish(title: string, payload: any) {\r\n const redishStyle = 'color: #FD8182; font-weight: bold';\r\n this.log(title, redishStyle, payload);\r\n }\r\n\r\n log(title: string, color: string, payload: any) {\r\n if (this.isIE()) {\r\n this.logger.log(title, payload);\r\n } else {\r\n this.logger.log('%c ' + title, color, payload);\r\n }\r\n }\r\n\r\n isIE(): boolean {\r\n const ua =\r\n typeof window !== 'undefined' && window.navigator.userAgent\r\n ? window.navigator.userAgent\r\n : '';\r\n let msIE = false;\r\n const oldIE = ua.indexOf('MSIE ');\r\n const newIE = ua.indexOf('Trident/');\r\n if (oldIE > -1 || newIE > -1) {\r\n msIE = true;\r\n }\r\n return msIE;\r\n }\r\n}\r\n","import { Injectable, Inject, Injector } from '@angular/core';\r\nimport { tap, catchError } from 'rxjs/operators';\r\n\r\nimport { NgxsPlugin, NgxsNextPluginFn, Store } from '@ngxs/store';\r\n\r\nimport { NGXS_LOGGER_PLUGIN_OPTIONS, NgxsLoggerPluginOptions } from './symbols';\r\nimport { ActionLogger } from './action-logger';\r\nimport { LogWriter } from './log-writer';\r\n\r\n@Injectable()\r\nexport class NgxsLoggerPlugin implements NgxsPlugin {\r\n constructor(\r\n @Inject(NGXS_LOGGER_PLUGIN_OPTIONS) private _options: NgxsLoggerPluginOptions,\r\n private _injector: Injector\r\n ) {}\r\n\r\n handle(state: any, event: any, next: NgxsNextPluginFn) {\r\n if (this._options.disabled) {\r\n return next(state, event);\r\n }\r\n\r\n const logWriter = new LogWriter(this._options);\r\n // Retrieve lazily to avoid cyclic dependency exception\r\n const store = this._injector.get<Store>(Store);\r\n\r\n const actionLogger = new ActionLogger(event, store, logWriter);\r\n\r\n actionLogger.dispatched(state);\r\n\r\n return next(state, event).pipe(\r\n tap(nextState => {\r\n actionLogger.completed(nextState);\r\n }),\r\n catchError(error => {\r\n actionLogger.errored(error);\r\n throw error;\r\n })\r\n );\r\n }\r\n}\r\n","import { NgModule, ModuleWithProviders, InjectionToken } from '@angular/core';\r\nimport { NGXS_PLUGINS } from '@ngxs/store';\r\n\r\nimport { NgxsLoggerPluginOptions, NGXS_LOGGER_PLUGIN_OPTIONS } from './symbols';\r\nimport { NgxsLoggerPlugin } from './logger.plugin';\r\n\r\nexport const USER_OPTIONS = new InjectionToken('LOGGER_USER_OPTIONS');\r\n\r\nexport function loggerOptionsFactory(options: NgxsLoggerPluginOptions) {\r\n const defaultLoggerOptions: NgxsLoggerPluginOptions = {\r\n logger: console,\r\n collapsed: false,\r\n disabled: false\r\n };\r\n\r\n return {\r\n ...defaultLoggerOptions,\r\n ...options\r\n };\r\n}\r\n\r\n@NgModule()\r\nexport class NgxsLoggerPluginModule {\r\n static forRoot(\r\n options?: NgxsLoggerPluginOptions\r\n ): ModuleWithProviders<NgxsLoggerPluginModule> {\r\n return {\r\n ngModule: NgxsLoggerPluginModule,\r\n providers: [\r\n {\r\n provide: NGXS_PLUGINS,\r\n useClass: NgxsLoggerPlugin,\r\n multi: true\r\n },\r\n {\r\n provide: USER_OPTIONS,\r\n useValue: options\r\n },\r\n {\r\n provide: NGXS_LOGGER_PLUGIN_OPTIONS,\r\n useFactory: loggerOptionsFactory,\r\n deps: [USER_OPTIONS]\r\n }\r\n ]\r\n };\r\n }\r\n}\r\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngxs-logger-plugin.js","sources":["ng://@ngxs/logger-plugin/src/internals.ts","ng://@ngxs/logger-plugin/src/action-logger.ts","ng://@ngxs/logger-plugin/src/log-writer.ts","ng://@ngxs/logger-plugin/src/symbols.ts","ng://@ngxs/logger-plugin/src/logger.plugin.ts","ng://@ngxs/logger-plugin/src/logger.module.ts"],"sourcesContent":["export const repeat = (str: string, times: number) => new Array(times + 1).join(str);\r\n\r\nexport const pad = (num: number, maxLength: number) =>\r\n repeat('0', maxLength - num.toString().length) + num;\r\n\r\nexport function formatTime(time: Date) {\r\n return (\r\n pad(time.getHours(), 2) +\r\n `:` +\r\n pad(time.getMinutes(), 2) +\r\n `:` +\r\n pad(time.getSeconds(), 2) +\r\n `.` +\r\n pad(time.getMilliseconds(), 3)\r\n );\r\n}\r\n","import { getActionTypeFromInstance, Store } from '@ngxs/store';\r\n\r\nimport { formatTime } from './internals';\r\nimport { LogWriter } from './log-writer';\r\n\r\nexport class ActionLogger {\r\n constructor(private action: any, private store: Store, private logWriter: LogWriter) {}\r\n\r\n dispatched(state: any) {\r\n const actionName = getActionTypeFromInstance(this.action);\r\n const formattedTime = formatTime(new Date());\r\n\r\n const message = `action ${actionName} @ ${formattedTime}`;\r\n this.logWriter.startGroup(message);\r\n\r\n // print payload only if at least one property is supplied\r\n if (this._hasPayload(this.action)) {\r\n this.logWriter.logGrey('payload', { ...this.action });\r\n }\r\n\r\n this.logWriter.logGrey('prev state', state);\r\n }\r\n\r\n completed(nextState: any) {\r\n this.logWriter.logGreen('next state', nextState);\r\n this.logWriter.endGroup();\r\n }\r\n\r\n errored(error: any) {\r\n this.logWriter.logRedish('next state after error', this.store.snapshot());\r\n this.logWriter.logRedish('error', error);\r\n this.logWriter.endGroup();\r\n }\r\n\r\n private _hasPayload(event: any) {\r\n const nonEmptyProperties = this._getNonEmptyProperties(event);\r\n return nonEmptyProperties.length > 0;\r\n }\r\n\r\n private _getNonEmptyProperties(event: any) {\r\n const keys = Object.keys(event);\r\n const values = keys.map(key => event[key]);\r\n return values.filter(value => value !== undefined);\r\n }\r\n}\r\n","import { NgxsLoggerPluginOptions } from './symbols';\r\nexport class LogWriter {\r\n private logger: any;\r\n\r\n constructor(private options: NgxsLoggerPluginOptions) {\r\n this.options = this.options || <any>{};\r\n this.logger = options.logger || console;\r\n }\r\n\r\n startGroup(message: string) {\r\n const startGroupFn = this.options.collapsed\r\n ? this.logger.groupCollapsed\r\n : this.logger.group;\r\n try {\r\n startGroupFn.call(this.logger, message);\r\n } catch (e) {\r\n console.log(message);\r\n }\r\n }\r\n\r\n endGroup() {\r\n try {\r\n this.logger.groupEnd();\r\n } catch (e) {\r\n this.logger.log('—— log end ——');\r\n }\r\n }\r\n\r\n logGrey(title: string, payload: any) {\r\n const greyStyle = 'color: #9E9E9E; font-weight: bold';\r\n this.log(title, greyStyle, payload);\r\n }\r\n\r\n logGreen(title: string, payload: any) {\r\n const greenStyle = 'color: #4CAF50; font-weight: bold';\r\n this.log(title, greenStyle, payload);\r\n }\r\n\r\n logRedish(title: string, payload: any) {\r\n const redishStyle = 'color: #FD8182; font-weight: bold';\r\n this.log(title, redishStyle, payload);\r\n }\r\n\r\n log(title: string, color: string, payload: any) {\r\n if (this.isIE()) {\r\n this.logger.log(title, payload);\r\n } else {\r\n this.logger.log('%c ' + title, color, payload);\r\n }\r\n }\r\n\r\n isIE(): boolean {\r\n const ua =\r\n typeof window !== 'undefined' && window.navigator.userAgent\r\n ? window.navigator.userAgent\r\n : '';\r\n let msIE = false;\r\n const oldIE = ua.indexOf('MSIE ');\r\n const newIE = ua.indexOf('Trident/');\r\n if (oldIE > -1 || newIE > -1) {\r\n msIE = true;\r\n }\r\n return msIE;\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport interface NgxsLoggerPluginOptions {\r\n /** Auto expand logged actions */\r\n collapsed?: boolean;\r\n\r\n /** Provide alternate console.log implementation */\r\n logger?: any;\r\n\r\n /** Disable the logger. Useful for prod mode. */\r\n disabled?: boolean;\r\n\r\n /** Predicate for actions to be the logged. Takes action and state snapshot as parameters */\r\n filter?: (action: any, state: any) => boolean;\r\n}\r\n\r\nexport const NGXS_LOGGER_PLUGIN_OPTIONS = new InjectionToken('NGXS_LOGGER_PLUGIN_OPTIONS');\r\n","import { Inject, Injectable, Injector } from '@angular/core';\r\nimport { NgxsNextPluginFn, NgxsPlugin, Store } from '@ngxs/store';\r\nimport { catchError, tap } from 'rxjs/operators';\r\nimport { ActionLogger } from './action-logger';\r\nimport { LogWriter } from './log-writer';\r\nimport { NgxsLoggerPluginOptions, NGXS_LOGGER_PLUGIN_OPTIONS } from './symbols';\r\n\r\n@Injectable()\r\nexport class NgxsLoggerPlugin implements NgxsPlugin {\r\n private _store: Store;\r\n private _logWriter: LogWriter;\r\n\r\n constructor(\r\n @Inject(NGXS_LOGGER_PLUGIN_OPTIONS) private _options: NgxsLoggerPluginOptions,\r\n private _injector: Injector\r\n ) {}\r\n\r\n handle(state: any, event: any, next: NgxsNextPluginFn) {\r\n if (this._options.disabled || !this._options.filter!(event, state)) {\r\n return next(state, event);\r\n }\r\n\r\n this._logWriter = this._logWriter || new LogWriter(this._options);\r\n // Retrieve lazily to avoid cyclic dependency exception\r\n this._store = this._store || this._injector.get<Store>(Store);\r\n\r\n const actionLogger = new ActionLogger(event, this._store, this._logWriter);\r\n\r\n actionLogger.dispatched(state);\r\n\r\n return next(state, event).pipe(\r\n tap(nextState => {\r\n actionLogger.completed(nextState);\r\n }),\r\n catchError(error => {\r\n actionLogger.errored(error);\r\n throw error;\r\n })\r\n );\r\n }\r\n}\r\n","import { InjectionToken, ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { NGXS_PLUGINS } from '@ngxs/store';\r\nimport { NgxsLoggerPlugin } from './logger.plugin';\r\nimport { NgxsLoggerPluginOptions, NGXS_LOGGER_PLUGIN_OPTIONS } from './symbols';\r\n\r\nexport const USER_OPTIONS = new InjectionToken('LOGGER_USER_OPTIONS');\r\n\r\nexport function loggerOptionsFactory(options: NgxsLoggerPluginOptions) {\r\n const defaultLoggerOptions: NgxsLoggerPluginOptions = {\r\n logger: console,\r\n collapsed: false,\r\n disabled: false,\r\n filter: () => true\r\n };\r\n\r\n return {\r\n ...defaultLoggerOptions,\r\n ...options\r\n };\r\n}\r\n\r\n@NgModule()\r\nexport class NgxsLoggerPluginModule {\r\n static forRoot(\r\n options?: NgxsLoggerPluginOptions\r\n ): ModuleWithProviders<NgxsLoggerPluginModule> {\r\n return {\r\n ngModule: NgxsLoggerPluginModule,\r\n providers: [\r\n {\r\n provide: NGXS_PLUGINS,\r\n useClass: NgxsLoggerPlugin,\r\n multi: true\r\n },\r\n {\r\n provide: USER_OPTIONS,\r\n useValue: options\r\n },\r\n {\r\n provide: NGXS_LOGGER_PLUGIN_OPTIONS,\r\n useFactory: loggerOptionsFactory,\r\n deps: [USER_OPTIONS]\r\n }\r\n ]\r\n };\r\n }\r\n}\r\n"],"names":[],"mappings":"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"}
@@ -3,34 +3,6 @@ import { InjectionToken, Injectable, Inject, Injector, NgModule } from '@angular
3
3
  import { getActionTypeFromInstance, Store, NGXS_PLUGINS } from '@ngxs/store';
4
4
  import { tap, catchError } from 'rxjs/operators';
5
5
 
6
- /**
7
- * @fileoverview added by tsickle
8
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
9
- */
10
- /**
11
- * @record
12
- */
13
- function NgxsLoggerPluginOptions() { }
14
- if (false) {
15
- /**
16
- * Auto expand logged actions
17
- * @type {?|undefined}
18
- */
19
- NgxsLoggerPluginOptions.prototype.collapsed;
20
- /**
21
- * Provide alternate console.log implementation
22
- * @type {?|undefined}
23
- */
24
- NgxsLoggerPluginOptions.prototype.logger;
25
- /**
26
- * Disable the logger. Useful for prod mode.
27
- * @type {?|undefined}
28
- */
29
- NgxsLoggerPluginOptions.prototype.disabled;
30
- }
31
- /** @type {?} */
32
- var NGXS_LOGGER_PLUGIN_OPTIONS = new InjectionToken('NGXS_LOGGER_PLUGIN_OPTIONS');
33
-
34
6
  /**
35
7
  * @fileoverview added by tsickle
36
8
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
@@ -160,7 +132,7 @@ var ActionLogger = /** @class */ (function () {
160
132
  * @param {?} value
161
133
  * @return {?}
162
134
  */
163
- function (value) { return !!value; }));
135
+ function (value) { return value !== undefined; }));
164
136
  };
165
137
  return ActionLogger;
166
138
  }());
@@ -328,6 +300,39 @@ if (false) {
328
300
  LogWriter.prototype.options;
329
301
  }
330
302
 
303
+ /**
304
+ * @fileoverview added by tsickle
305
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
306
+ */
307
+ /**
308
+ * @record
309
+ */
310
+ function NgxsLoggerPluginOptions() { }
311
+ if (false) {
312
+ /**
313
+ * Auto expand logged actions
314
+ * @type {?|undefined}
315
+ */
316
+ NgxsLoggerPluginOptions.prototype.collapsed;
317
+ /**
318
+ * Provide alternate console.log implementation
319
+ * @type {?|undefined}
320
+ */
321
+ NgxsLoggerPluginOptions.prototype.logger;
322
+ /**
323
+ * Disable the logger. Useful for prod mode.
324
+ * @type {?|undefined}
325
+ */
326
+ NgxsLoggerPluginOptions.prototype.disabled;
327
+ /**
328
+ * Predicate for actions to be the logged. Takes action and state snapshot as parameters
329
+ * @type {?|undefined}
330
+ */
331
+ NgxsLoggerPluginOptions.prototype.filter;
332
+ }
333
+ /** @type {?} */
334
+ var NGXS_LOGGER_PLUGIN_OPTIONS = new InjectionToken('NGXS_LOGGER_PLUGIN_OPTIONS');
335
+
331
336
  /**
332
337
  * @fileoverview added by tsickle
333
338
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
@@ -350,16 +355,14 @@ var NgxsLoggerPlugin = /** @class */ (function () {
350
355
  * @return {?}
351
356
  */
352
357
  function (state, event, next) {
353
- if (this._options.disabled) {
358
+ if (this._options.disabled || !(/** @type {?} */ (this._options.filter))(event, state)) {
354
359
  return next(state, event);
355
360
  }
356
- /** @type {?} */
357
- var logWriter = new LogWriter(this._options);
361
+ this._logWriter = this._logWriter || new LogWriter(this._options);
358
362
  // Retrieve lazily to avoid cyclic dependency exception
363
+ this._store = this._store || this._injector.get(Store);
359
364
  /** @type {?} */
360
- var store = this._injector.get(Store);
361
- /** @type {?} */
362
- var actionLogger = new ActionLogger(event, store, logWriter);
365
+ var actionLogger = new ActionLogger(event, this._store, this._logWriter);
363
366
  actionLogger.dispatched(state);
364
367
  return next(state, event).pipe(tap((/**
365
368
  * @param {?} nextState
@@ -387,6 +390,16 @@ var NgxsLoggerPlugin = /** @class */ (function () {
387
390
  return NgxsLoggerPlugin;
388
391
  }());
389
392
  if (false) {
393
+ /**
394
+ * @type {?}
395
+ * @private
396
+ */
397
+ NgxsLoggerPlugin.prototype._store;
398
+ /**
399
+ * @type {?}
400
+ * @private
401
+ */
402
+ NgxsLoggerPlugin.prototype._logWriter;
390
403
  /**
391
404
  * @type {?}
392
405
  * @private
@@ -414,7 +427,11 @@ function loggerOptionsFactory(options) {
414
427
  var defaultLoggerOptions = {
415
428
  logger: console,
416
429
  collapsed: false,
417
- disabled: false
430
+ disabled: false,
431
+ filter: (/**
432
+ * @return {?}
433
+ */
434
+ function () { return true; })
418
435
  };
419
436
  return __assign({}, defaultLoggerOptions, options);
420
437
  }