@ngxs/logger-plugin 3.7.6-dev.master-fb318b1 → 3.7.6-dev.master-dcdd391

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.
@@ -1,8 +1,4 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
1
  export { NgxsLoggerPluginModule } from './logger.module';
6
2
  export { NgxsLoggerPlugin } from './logger.plugin';
7
- export { NGXS_LOGGER_PLUGIN_OPTIONS } from './symbols';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL2xvZ2dlci1wbHVnaW4vIiwic291cmNlcyI6WyJzcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsMkNBQWMsV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgTmd4c0xvZ2dlclBsdWdpbk1vZHVsZSB9IGZyb20gJy4vbG9nZ2VyLm1vZHVsZSc7XG5leHBvcnQgeyBOZ3hzTG9nZ2VyUGx1Z2luIH0gZnJvbSAnLi9sb2dnZXIucGx1Z2luJztcbmV4cG9ydCAqIGZyb20gJy4vc3ltYm9scyc7XG4iXX0=
3
+ export * from './symbols';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2xvZ2dlci1wbHVnaW4vc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsY0FBYyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBOZ3hzTG9nZ2VyUGx1Z2luTW9kdWxlIH0gZnJvbSAnLi9sb2dnZXIubW9kdWxlJztcbmV4cG9ydCB7IE5neHNMb2dnZXJQbHVnaW4gfSBmcm9tICcuL2xvZ2dlci5wbHVnaW4nO1xuZXhwb3J0ICogZnJvbSAnLi9zeW1ib2xzJztcbiJdfQ==
@@ -1,34 +1,3 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
1
  import { InjectionToken } from '@angular/core';
6
- /**
7
- * @record
8
- */
9
- export function NgxsLoggerPluginOptions() { }
10
- if (false) {
11
- /**
12
- * Auto expand logged actions
13
- * @type {?|undefined}
14
- */
15
- NgxsLoggerPluginOptions.prototype.collapsed;
16
- /**
17
- * Provide alternate console.log implementation
18
- * @type {?|undefined}
19
- */
20
- NgxsLoggerPluginOptions.prototype.logger;
21
- /**
22
- * Disable the logger. Useful for prod mode.
23
- * @type {?|undefined}
24
- */
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;
31
- }
32
- /** @type {?} */
33
2
  export const NGXS_LOGGER_PLUGIN_OPTIONS = new InjectionToken('NGXS_LOGGER_PLUGIN_OPTIONS');
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL2xvZ2dlci1wbHVnaW4vIiwic291cmNlcyI6WyJzcmMvc3ltYm9scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUUvQyw2Q0FZQzs7Ozs7O0lBVkMsNENBQW9COzs7OztJQUdwQix5Q0FBYTs7Ozs7SUFHYiwyQ0FBbUI7Ozs7O0lBR25CLHlDQUE4Qzs7O0FBR2hELE1BQU0sT0FBTywwQkFBMEIsR0FBRyxJQUFJLGNBQWMsQ0FBQyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd4c0xvZ2dlclBsdWdpbk9wdGlvbnMge1xuICAvKiogQXV0byBleHBhbmQgbG9nZ2VkIGFjdGlvbnMgICovXG4gIGNvbGxhcHNlZD86IGJvb2xlYW47XG5cbiAgLyoqIFByb3ZpZGUgYWx0ZXJuYXRlIGNvbnNvbGUubG9nIGltcGxlbWVudGF0aW9uICovXG4gIGxvZ2dlcj86IGFueTtcblxuICAvKiogRGlzYWJsZSB0aGUgbG9nZ2VyLiBVc2VmdWwgZm9yIHByb2QgbW9kZS4gKi9cbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKiBQcmVkaWNhdGUgZm9yIGFjdGlvbnMgdG8gYmUgdGhlIGxvZ2dlZC4gVGFrZXMgYWN0aW9uIGFuZCBzdGF0ZSBzbmFwc2hvdCBhcyBwYXJhbWV0ZXJzICovXG4gIGZpbHRlcj86IChhY3Rpb246IGFueSwgc3RhdGU6IGFueSkgPT4gYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IE5HWFNfTE9HR0VSX1BMVUdJTl9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuKCdOR1hTX0xPR0dFUl9QTFVHSU5fT1BUSU9OUycpO1xuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2xvZ2dlci1wbHVnaW4vc3JjL3N5bWJvbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQWdCL0MsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxjQUFjLENBQUMsNEJBQTRCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd4c0xvZ2dlclBsdWdpbk9wdGlvbnMge1xuICAvKiogQXV0byBleHBhbmQgbG9nZ2VkIGFjdGlvbnMgICovXG4gIGNvbGxhcHNlZD86IGJvb2xlYW47XG5cbiAgLyoqIFByb3ZpZGUgYWx0ZXJuYXRlIGNvbnNvbGUubG9nIGltcGxlbWVudGF0aW9uICovXG4gIGxvZ2dlcj86IGFueTtcblxuICAvKiogRGlzYWJsZSB0aGUgbG9nZ2VyLiBVc2VmdWwgZm9yIHByb2QgbW9kZS4gKi9cbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKiBQcmVkaWNhdGUgZm9yIGFjdGlvbnMgdG8gYmUgdGhlIGxvZ2dlZC4gVGFrZXMgYWN0aW9uIGFuZCBzdGF0ZSBzbmFwc2hvdCBhcyBwYXJhbWV0ZXJzICovXG4gIGZpbHRlcj86IChhY3Rpb246IGFueSwgc3RhdGU6IGFueSkgPT4gYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IE5HWFNfTE9HR0VSX1BMVUdJTl9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuKCdOR1hTX0xPR0dFUl9QTFVHSU5fT1BUSU9OUycpO1xuIl19
@@ -1,29 +1,10 @@
1
- import { InjectionToken, Injectable, Inject, Injector, NgModule } from '@angular/core';
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken, Injectable, Inject, NgModule } from '@angular/core';
2
3
  import { getActionTypeFromInstance, Store, NGXS_PLUGINS } from '@ngxs/store';
3
4
  import { tap, catchError } from 'rxjs/operators';
4
5
 
5
- /**
6
- * @fileoverview added by tsickle
7
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
8
- */
9
- /** @type {?} */
10
- const repeat = (/**
11
- * @param {?} str
12
- * @param {?} times
13
- * @return {?}
14
- */
15
- (str, times) => new Array(times + 1).join(str));
16
- /** @type {?} */
17
- const pad = (/**
18
- * @param {?} num
19
- * @param {?} maxLength
20
- * @return {?}
21
- */
22
- (num, maxLength) => repeat('0', maxLength - num.toString().length) + num);
23
- /**
24
- * @param {?} time
25
- * @return {?}
26
- */
6
+ const repeat = (str, times) => new Array(times + 1).join(str);
7
+ const pad = (num, maxLength) => repeat('0', maxLength - num.toString().length) + num;
27
8
  function formatTime(time) {
28
9
  return (pad(time.getHours(), 2) +
29
10
  `:` +
@@ -34,31 +15,15 @@ function formatTime(time) {
34
15
  pad(time.getMilliseconds(), 3));
35
16
  }
36
17
 
37
- /**
38
- * @fileoverview added by tsickle
39
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
40
- */
41
18
  class ActionLogger {
42
- /**
43
- * @param {?} action
44
- * @param {?} store
45
- * @param {?} logWriter
46
- */
47
19
  constructor(action, store, logWriter) {
48
20
  this.action = action;
49
21
  this.store = store;
50
22
  this.logWriter = logWriter;
51
23
  }
52
- /**
53
- * @param {?} state
54
- * @return {?}
55
- */
56
24
  dispatched(state) {
57
- /** @type {?} */
58
25
  const actionName = getActionTypeFromInstance(this.action);
59
- /** @type {?} */
60
26
  const formattedTime = formatTime(new Date());
61
- /** @type {?} */
62
27
  const message = `action ${actionName} @ ${formattedTime}`;
63
28
  this.logWriter.startGroup(message);
64
29
  // print payload only if at least one property is supplied
@@ -67,91 +32,33 @@ class ActionLogger {
67
32
  }
68
33
  this.logWriter.logGrey('prev state', state);
69
34
  }
70
- /**
71
- * @param {?} nextState
72
- * @return {?}
73
- */
74
35
  completed(nextState) {
75
36
  this.logWriter.logGreen('next state', nextState);
76
37
  this.logWriter.endGroup();
77
38
  }
78
- /**
79
- * @param {?} error
80
- * @return {?}
81
- */
82
39
  errored(error) {
83
40
  this.logWriter.logRedish('next state after error', this.store.snapshot());
84
41
  this.logWriter.logRedish('error', error);
85
42
  this.logWriter.endGroup();
86
43
  }
87
- /**
88
- * @private
89
- * @param {?} event
90
- * @return {?}
91
- */
92
44
  _hasPayload(event) {
93
- /** @type {?} */
94
45
  const nonEmptyProperties = this._getNonEmptyProperties(event);
95
46
  return nonEmptyProperties.length > 0;
96
47
  }
97
- /**
98
- * @private
99
- * @param {?} event
100
- * @return {?}
101
- */
102
48
  _getNonEmptyProperties(event) {
103
- /** @type {?} */
104
49
  const keys = Object.keys(event);
105
- /** @type {?} */
106
- const values = keys.map((/**
107
- * @param {?} key
108
- * @return {?}
109
- */
110
- key => event[key]));
111
- return values.filter((/**
112
- * @param {?} value
113
- * @return {?}
114
- */
115
- value => value !== undefined));
50
+ const values = keys.map(key => event[key]);
51
+ return values.filter(value => value !== undefined);
116
52
  }
117
53
  }
118
- if (false) {
119
- /**
120
- * @type {?}
121
- * @private
122
- */
123
- ActionLogger.prototype.action;
124
- /**
125
- * @type {?}
126
- * @private
127
- */
128
- ActionLogger.prototype.store;
129
- /**
130
- * @type {?}
131
- * @private
132
- */
133
- ActionLogger.prototype.logWriter;
134
- }
135
54
 
136
- /**
137
- * @fileoverview added by tsickle
138
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
139
- */
140
55
  class LogWriter {
141
- /**
142
- * @param {?} options
143
- */
144
56
  constructor(options) {
145
57
  this.options = options;
146
- this.options = this.options || (/** @type {?} */ ({}));
58
+ this.options = this.options || {};
147
59
  this.logger = options.logger || console;
148
60
  }
149
- /**
150
- * @param {?} message
151
- * @return {?}
152
- */
153
61
  startGroup(message) {
154
- /** @type {?} */
155
62
  const startGroupFn = this.options.collapsed
156
63
  ? this.logger.groupCollapsed
157
64
  : this.logger.group;
@@ -162,9 +69,6 @@ class LogWriter {
162
69
  console.log(message);
163
70
  }
164
71
  }
165
- /**
166
- * @return {?}
167
- */
168
72
  endGroup() {
169
73
  try {
170
74
  this.logger.groupEnd();
@@ -173,42 +77,18 @@ class LogWriter {
173
77
  this.logger.log('—— log end ——');
174
78
  }
175
79
  }
176
- /**
177
- * @param {?} title
178
- * @param {?} payload
179
- * @return {?}
180
- */
181
80
  logGrey(title, payload) {
182
- /** @type {?} */
183
81
  const greyStyle = 'color: #9E9E9E; font-weight: bold';
184
82
  this.log(title, greyStyle, payload);
185
83
  }
186
- /**
187
- * @param {?} title
188
- * @param {?} payload
189
- * @return {?}
190
- */
191
84
  logGreen(title, payload) {
192
- /** @type {?} */
193
85
  const greenStyle = 'color: #4CAF50; font-weight: bold';
194
86
  this.log(title, greenStyle, payload);
195
87
  }
196
- /**
197
- * @param {?} title
198
- * @param {?} payload
199
- * @return {?}
200
- */
201
88
  logRedish(title, payload) {
202
- /** @type {?} */
203
89
  const redishStyle = 'color: #FD8182; font-weight: bold';
204
90
  this.log(title, redishStyle, payload);
205
91
  }
206
- /**
207
- * @param {?} title
208
- * @param {?} color
209
- * @param {?} payload
210
- * @return {?}
211
- */
212
92
  log(title, color, payload) {
213
93
  if (this.isIE()) {
214
94
  this.logger.log(title, payload);
@@ -217,19 +97,12 @@ class LogWriter {
217
97
  this.logger.log('%c ' + title, color, payload);
218
98
  }
219
99
  }
220
- /**
221
- * @return {?}
222
- */
223
100
  isIE() {
224
- /** @type {?} */
225
101
  const ua = typeof window !== 'undefined' && window.navigator.userAgent
226
102
  ? window.navigator.userAgent
227
103
  : '';
228
- /** @type {?} */
229
104
  let msIE = false;
230
- /** @type {?} */
231
105
  const oldIE = ua.indexOf('MSIE ');
232
- /** @type {?} */
233
106
  const newIE = ua.indexOf('Trident/');
234
107
  if (oldIE > -1 || newIE > -1) {
235
108
  msIE = true;
@@ -237,156 +110,51 @@ class LogWriter {
237
110
  return msIE;
238
111
  }
239
112
  }
240
- if (false) {
241
- /**
242
- * @type {?}
243
- * @private
244
- */
245
- LogWriter.prototype.logger;
246
- /**
247
- * @type {?}
248
- * @private
249
- */
250
- LogWriter.prototype.options;
251
- }
252
113
 
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
114
  const NGXS_LOGGER_PLUGIN_OPTIONS = new InjectionToken('NGXS_LOGGER_PLUGIN_OPTIONS');
285
115
 
286
- /**
287
- * @fileoverview added by tsickle
288
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
289
- */
290
116
  class NgxsLoggerPlugin {
291
- /**
292
- * @param {?} _options
293
- * @param {?} _injector
294
- */
295
117
  constructor(_options, _injector) {
296
118
  this._options = _options;
297
119
  this._injector = _injector;
298
120
  }
299
- /**
300
- * @param {?} state
301
- * @param {?} event
302
- * @param {?} next
303
- * @return {?}
304
- */
305
121
  handle(state, event, next) {
306
- if (this._options.disabled || !(/** @type {?} */ (this._options.filter))(event, state)) {
122
+ if (this._options.disabled || !this._options.filter(event, state)) {
307
123
  return next(state, event);
308
124
  }
309
125
  this._logWriter = this._logWriter || new LogWriter(this._options);
310
126
  // Retrieve lazily to avoid cyclic dependency exception
311
127
  this._store = this._store || this._injector.get(Store);
312
- /** @type {?} */
313
128
  const actionLogger = new ActionLogger(event, this._store, this._logWriter);
314
129
  actionLogger.dispatched(state);
315
- return next(state, event).pipe(tap((/**
316
- * @param {?} nextState
317
- * @return {?}
318
- */
319
- nextState => {
130
+ return next(state, event).pipe(tap(nextState => {
320
131
  actionLogger.completed(nextState);
321
- })), catchError((/**
322
- * @param {?} error
323
- * @return {?}
324
- */
325
- error => {
132
+ }), catchError(error => {
326
133
  actionLogger.errored(error);
327
134
  throw error;
328
- })));
135
+ }));
329
136
  }
330
137
  }
331
- NgxsLoggerPlugin.decorators = [
332
- { type: Injectable }
333
- ];
334
- /** @nocollapse */
335
- NgxsLoggerPlugin.ctorParameters = () => [
336
- { type: undefined, decorators: [{ type: Inject, args: [NGXS_LOGGER_PLUGIN_OPTIONS,] }] },
337
- { type: Injector }
338
- ];
339
- if (false) {
340
- /**
341
- * @type {?}
342
- * @private
343
- */
344
- NgxsLoggerPlugin.prototype._store;
345
- /**
346
- * @type {?}
347
- * @private
348
- */
349
- NgxsLoggerPlugin.prototype._logWriter;
350
- /**
351
- * @type {?}
352
- * @private
353
- */
354
- NgxsLoggerPlugin.prototype._options;
355
- /**
356
- * @type {?}
357
- * @private
358
- */
359
- NgxsLoggerPlugin.prototype._injector;
360
- }
138
+ /** @nocollapse */ NgxsLoggerPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NgxsLoggerPlugin, deps: [{ token: NGXS_LOGGER_PLUGIN_OPTIONS }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
139
+ /** @nocollapse */ NgxsLoggerPlugin.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NgxsLoggerPlugin });
140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NgxsLoggerPlugin, decorators: [{
141
+ type: Injectable
142
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
143
+ type: Inject,
144
+ args: [NGXS_LOGGER_PLUGIN_OPTIONS]
145
+ }] }, { type: i0.Injector }]; } });
361
146
 
362
- /**
363
- * @fileoverview added by tsickle
364
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
365
- */
366
- /** @type {?} */
367
147
  const USER_OPTIONS = new InjectionToken('LOGGER_USER_OPTIONS');
368
- /**
369
- * @param {?} options
370
- * @return {?}
371
- */
372
148
  function loggerOptionsFactory(options) {
373
- /** @type {?} */
374
149
  const defaultLoggerOptions = {
375
150
  logger: console,
376
151
  collapsed: false,
377
152
  disabled: false,
378
- filter: (/**
379
- * @return {?}
380
- */
381
- () => true)
153
+ filter: () => true
382
154
  };
383
- return Object.assign({}, defaultLoggerOptions, options);
155
+ return Object.assign(Object.assign({}, defaultLoggerOptions), options);
384
156
  }
385
157
  class NgxsLoggerPluginModule {
386
- /**
387
- * @param {?=} options
388
- * @return {?}
389
- */
390
158
  static forRoot(options) {
391
159
  return {
392
160
  ngModule: NgxsLoggerPluginModule,
@@ -409,24 +177,20 @@ class NgxsLoggerPluginModule {
409
177
  };
410
178
  }
411
179
  }
412
- NgxsLoggerPluginModule.decorators = [
413
- { type: NgModule }
414
- ];
415
-
416
- /**
417
- * @fileoverview added by tsickle
418
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
419
- */
180
+ /** @nocollapse */ NgxsLoggerPluginModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NgxsLoggerPluginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
181
+ /** @nocollapse */ NgxsLoggerPluginModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NgxsLoggerPluginModule });
182
+ /** @nocollapse */ NgxsLoggerPluginModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NgxsLoggerPluginModule });
183
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NgxsLoggerPluginModule, decorators: [{
184
+ type: NgModule
185
+ }] });
420
186
 
421
187
  /**
422
- * @fileoverview added by tsickle
423
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
188
+ * The public api for consumers of @ngxs/logger-plugin
424
189
  */
425
190
 
426
191
  /**
427
- * @fileoverview added by tsickle
428
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
192
+ * Generated bundle index. Do not edit.
429
193
  */
430
194
 
431
- export { NGXS_LOGGER_PLUGIN_OPTIONS, NgxsLoggerPlugin, NgxsLoggerPluginModule, USER_OPTIONS as ɵa, loggerOptionsFactory as ɵb };
195
+ export { NGXS_LOGGER_PLUGIN_OPTIONS, NgxsLoggerPlugin, NgxsLoggerPluginModule };
432
196
  //# sourceMappingURL=ngxs-logger-plugin.js.map
@@ -1 +1 @@
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);\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 { getActionTypeFromInstance, Store } from '@ngxs/store';\n\nimport { formatTime } from './internals';\nimport { LogWriter } from './log-writer';\n\nexport class ActionLogger {\n constructor(private action: any, private store: Store, private logWriter: LogWriter) {}\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 { NgxsNextPluginFn, NgxsPlugin, Store } from '@ngxs/store';\nimport { catchError, tap } from 'rxjs/operators';\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 { InjectionToken, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NGXS_PLUGINS } from '@ngxs/store';\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"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngxs-logger-plugin.js","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 { getActionTypeFromInstance, Store } from '@ngxs/store';\n\nimport { formatTime } from './internals';\nimport { LogWriter } from './log-writer';\n\nexport class ActionLogger {\n constructor(private action: any, private store: Store, private logWriter: LogWriter) {}\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 { NgxsNextPluginFn, NgxsPlugin, Store } from '@ngxs/store';\nimport { catchError, tap } from 'rxjs/operators';\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 { InjectionToken, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NGXS_PLUGINS } from '@ngxs/store';\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","/**\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,5 +1,5 @@
1
1
  /**
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
+ /// <amd-module name="@ngxs/logger-plugin" />
4
5
  export * from './index';
5
- export { USER_OPTIONS as ɵa, loggerOptionsFactory as ɵb } from './src/logger.module';
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "$schema": "../../node_modules/ng-packagr/package.schema.json",
3
3
  "name": "@ngxs/logger-plugin",
4
4
  "description": "logger plugin for @ngxs/store",
5
- "version": "3.7.6-dev.master-fb318b1",
5
+ "version": "3.7.6-dev.master-dcdd391",
6
6
  "sideEffects": true,
7
7
  "peerDependencies": {
8
8
  "@angular/core": ">=6.1.0 <16.0.0",
@@ -10,16 +10,13 @@
10
10
  "rxjs": ">=6.5.5"
11
11
  },
12
12
  "main": "bundles/ngxs-logger-plugin.umd.js",
13
- "module": "fesm5/ngxs-logger-plugin.js",
13
+ "module": "fesm2015/ngxs-logger-plugin.js",
14
14
  "es2015": "fesm2015/ngxs-logger-plugin.js",
15
- "esm5": "esm5/ngxs-logger-plugin.js",
16
15
  "esm2015": "esm2015/ngxs-logger-plugin.js",
17
- "fesm5": "fesm5/ngxs-logger-plugin.js",
18
16
  "fesm2015": "fesm2015/ngxs-logger-plugin.js",
19
17
  "typings": "ngxs-logger-plugin.d.ts",
20
- "metadata": "ngxs-logger-plugin.metadata.json",
21
18
  "dependencies": {
22
- "tslib": "^1.9.0"
19
+ "tslib": "^2.2.0"
23
20
  },
24
21
  "repository": {
25
22
  "type": "git",
@@ -1,6 +1,7 @@
1
1
  import { InjectionToken, ModuleWithProviders } from '@angular/core';
2
2
  import { NgxsLoggerPluginOptions } from './symbols';
3
- export declare const USER_OPTIONS: InjectionToken<{}>;
3
+ import * as i0 from "@angular/core";
4
+ export declare const USER_OPTIONS: InjectionToken<unknown>;
4
5
  export declare function loggerOptionsFactory(options: NgxsLoggerPluginOptions): {
5
6
  collapsed?: boolean | undefined;
6
7
  logger?: any;
@@ -9,4 +10,7 @@ export declare function loggerOptionsFactory(options: NgxsLoggerPluginOptions):
9
10
  };
10
11
  export declare class NgxsLoggerPluginModule {
11
12
  static forRoot(options?: NgxsLoggerPluginOptions): ModuleWithProviders<NgxsLoggerPluginModule>;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgxsLoggerPluginModule, never>;
14
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NgxsLoggerPluginModule, never, never, never>;
15
+ static ɵinj: i0.ɵɵInjectorDeclaration<NgxsLoggerPluginModule>;
12
16
  }
@@ -1,6 +1,7 @@
1
1
  import { Injector } from '@angular/core';
2
2
  import { NgxsNextPluginFn, NgxsPlugin } from '@ngxs/store';
3
3
  import { NgxsLoggerPluginOptions } from './symbols';
4
+ import * as i0 from "@angular/core";
4
5
  export declare class NgxsLoggerPlugin implements NgxsPlugin {
5
6
  private _options;
6
7
  private _injector;
@@ -8,4 +9,6 @@ export declare class NgxsLoggerPlugin implements NgxsPlugin {
8
9
  private _logWriter;
9
10
  constructor(_options: NgxsLoggerPluginOptions, _injector: Injector);
10
11
  handle(state: any, event: any, next: NgxsNextPluginFn): any;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgxsLoggerPlugin, never>;
13
+ static ɵprov: i0.ɵɵInjectableDeclaration<NgxsLoggerPlugin>;
11
14
  }
package/src/symbols.d.ts CHANGED
@@ -9,4 +9,4 @@ export interface NgxsLoggerPluginOptions {
9
9
  /** Predicate for actions to be the logged. Takes action and state snapshot as parameters */
10
10
  filter?: (action: any, state: any) => boolean;
11
11
  }
12
- export declare const NGXS_LOGGER_PLUGIN_OPTIONS: InjectionToken<{}>;
12
+ export declare const NGXS_LOGGER_PLUGIN_OPTIONS: InjectionToken<unknown>;
@@ -1,16 +0,0 @@
1
- !function(t,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("@angular/core"),require("@ngxs/store"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("@ngxs/logger-plugin",["exports","@angular/core","@ngxs/store","rxjs/operators"],o):o(((t=t||self).ngxs=t.ngxs||{},t.ngxs["logger-plugin"]={}),t.ng.core,t["ngxs-store"],t.rxjs.operators)}(this,(function(t,o,e,r){"use strict";
2
- /*! *****************************************************************************
3
- Copyright (c) Microsoft Corporation.
4
-
5
- Permission to use, copy, modify, and/or distribute this software for any
6
- purpose with or without fee is hereby granted.
7
-
8
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
9
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
10
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
11
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
- PERFORMANCE OF THIS SOFTWARE.
15
- ***************************************************************************** */var n=function(){return(n=Object.assign||function(t){for(var o,e=1,r=arguments.length;e<r;e++)for(var n in o=arguments[e])Object.prototype.hasOwnProperty.call(o,n)&&(t[n]=o[n]);return t}).apply(this,arguments)};var i=function(t,o){return e="0",r=o-t.toString().length,new Array(r+1).join(e)+t;var e,r};var s=function(){function t(t,o,e){this.action=t,this.store=o,this.logWriter=e}return t.prototype.dispatched=function(t){var o,r="action "+e.getActionTypeFromInstance(this.action)+" @ "+(o=new Date,i(o.getHours(),2)+":"+i(o.getMinutes(),2)+":"+i(o.getSeconds(),2)+"."+i(o.getMilliseconds(),3));this.logWriter.startGroup(r),this._hasPayload(this.action)&&this.logWriter.logGrey("payload",n({},this.action)),this.logWriter.logGrey("prev state",t)},t.prototype.completed=function(t){this.logWriter.logGreen("next state",t),this.logWriter.endGroup()},t.prototype.errored=function(t){this.logWriter.logRedish("next state after error",this.store.snapshot()),this.logWriter.logRedish("error",t),this.logWriter.endGroup()},t.prototype._hasPayload=function(t){return this._getNonEmptyProperties(t).length>0},t.prototype._getNonEmptyProperties=function(t){return Object.keys(t).map((function(o){return t[o]})).filter((function(t){return void 0!==t}))},t}();var g=function(){function t(t){this.options=t,this.options=this.options||{},this.logger=t.logger||console}return t.prototype.startGroup=function(t){var o=this.options.collapsed?this.logger.groupCollapsed:this.logger.group;try{o.call(this.logger,t)}catch(o){console.log(t)}},t.prototype.endGroup=function(){try{this.logger.groupEnd()}catch(t){this.logger.log("—— log end ——")}},t.prototype.logGrey=function(t,o){this.log(t,"color: #9E9E9E; font-weight: bold",o)},t.prototype.logGreen=function(t,o){this.log(t,"color: #4CAF50; font-weight: bold",o)},t.prototype.logRedish=function(t,o){this.log(t,"color: #FD8182; font-weight: bold",o)},t.prototype.log=function(t,o,e){this.isIE()?this.logger.log(t,e):this.logger.log("%c "+t,o,e)},t.prototype.isIE=function(){var t="undefined"!=typeof window&&window.navigator.userAgent?window.navigator.userAgent:"",o=!1,e=t.indexOf("MSIE "),r=t.indexOf("Trident/");return(e>-1||r>-1)&&(o=!0),o},t}();var l=new o.InjectionToken("NGXS_LOGGER_PLUGIN_OPTIONS"),p=function(){function t(t,o){this._options=t,this._injector=o}return t.prototype.handle=function(t,o,n){if(this._options.disabled||!this._options.filter(o,t))return n(t,o);this._logWriter=this._logWriter||new g(this._options),this._store=this._store||this._injector.get(e.Store);var i=new s(o,this._store,this._logWriter);return i.dispatched(t),n(t,o).pipe(r.tap((function(t){i.completed(t)})),r.catchError((function(t){throw i.errored(t),t})))},t.decorators=[{type:o.Injectable}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:o.Inject,args:[l]}]},{type:o.Injector}]},t}();var u=new o.InjectionToken("LOGGER_USER_OPTIONS");function c(t){var o={logger:console,collapsed:!1,disabled:!1,filter:function(){return!0}};return n({},o,t)}var a=function(){function t(){}return t.forRoot=function(o){return{ngModule:t,providers:[{provide:e.NGXS_PLUGINS,useClass:p,multi:!0},{provide:u,useValue:o},{provide:l,useFactory:c,deps:[u]}]}},t.decorators=[{type:o.NgModule}],t}();t.NGXS_LOGGER_PLUGIN_OPTIONS=l,t.NgxsLoggerPlugin=p,t.NgxsLoggerPluginModule=a,t.ɵa=u,t.ɵb=c,Object.defineProperty(t,"__esModule",{value:!0})}));
16
- //# sourceMappingURL=ngxs-logger-plugin.umd.min.js.map