@ngxs/logger-plugin 18.1.3 → 18.1.4

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.
@@ -36,24 +36,7 @@ export class LogWriter {
36
36
  this.log(title, redishStyle, payload);
37
37
  }
38
38
  log(title, color, payload) {
39
- if (this.isIE()) {
40
- this.logger.log(title, payload);
41
- }
42
- else {
43
- this.logger.log('%c ' + title, color, payload);
44
- }
45
- }
46
- isIE() {
47
- const ua = typeof window !== 'undefined' && window.navigator.userAgent
48
- ? window.navigator.userAgent
49
- : '';
50
- let msIE = false;
51
- const oldIE = ua.indexOf('MSIE ');
52
- const newIE = ua.indexOf('Trident/');
53
- if (oldIE > -1 || newIE > -1) {
54
- msIE = true;
55
- }
56
- return msIE;
39
+ this.logger.log('%c ' + title, color, payload);
57
40
  }
58
41
  }
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLXdyaXRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2xvZ2dlci1wbHVnaW4vc3JjL2xvZy13cml0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxPQUFPLFNBQVM7SUFHcEIsWUFBb0IsT0FBZ0M7UUFBaEMsWUFBTyxHQUFQLE9BQU8sQ0FBeUI7UUFDbEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFTLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDO0lBQzFDLENBQUM7SUFFRCxVQUFVLENBQUMsT0FBZTtRQUN4QixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVM7WUFDekMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYztZQUM1QixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDO1lBQ0gsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUM7WUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pCLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDbkMsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLENBQUMsS0FBYSxFQUFFLE9BQVk7UUFDakMsTUFBTSxTQUFTLEdBQUcsbUNBQW1DLENBQUM7UUFDdEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBYSxFQUFFLE9BQVk7UUFDbEMsTUFBTSxVQUFVLEdBQUcsbUNBQW1DLENBQUM7UUFDdkQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYSxFQUFFLE9BQVk7UUFDbkMsTUFBTSxXQUFXLEdBQUcsbUNBQW1DLENBQUM7UUFDeEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxHQUFHLENBQUMsS0FBYSxFQUFFLEtBQWEsRUFBRSxPQUFZO1FBQzVDLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2xDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFHLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDakQsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJO1FBQ0YsTUFBTSxFQUFFLEdBQ04sT0FBTyxNQUFNLEtBQUssV0FBVyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsU0FBUztZQUN6RCxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTO1lBQzVCLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDVCxJQUFJLElBQUksR0FBRyxLQUFLLENBQUM7UUFDakIsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsQyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3JDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzdCLElBQUksR0FBRyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ3hzTG9nZ2VyUGx1Z2luT3B0aW9ucyB9IGZyb20gJy4vc3ltYm9scyc7XG5leHBvcnQgY2xhc3MgTG9nV3JpdGVyIHtcbiAgcHJpdmF0ZSBsb2dnZXI6IGFueTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG9wdGlvbnM6IE5neHNMb2dnZXJQbHVnaW5PcHRpb25zKSB7XG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5vcHRpb25zIHx8IDxhbnk+e307XG4gICAgdGhpcy5sb2dnZXIgPSBvcHRpb25zLmxvZ2dlciB8fCBjb25zb2xlO1xuICB9XG5cbiAgc3RhcnRHcm91cChtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICBjb25zdCBzdGFydEdyb3VwRm4gPSB0aGlzLm9wdGlvbnMuY29sbGFwc2VkXG4gICAgICA/IHRoaXMubG9nZ2VyLmdyb3VwQ29sbGFwc2VkXG4gICAgICA6IHRoaXMubG9nZ2VyLmdyb3VwO1xuICAgIHRyeSB7XG4gICAgICBzdGFydEdyb3VwRm4uY2FsbCh0aGlzLmxvZ2dlciwgbWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5sb2cobWVzc2FnZSk7XG4gICAgfVxuICB9XG5cbiAgZW5kR3JvdXAoKSB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMubG9nZ2VyLmdyb3VwRW5kKCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5sb2dnZXIubG9nKCfigJTigJQgbG9nIGVuZCDigJTigJQnKTtcbiAgICB9XG4gIH1cblxuICBsb2dHcmV5KHRpdGxlOiBzdHJpbmcsIHBheWxvYWQ6IGFueSkge1xuICAgIGNvbnN0IGdyZXlTdHlsZSA9ICdjb2xvcjogIzlFOUU5RTsgZm9udC13ZWlnaHQ6IGJvbGQnO1xuICAgIHRoaXMubG9nKHRpdGxlLCBncmV5U3R5bGUsIHBheWxvYWQpO1xuICB9XG5cbiAgbG9nR3JlZW4odGl0bGU6IHN0cmluZywgcGF5bG9hZDogYW55KSB7XG4gICAgY29uc3QgZ3JlZW5TdHlsZSA9ICdjb2xvcjogIzRDQUY1MDsgZm9udC13ZWlnaHQ6IGJvbGQnO1xuICAgIHRoaXMubG9nKHRpdGxlLCBncmVlblN0eWxlLCBwYXlsb2FkKTtcbiAgfVxuXG4gIGxvZ1JlZGlzaCh0aXRsZTogc3RyaW5nLCBwYXlsb2FkOiBhbnkpIHtcbiAgICBjb25zdCByZWRpc2hTdHlsZSA9ICdjb2xvcjogI0ZEODE4MjsgZm9udC13ZWlnaHQ6IGJvbGQnO1xuICAgIHRoaXMubG9nKHRpdGxlLCByZWRpc2hTdHlsZSwgcGF5bG9hZCk7XG4gIH1cblxuICBsb2codGl0bGU6IHN0cmluZywgY29sb3I6IHN0cmluZywgcGF5bG9hZDogYW55KSB7XG4gICAgaWYgKHRoaXMuaXNJRSgpKSB7XG4gICAgICB0aGlzLmxvZ2dlci5sb2codGl0bGUsIHBheWxvYWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxvZ2dlci5sb2coJyVjICcgKyB0aXRsZSwgY29sb3IsIHBheWxvYWQpO1xuICAgIH1cbiAgfVxuXG4gIGlzSUUoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgdWEgPVxuICAgICAgdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnRcbiAgICAgICAgPyB3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudFxuICAgICAgICA6ICcnO1xuICAgIGxldCBtc0lFID0gZmFsc2U7XG4gICAgY29uc3Qgb2xkSUUgPSB1YS5pbmRleE9mKCdNU0lFICcpO1xuICAgIGNvbnN0IG5ld0lFID0gdWEuaW5kZXhPZignVHJpZGVudC8nKTtcbiAgICBpZiAob2xkSUUgPiAtMSB8fCBuZXdJRSA+IC0xKSB7XG4gICAgICBtc0lFID0gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIG1zSUU7XG4gIH1cbn1cbiJdfQ==
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLXdyaXRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2xvZ2dlci1wbHVnaW4vc3JjL2xvZy13cml0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLFNBQVM7SUFHcEIsWUFBb0IsT0FBZ0M7UUFBaEMsWUFBTyxHQUFQLE9BQU8sQ0FBeUI7UUFDbEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFTLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDO0lBQzFDLENBQUM7SUFFRCxVQUFVLENBQUMsT0FBZTtRQUN4QixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVM7WUFDekMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYztZQUM1QixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDO1lBQ0gsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUM7WUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pCLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDbkMsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLENBQUMsS0FBYSxFQUFFLE9BQVk7UUFDakMsTUFBTSxTQUFTLEdBQUcsbUNBQW1DLENBQUM7UUFDdEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBYSxFQUFFLE9BQVk7UUFDbEMsTUFBTSxVQUFVLEdBQUcsbUNBQW1DLENBQUM7UUFDdkQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYSxFQUFFLE9BQVk7UUFDbkMsTUFBTSxXQUFXLEdBQUcsbUNBQW1DLENBQUM7UUFDeEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxHQUFHLENBQUMsS0FBYSxFQUFFLEtBQWEsRUFBRSxPQUFZO1FBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2pELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5neHNMb2dnZXJQbHVnaW5PcHRpb25zIH0gZnJvbSAnLi9zeW1ib2xzJztcblxuZXhwb3J0IGNsYXNzIExvZ1dyaXRlciB7XG4gIHByaXZhdGUgbG9nZ2VyOiBhbnk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBvcHRpb25zOiBOZ3hzTG9nZ2VyUGx1Z2luT3B0aW9ucykge1xuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMub3B0aW9ucyB8fCA8YW55Pnt9O1xuICAgIHRoaXMubG9nZ2VyID0gb3B0aW9ucy5sb2dnZXIgfHwgY29uc29sZTtcbiAgfVxuXG4gIHN0YXJ0R3JvdXAobWVzc2FnZTogc3RyaW5nKSB7XG4gICAgY29uc3Qgc3RhcnRHcm91cEZuID0gdGhpcy5vcHRpb25zLmNvbGxhcHNlZFxuICAgICAgPyB0aGlzLmxvZ2dlci5ncm91cENvbGxhcHNlZFxuICAgICAgOiB0aGlzLmxvZ2dlci5ncm91cDtcbiAgICB0cnkge1xuICAgICAgc3RhcnRHcm91cEZuLmNhbGwodGhpcy5sb2dnZXIsIG1lc3NhZ2UpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUubG9nKG1lc3NhZ2UpO1xuICAgIH1cbiAgfVxuXG4gIGVuZEdyb3VwKCkge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLmxvZ2dlci5ncm91cEVuZCgpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmxvZygn4oCU4oCUIGxvZyBlbmQg4oCU4oCUJyk7XG4gICAgfVxuICB9XG5cbiAgbG9nR3JleSh0aXRsZTogc3RyaW5nLCBwYXlsb2FkOiBhbnkpIHtcbiAgICBjb25zdCBncmV5U3R5bGUgPSAnY29sb3I6ICM5RTlFOUU7IGZvbnQtd2VpZ2h0OiBib2xkJztcbiAgICB0aGlzLmxvZyh0aXRsZSwgZ3JleVN0eWxlLCBwYXlsb2FkKTtcbiAgfVxuXG4gIGxvZ0dyZWVuKHRpdGxlOiBzdHJpbmcsIHBheWxvYWQ6IGFueSkge1xuICAgIGNvbnN0IGdyZWVuU3R5bGUgPSAnY29sb3I6ICM0Q0FGNTA7IGZvbnQtd2VpZ2h0OiBib2xkJztcbiAgICB0aGlzLmxvZyh0aXRsZSwgZ3JlZW5TdHlsZSwgcGF5bG9hZCk7XG4gIH1cblxuICBsb2dSZWRpc2godGl0bGU6IHN0cmluZywgcGF5bG9hZDogYW55KSB7XG4gICAgY29uc3QgcmVkaXNoU3R5bGUgPSAnY29sb3I6ICNGRDgxODI7IGZvbnQtd2VpZ2h0OiBib2xkJztcbiAgICB0aGlzLmxvZyh0aXRsZSwgcmVkaXNoU3R5bGUsIHBheWxvYWQpO1xuICB9XG5cbiAgbG9nKHRpdGxlOiBzdHJpbmcsIGNvbG9yOiBzdHJpbmcsIHBheWxvYWQ6IGFueSkge1xuICAgIHRoaXMubG9nZ2VyLmxvZygnJWMgJyArIHRpdGxlLCBjb2xvciwgcGF5bG9hZCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,22 +1,22 @@
1
- import { Inject, Injectable, Injector } from '@angular/core';
1
+ import { inject, Injectable, Injector, runInInjectionContext } from '@angular/core';
2
2
  import { Store } from '@ngxs/store';
3
- import { catchError, tap } from 'rxjs/operators';
4
- import { ActionLogger } from './action-logger';
3
+ import { catchError, tap } from 'rxjs';
5
4
  import { LogWriter } from './log-writer';
5
+ import { ActionLogger } from './action-logger';
6
6
  import { NGXS_LOGGER_PLUGIN_OPTIONS } from './symbols';
7
7
  import * as i0 from "@angular/core";
8
8
  export class NgxsLoggerPlugin {
9
- constructor(_options, _injector) {
10
- this._options = _options;
11
- this._injector = _injector;
9
+ constructor() {
10
+ this._options = inject(NGXS_LOGGER_PLUGIN_OPTIONS);
11
+ this._injector = inject(Injector);
12
12
  }
13
13
  handle(state, event, next) {
14
- if (this._options.disabled || !this._options.filter(event, state)) {
14
+ if (this._options.disabled || this._skipLogging(state, event)) {
15
15
  return next(state, event);
16
16
  }
17
- this._logWriter = this._logWriter || new LogWriter(this._options);
17
+ this._logWriter ||= new LogWriter(this._options);
18
18
  // Retrieve lazily to avoid cyclic dependency exception
19
- this._store = this._store || this._injector.get(Store);
19
+ this._store ||= this._injector.get(Store);
20
20
  const actionLogger = new ActionLogger(event, this._store, this._logWriter);
21
21
  actionLogger.dispatched(state);
22
22
  return next(state, event).pipe(tap(nextState => {
@@ -26,13 +26,17 @@ export class NgxsLoggerPlugin {
26
26
  throw error;
27
27
  }));
28
28
  }
29
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsLoggerPlugin, deps: [{ token: NGXS_LOGGER_PLUGIN_OPTIONS }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
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 }); }
30
37
  /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsLoggerPlugin }); }
31
38
  }
32
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsLoggerPlugin, decorators: [{
33
40
  type: Injectable
34
- }], ctorParameters: () => [{ type: undefined, decorators: [{
35
- type: Inject,
36
- args: [NGXS_LOGGER_PLUGIN_OPTIONS]
37
- }] }, { type: i0.Injector }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2xvZ2dlci1wbHVnaW4vc3JjL2xvZ2dlci5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFcEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6QyxPQUFPLEVBQTJCLDBCQUEwQixFQUFFLE1BQU0sV0FBVyxDQUFDOztBQUdoRixNQUFNLE9BQU8sZ0JBQWdCO0lBSTNCLFlBQzhDLFFBQWlDLEVBQ3JFLFNBQW1CO1FBRGlCLGFBQVEsR0FBUixRQUFRLENBQXlCO1FBQ3JFLGNBQVMsR0FBVCxTQUFTLENBQVU7SUFDMUIsQ0FBQztJQUVKLE1BQU0sQ0FBQyxLQUFVLEVBQUUsS0FBVSxFQUFFLElBQXNCO1FBQ25ELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNuRSxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUIsQ0FBQztRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEUsdURBQXVEO1FBQ3ZELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBUSxLQUFLLENBQUMsQ0FBQztRQUU5RCxNQUFNLFlBQVksR0FBRyxJQUFJLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFM0UsWUFBWSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUvQixPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUM1QixHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDZCxZQUFZLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNqQixZQUFZLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVCLE1BQU0sS0FBSyxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7aUlBL0JVLGdCQUFnQixrQkFLakIsMEJBQTBCO3FJQUx6QixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVU7OzBCQU1OLE1BQU07MkJBQUMsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBOZ3hzTmV4dFBsdWdpbkZuLCBOZ3hzUGx1Z2luIH0gZnJvbSAnQG5neHMvc3RvcmUvcGx1Z2lucyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEFjdGlvbkxvZ2dlciB9IGZyb20gJy4vYWN0aW9uLWxvZ2dlcic7XG5pbXBvcnQgeyBMb2dXcml0ZXIgfSBmcm9tICcuL2xvZy13cml0ZXInO1xuaW1wb3J0IHsgTmd4c0xvZ2dlclBsdWdpbk9wdGlvbnMsIE5HWFNfTE9HR0VSX1BMVUdJTl9PUFRJT05TIH0gZnJvbSAnLi9zeW1ib2xzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5neHNMb2dnZXJQbHVnaW4gaW1wbGVtZW50cyBOZ3hzUGx1Z2luIHtcbiAgcHJpdmF0ZSBfc3RvcmU6IFN0b3JlO1xuICBwcml2YXRlIF9sb2dXcml0ZXI6IExvZ1dyaXRlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KE5HWFNfTE9HR0VSX1BMVUdJTl9PUFRJT05TKSBwcml2YXRlIF9vcHRpb25zOiBOZ3hzTG9nZ2VyUGx1Z2luT3B0aW9ucyxcbiAgICBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3JcbiAgKSB7fVxuXG4gIGhhbmRsZShzdGF0ZTogYW55LCBldmVudDogYW55LCBuZXh0OiBOZ3hzTmV4dFBsdWdpbkZuKSB7XG4gICAgaWYgKHRoaXMuX29wdGlvbnMuZGlzYWJsZWQgfHwgIXRoaXMuX29wdGlvbnMuZmlsdGVyIShldmVudCwgc3RhdGUpKSB7XG4gICAgICByZXR1cm4gbmV4dChzdGF0ZSwgZXZlbnQpO1xuICAgIH1cblxuICAgIHRoaXMuX2xvZ1dyaXRlciA9IHRoaXMuX2xvZ1dyaXRlciB8fCBuZXcgTG9nV3JpdGVyKHRoaXMuX29wdGlvbnMpO1xuICAgIC8vIFJldHJpZXZlIGxhemlseSB0byBhdm9pZCBjeWNsaWMgZGVwZW5kZW5jeSBleGNlcHRpb25cbiAgICB0aGlzLl9zdG9yZSA9IHRoaXMuX3N0b3JlIHx8IHRoaXMuX2luamVjdG9yLmdldDxTdG9yZT4oU3RvcmUpO1xuXG4gICAgY29uc3QgYWN0aW9uTG9nZ2VyID0gbmV3IEFjdGlvbkxvZ2dlcihldmVudCwgdGhpcy5fc3RvcmUsIHRoaXMuX2xvZ1dyaXRlcik7XG5cbiAgICBhY3Rpb25Mb2dnZXIuZGlzcGF0Y2hlZChzdGF0ZSk7XG5cbiAgICByZXR1cm4gbmV4dChzdGF0ZSwgZXZlbnQpLnBpcGUoXG4gICAgICB0YXAobmV4dFN0YXRlID0+IHtcbiAgICAgICAgYWN0aW9uTG9nZ2VyLmNvbXBsZXRlZChuZXh0U3RhdGUpO1xuICAgICAgfSksXG4gICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgYWN0aW9uTG9nZ2VyLmVycm9yZWQoZXJyb3IpO1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIl19
41
+ }] });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2xvZ2dlci1wbHVnaW4vc3JjL2xvZ2dlci5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFcEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sV0FBVyxDQUFDOztBQUd2RCxNQUFNLE9BQU8sZ0JBQWdCO0lBRDdCO1FBS1UsYUFBUSxHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzlDLGNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7S0FvQ3RDO0lBbENDLE1BQU0sQ0FBQyxLQUFVLEVBQUUsS0FBVSxFQUFFLElBQXNCO1FBQ25ELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM5RCxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUIsQ0FBQztRQUVELElBQUksQ0FBQyxVQUFVLEtBQUssSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pELHVEQUF1RDtRQUN2RCxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFDLE1BQU0sWUFBWSxHQUFHLElBQUksWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUUzRSxZQUFZLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRS9CLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQzVCLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNkLFlBQVksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2pCLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUIsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVPLFlBQVksQ0FBQyxLQUFVLEVBQUUsS0FBVTtRQUN6Qyx1RUFBdUU7UUFDdkUsd0VBQXdFO1FBQ3hFLHFGQUFxRjtRQUNyRixNQUFNLFlBQVksR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUM5RCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQ3BDLENBQUM7UUFFRixPQUFPLENBQUMsWUFBWSxDQUFDO0lBQ3ZCLENBQUM7aUlBeENVLGdCQUFnQjtxSUFBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciwgcnVuSW5JbmplY3Rpb25Db250ZXh0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE5neHNOZXh0UGx1Z2luRm4sIE5neHNQbHVnaW4gfSBmcm9tICdAbmd4cy9zdG9yZS9wbHVnaW5zJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHRhcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBMb2dXcml0ZXIgfSBmcm9tICcuL2xvZy13cml0ZXInO1xuaW1wb3J0IHsgQWN0aW9uTG9nZ2VyIH0gZnJvbSAnLi9hY3Rpb24tbG9nZ2VyJztcbmltcG9ydCB7IE5HWFNfTE9HR0VSX1BMVUdJTl9PUFRJT05TIH0gZnJvbSAnLi9zeW1ib2xzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5neHNMb2dnZXJQbHVnaW4gaW1wbGVtZW50cyBOZ3hzUGx1Z2luIHtcbiAgcHJpdmF0ZSBfc3RvcmU6IFN0b3JlO1xuICBwcml2YXRlIF9sb2dXcml0ZXI6IExvZ1dyaXRlcjtcblxuICBwcml2YXRlIF9vcHRpb25zID0gaW5qZWN0KE5HWFNfTE9HR0VSX1BMVUdJTl9PUFRJT05TKTtcbiAgcHJpdmF0ZSBfaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gIGhhbmRsZShzdGF0ZTogYW55LCBldmVudDogYW55LCBuZXh0OiBOZ3hzTmV4dFBsdWdpbkZuKSB7XG4gICAgaWYgKHRoaXMuX29wdGlvbnMuZGlzYWJsZWQgfHwgdGhpcy5fc2tpcExvZ2dpbmcoc3RhdGUsIGV2ZW50KSkge1xuICAgICAgcmV0dXJuIG5leHQoc3RhdGUsIGV2ZW50KTtcbiAgICB9XG5cbiAgICB0aGlzLl9sb2dXcml0ZXIgfHw9IG5ldyBMb2dXcml0ZXIodGhpcy5fb3B0aW9ucyk7XG4gICAgLy8gUmV0cmlldmUgbGF6aWx5IHRvIGF2b2lkIGN5Y2xpYyBkZXBlbmRlbmN5IGV4Y2VwdGlvblxuICAgIHRoaXMuX3N0b3JlIHx8PSB0aGlzLl9pbmplY3Rvci5nZXQoU3RvcmUpO1xuXG4gICAgY29uc3QgYWN0aW9uTG9nZ2VyID0gbmV3IEFjdGlvbkxvZ2dlcihldmVudCwgdGhpcy5fc3RvcmUsIHRoaXMuX2xvZ1dyaXRlcik7XG5cbiAgICBhY3Rpb25Mb2dnZXIuZGlzcGF0Y2hlZChzdGF0ZSk7XG5cbiAgICByZXR1cm4gbmV4dChzdGF0ZSwgZXZlbnQpLnBpcGUoXG4gICAgICB0YXAobmV4dFN0YXRlID0+IHtcbiAgICAgICAgYWN0aW9uTG9nZ2VyLmNvbXBsZXRlZChuZXh0U3RhdGUpO1xuICAgICAgfSksXG4gICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgYWN0aW9uTG9nZ2VyLmVycm9yZWQoZXJyb3IpO1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NraXBMb2dnaW5nKHN0YXRlOiBhbnksIGV2ZW50OiBhbnkpIHtcbiAgICAvLyBSdW4gdGhlIGBmaWx0ZXI6ICgpID0+IC4uLmAgZnVuY3Rpb24gd2l0aGluIHRoZSBpbmplY3Rpb24gY29udGV4dCBzb1xuICAgIC8vIHRoYXQgdGhlIHVzZXIgY2FuIGFjY2VzcyB0aGUgZGVwZW5kZW5jeSBpbmplY3Rpb24gYW5kIGluamVjdCBzZXJ2aWNlc1xuICAgIC8vIHRvIHJldHJpZXZlIHByb3BlcnRpZXMuIFRoaXMgd2lsbCBoZWxwIGRldGVybWluZSB3aGV0aGVyIG9yIG5vdCB0byBsb2cgdGhlIGFjdGlvbi5cbiAgICBjb25zdCBhbGxvd0xvZ2dpbmcgPSBydW5JbkluamVjdGlvbkNvbnRleHQodGhpcy5faW5qZWN0b3IsICgpID0+XG4gICAgICB0aGlzLl9vcHRpb25zLmZpbHRlciEoZXZlbnQsIHN0YXRlKVxuICAgICk7XG5cbiAgICByZXR1cm4gIWFsbG93TG9nZ2luZztcbiAgfVxufVxuIl19
@@ -1,3 +1,3 @@
1
1
  import { InjectionToken } from '@angular/core';
2
2
  export const NGXS_LOGGER_PLUGIN_OPTIONS = new InjectionToken('NGXS_LOGGER_PLUGIN_OPTIONS');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2xvZ2dlci1wbHVnaW4vc3JjL3N5bWJvbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQWdCL0MsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxjQUFjLENBQUMsNEJBQTRCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd4c0xvZ2dlclBsdWdpbk9wdGlvbnMge1xuICAvKiogQXV0byBleHBhbmQgbG9nZ2VkIGFjdGlvbnMgICovXG4gIGNvbGxhcHNlZD86IGJvb2xlYW47XG5cbiAgLyoqIFByb3ZpZGUgYWx0ZXJuYXRlIGNvbnNvbGUubG9nIGltcGxlbWVudGF0aW9uICovXG4gIGxvZ2dlcj86IGFueTtcblxuICAvKiogRGlzYWJsZSB0aGUgbG9nZ2VyLiBVc2VmdWwgZm9yIHByb2QgbW9kZS4gKi9cbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKiBQcmVkaWNhdGUgZm9yIGFjdGlvbnMgdG8gYmUgdGhlIGxvZ2dlZC4gVGFrZXMgYWN0aW9uIGFuZCBzdGF0ZSBzbmFwc2hvdCBhcyBwYXJhbWV0ZXJzICovXG4gIGZpbHRlcj86IChhY3Rpb246IGFueSwgc3RhdGU6IGFueSkgPT4gYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IE5HWFNfTE9HR0VSX1BMVUdJTl9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuKCdOR1hTX0xPR0dFUl9QTFVHSU5fT1BUSU9OUycpO1xuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2xvZ2dlci1wbHVnaW4vc3JjL3N5bWJvbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQWdCL0MsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxjQUFjLENBQzFELDRCQUE0QixDQUM3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBOZ3hzTG9nZ2VyUGx1Z2luT3B0aW9ucyB7XG4gIC8qKiBBdXRvIGV4cGFuZCBsb2dnZWQgYWN0aW9ucyAgKi9cbiAgY29sbGFwc2VkPzogYm9vbGVhbjtcblxuICAvKiogUHJvdmlkZSBhbHRlcm5hdGUgY29uc29sZS5sb2cgaW1wbGVtZW50YXRpb24gKi9cbiAgbG9nZ2VyPzogYW55O1xuXG4gIC8qKiBEaXNhYmxlIHRoZSBsb2dnZXIuIFVzZWZ1bCBmb3IgcHJvZCBtb2RlLiAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqIFByZWRpY2F0ZSBmb3IgYWN0aW9ucyB0byBiZSB0aGUgbG9nZ2VkLiBUYWtlcyBhY3Rpb24gYW5kIHN0YXRlIHNuYXBzaG90IGFzIHBhcmFtZXRlcnMgKi9cbiAgZmlsdGVyPzogKGFjdGlvbjogYW55LCBzdGF0ZTogYW55KSA9PiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgTkdYU19MT0dHRVJfUExVR0lOX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48Tmd4c0xvZ2dlclBsdWdpbk9wdGlvbnM+KFxuICAnTkdYU19MT0dHRVJfUExVR0lOX09QVElPTlMnXG4pO1xuIl19
@@ -1,8 +1,50 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, Injectable, Inject, NgModule, makeEnvironmentProviders } from '@angular/core';
2
+ import { InjectionToken, inject, Injector, runInInjectionContext, Injectable, NgModule, makeEnvironmentProviders } from '@angular/core';
3
3
  import { Store, withNgxsPlugin } from '@ngxs/store';
4
4
  import { getActionTypeFromInstance, NGXS_PLUGINS } from '@ngxs/store/plugins';
5
- import { tap, catchError } from 'rxjs/operators';
5
+ import { tap, catchError } from 'rxjs';
6
+
7
+ class LogWriter {
8
+ constructor(options) {
9
+ this.options = options;
10
+ this.options = this.options || {};
11
+ this.logger = options.logger || console;
12
+ }
13
+ startGroup(message) {
14
+ const startGroupFn = this.options.collapsed
15
+ ? this.logger.groupCollapsed
16
+ : this.logger.group;
17
+ try {
18
+ startGroupFn.call(this.logger, message);
19
+ }
20
+ catch (e) {
21
+ console.log(message);
22
+ }
23
+ }
24
+ endGroup() {
25
+ try {
26
+ this.logger.groupEnd();
27
+ }
28
+ catch (e) {
29
+ this.logger.log('—— log end ——');
30
+ }
31
+ }
32
+ logGrey(title, payload) {
33
+ const greyStyle = 'color: #9E9E9E; font-weight: bold';
34
+ this.log(title, greyStyle, payload);
35
+ }
36
+ logGreen(title, payload) {
37
+ const greenStyle = 'color: #4CAF50; font-weight: bold';
38
+ this.log(title, greenStyle, payload);
39
+ }
40
+ logRedish(title, payload) {
41
+ const redishStyle = 'color: #FD8182; font-weight: bold';
42
+ this.log(title, redishStyle, payload);
43
+ }
44
+ log(title, color, payload) {
45
+ this.logger.log('%c ' + title, color, payload);
46
+ }
47
+ }
6
48
 
7
49
  const repeat = (str, times) => new Array(times + 1).join(str);
8
50
  const pad = (num, maxLength) => repeat('0', maxLength - num.toString().length) + num;
@@ -53,79 +95,20 @@ class ActionLogger {
53
95
  }
54
96
  }
55
97
 
56
- class LogWriter {
57
- constructor(options) {
58
- this.options = options;
59
- this.options = this.options || {};
60
- this.logger = options.logger || console;
61
- }
62
- startGroup(message) {
63
- const startGroupFn = this.options.collapsed
64
- ? this.logger.groupCollapsed
65
- : this.logger.group;
66
- try {
67
- startGroupFn.call(this.logger, message);
68
- }
69
- catch (e) {
70
- console.log(message);
71
- }
72
- }
73
- endGroup() {
74
- try {
75
- this.logger.groupEnd();
76
- }
77
- catch (e) {
78
- this.logger.log('—— log end ——');
79
- }
80
- }
81
- logGrey(title, payload) {
82
- const greyStyle = 'color: #9E9E9E; font-weight: bold';
83
- this.log(title, greyStyle, payload);
84
- }
85
- logGreen(title, payload) {
86
- const greenStyle = 'color: #4CAF50; font-weight: bold';
87
- this.log(title, greenStyle, payload);
88
- }
89
- logRedish(title, payload) {
90
- const redishStyle = 'color: #FD8182; font-weight: bold';
91
- this.log(title, redishStyle, payload);
92
- }
93
- log(title, color, payload) {
94
- if (this.isIE()) {
95
- this.logger.log(title, payload);
96
- }
97
- else {
98
- this.logger.log('%c ' + title, color, payload);
99
- }
100
- }
101
- isIE() {
102
- const ua = typeof window !== 'undefined' && window.navigator.userAgent
103
- ? window.navigator.userAgent
104
- : '';
105
- let msIE = false;
106
- const oldIE = ua.indexOf('MSIE ');
107
- const newIE = ua.indexOf('Trident/');
108
- if (oldIE > -1 || newIE > -1) {
109
- msIE = true;
110
- }
111
- return msIE;
112
- }
113
- }
114
-
115
98
  const NGXS_LOGGER_PLUGIN_OPTIONS = new InjectionToken('NGXS_LOGGER_PLUGIN_OPTIONS');
116
99
 
117
100
  class NgxsLoggerPlugin {
118
- constructor(_options, _injector) {
119
- this._options = _options;
120
- this._injector = _injector;
101
+ constructor() {
102
+ this._options = inject(NGXS_LOGGER_PLUGIN_OPTIONS);
103
+ this._injector = inject(Injector);
121
104
  }
122
105
  handle(state, event, next) {
123
- if (this._options.disabled || !this._options.filter(event, state)) {
106
+ if (this._options.disabled || this._skipLogging(state, event)) {
124
107
  return next(state, event);
125
108
  }
126
- this._logWriter = this._logWriter || new LogWriter(this._options);
109
+ this._logWriter ||= new LogWriter(this._options);
127
110
  // Retrieve lazily to avoid cyclic dependency exception
128
- this._store = this._store || this._injector.get(Store);
111
+ this._store ||= this._injector.get(Store);
129
112
  const actionLogger = new ActionLogger(event, this._store, this._logWriter);
130
113
  actionLogger.dispatched(state);
131
114
  return next(state, event).pipe(tap(nextState => {
@@ -135,15 +118,19 @@ class NgxsLoggerPlugin {
135
118
  throw error;
136
119
  }));
137
120
  }
138
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsLoggerPlugin, deps: [{ token: NGXS_LOGGER_PLUGIN_OPTIONS }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
121
+ _skipLogging(state, event) {
122
+ // Run the `filter: () => ...` function within the injection context so
123
+ // that the user can access the dependency injection and inject services
124
+ // to retrieve properties. This will help determine whether or not to log the action.
125
+ const allowLogging = runInInjectionContext(this._injector, () => this._options.filter(event, state));
126
+ return !allowLogging;
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 }); }
139
129
  /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsLoggerPlugin }); }
140
130
  }
141
131
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsLoggerPlugin, decorators: [{
142
132
  type: Injectable
143
- }], ctorParameters: () => [{ type: undefined, decorators: [{
144
- type: Inject,
145
- args: [NGXS_LOGGER_PLUGIN_OPTIONS]
146
- }] }, { type: i0.Injector }] });
133
+ }] });
147
134
 
148
135
  const USER_OPTIONS = new InjectionToken('LOGGER_USER_OPTIONS');
149
136
  function loggerOptionsFactory(options) {
@@ -1 +1 @@
1
- {"version":3,"file":"ngxs-logger-plugin.mjs","sources":["../../../packages/logger-plugin/src/internals.ts","../../../packages/logger-plugin/src/action-logger.ts","../../../packages/logger-plugin/src/log-writer.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":["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 { NgxsLoggerPluginOptions } from './symbols';\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 if (this.isIE()) {\n this.logger.log(title, payload);\n } else {\n this.logger.log('%c ' + title, color, payload);\n }\n }\n\n isIE(): boolean {\n const ua =\n typeof window !== 'undefined' && window.navigator.userAgent\n ? window.navigator.userAgent\n : '';\n let msIE = false;\n const oldIE = ua.indexOf('MSIE ');\n const newIE = ua.indexOf('Trident/');\n if (oldIE > -1 || newIE > -1) {\n msIE = true;\n }\n return msIE;\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('NGXS_LOGGER_PLUGIN_OPTIONS');\n","import { Inject, Injectable, Injector } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { NgxsNextPluginFn, NgxsPlugin } from '@ngxs/store/plugins';\nimport { catchError, tap } from 'rxjs/operators';\n\nimport { ActionLogger } from './action-logger';\nimport { LogWriter } from './log-writer';\nimport { NgxsLoggerPluginOptions, NGXS_LOGGER_PLUGIN_OPTIONS } from './symbols';\n\n@Injectable()\nexport class NgxsLoggerPlugin implements NgxsPlugin {\n private _store: Store;\n private _logWriter: LogWriter;\n\n constructor(\n @Inject(NGXS_LOGGER_PLUGIN_OPTIONS) private _options: NgxsLoggerPluginOptions,\n private _injector: Injector\n ) {}\n\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n if (this._options.disabled || !this._options.filter!(event, state)) {\n return next(state, event);\n }\n\n this._logWriter = this._logWriter || new LogWriter(this._options);\n // Retrieve lazily to avoid cyclic dependency exception\n this._store = this._store || this._injector.get<Store>(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","import {\n EnvironmentProviders,\n InjectionToken,\n ModuleWithProviders,\n NgModule,\n makeEnvironmentProviders\n} from '@angular/core';\nimport { withNgxsPlugin } from '@ngxs/store';\nimport { NGXS_PLUGINS } from '@ngxs/store/plugins';\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 {\n provide: NGXS_PLUGINS,\n useClass: NgxsLoggerPlugin,\n multi: true\n },\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';\nimport { NGXS_PLUGINS } from '@ngxs/store/plugins';\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 {\n provide: NGXS_PLUGINS,\n useClass: NgxsLoggerPlugin,\n multi: true\n },\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/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, ModuleWithProviders, EnvironmentProviders, Injector } from '@angular/core';
2
+ import { InjectionToken, ModuleWithProviders, EnvironmentProviders } from '@angular/core';
3
3
  import { NgxsPlugin, NgxsNextPluginFn } from '@ngxs/store/plugins';
4
4
 
5
5
  interface NgxsLoggerPluginOptions {
@@ -12,7 +12,7 @@ interface NgxsLoggerPluginOptions {
12
12
  /** Predicate for actions to be the logged. Takes action and state snapshot as parameters */
13
13
  filter?: (action: any, state: any) => boolean;
14
14
  }
15
- declare const NGXS_LOGGER_PLUGIN_OPTIONS: InjectionToken<unknown>;
15
+ declare const NGXS_LOGGER_PLUGIN_OPTIONS: InjectionToken<NgxsLoggerPluginOptions>;
16
16
 
17
17
  declare class NgxsLoggerPluginModule {
18
18
  static forRoot(options?: NgxsLoggerPluginOptions): ModuleWithProviders<NgxsLoggerPluginModule>;
@@ -23,12 +23,12 @@ declare class NgxsLoggerPluginModule {
23
23
  declare function withNgxsLoggerPlugin(options?: NgxsLoggerPluginOptions): EnvironmentProviders;
24
24
 
25
25
  declare class NgxsLoggerPlugin implements NgxsPlugin {
26
- private _options;
27
- private _injector;
28
26
  private _store;
29
27
  private _logWriter;
30
- constructor(_options: NgxsLoggerPluginOptions, _injector: Injector);
28
+ private _options;
29
+ private _injector;
31
30
  handle(state: any, event: any, next: NgxsNextPluginFn): any;
31
+ private _skipLogging;
32
32
  static ɵfac: i0.ɵɵFactoryDeclaration<NgxsLoggerPlugin, never>;
33
33
  static ɵprov: i0.ɵɵInjectableDeclaration<NgxsLoggerPlugin>;
34
34
  }
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@ngxs/logger-plugin",
3
3
  "description": "logger plugin for @ngxs/store",
4
- "version": "18.1.3",
4
+ "version": "18.1.4",
5
5
  "sideEffects": false,
6
6
  "peerDependencies": {
7
- "@ngxs/store": "^18.1.3 || ^18.1.3-dev",
7
+ "@ngxs/store": "^18.1.4 || ^18.1.4-dev",
8
8
  "@angular/core": ">=16.0.0 <19.0.0",
9
9
  "rxjs": ">=6.5.5"
10
10
  },