@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.
- package/bundles/ngxs-logger-plugin.umd.js +89 -50
- package/bundles/ngxs-logger-plugin.umd.js.map +1 -1
- package/bundles/ngxs-logger-plugin.umd.min.js +11 -11
- package/bundles/ngxs-logger-plugin.umd.min.js.map +1 -1
- package/esm2015/src/action-logger.js +2 -2
- package/esm2015/src/logger.module.js +8 -4
- package/esm2015/src/logger.plugin.js +18 -10
- package/esm2015/src/symbols.js +6 -1
- package/esm5/src/action-logger.js +2 -2
- package/esm5/src/logger.module.js +8 -4
- package/esm5/src/logger.plugin.js +18 -10
- package/esm5/src/symbols.js +6 -1
- package/fesm2015/ngxs-logger-plugin.js +53 -36
- package/fesm2015/ngxs-logger-plugin.js.map +1 -1
- package/fesm5/ngxs-logger-plugin.js +53 -36
- package/fesm5/ngxs-logger-plugin.js.map +1 -1
- package/ngxs-logger-plugin.metadata.json +1 -1
- package/package.json +4 -4
- package/src/logger.module.d.ts +2 -1
- package/src/logger.plugin.d.ts +3 -1
- package/src/symbols.d.ts +2 -0
|
@@ -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 {
|
|
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,
|
|
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 {
|
|
6
|
-
import { tap, catchError } from 'rxjs/operators';
|
|
5
|
+
import { Inject, Injectable, Injector } from '@angular/core';
|
|
7
6
|
import { Store } from '@ngxs/store';
|
|
8
|
-
import {
|
|
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
|
-
|
|
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
|
|
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,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL2xvZ2dlci1wbHVnaW4vIiwic291cmNlcyI6WyJzcmMvbG9nZ2VyLnBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBZ0MsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUEyQiwwQkFBMEIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUdoRixNQUFNLE9BQU8sZ0JBQWdCOzs7OztJQUkzQixZQUM4QyxRQUFpQyxFQUNyRSxTQUFtQjtRQURpQixhQUFRLEdBQVIsUUFBUSxDQUF5QjtRQUNyRSxjQUFTLEdBQVQsU0FBUyxDQUFVO0lBQzFCLENBQUM7Ozs7Ozs7SUFFSixNQUFNLENBQUMsS0FBVSxFQUFFLEtBQVUsRUFBRSxJQUFzQjtRQUNuRCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxJQUFJLENBQUMsbUJBQUEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDbEUsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQzNCO1FBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsRSx1REFBdUQ7UUFDdkQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFRLEtBQUssQ0FBQyxDQUFDOztjQUV4RCxZQUFZLEdBQUcsSUFBSSxZQUFZLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUUxRSxZQUFZLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRS9CLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQzVCLEdBQUc7Ozs7UUFBQyxTQUFTLENBQUMsRUFBRTtZQUNkLFlBQVksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxFQUFDLEVBQ0YsVUFBVTs7OztRQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2pCLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUIsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDLEVBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7O1lBaENGLFVBQVU7Ozs7NENBTU4sTUFBTSxTQUFDLDBCQUEwQjtZQWJULFFBQVE7Ozs7Ozs7SUFTbkMsa0NBQXNCOzs7OztJQUN0QixzQ0FBOEI7Ozs7O0lBRzVCLG9DQUE2RTs7Ozs7SUFDN0UscUNBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ3hzTmV4dFBsdWdpbkZuLCBOZ3hzUGx1Z2luLCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBY3Rpb25Mb2dnZXIgfSBmcm9tICcuL2FjdGlvbi1sb2dnZXInO1xyXG5pbXBvcnQgeyBMb2dXcml0ZXIgfSBmcm9tICcuL2xvZy13cml0ZXInO1xyXG5pbXBvcnQgeyBOZ3hzTG9nZ2VyUGx1Z2luT3B0aW9ucywgTkdYU19MT0dHRVJfUExVR0lOX09QVElPTlMgfSBmcm9tICcuL3N5bWJvbHMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTmd4c0xvZ2dlclBsdWdpbiBpbXBsZW1lbnRzIE5neHNQbHVnaW4ge1xyXG4gIHByaXZhdGUgX3N0b3JlOiBTdG9yZTtcclxuICBwcml2YXRlIF9sb2dXcml0ZXI6IExvZ1dyaXRlcjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KE5HWFNfTE9HR0VSX1BMVUdJTl9PUFRJT05TKSBwcml2YXRlIF9vcHRpb25zOiBOZ3hzTG9nZ2VyUGx1Z2luT3B0aW9ucyxcclxuICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvclxyXG4gICkge31cclxuXHJcbiAgaGFuZGxlKHN0YXRlOiBhbnksIGV2ZW50OiBhbnksIG5leHQ6IE5neHNOZXh0UGx1Z2luRm4pIHtcclxuICAgIGlmICh0aGlzLl9vcHRpb25zLmRpc2FibGVkIHx8ICF0aGlzLl9vcHRpb25zLmZpbHRlciEoZXZlbnQsIHN0YXRlKSkge1xyXG4gICAgICByZXR1cm4gbmV4dChzdGF0ZSwgZXZlbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX2xvZ1dyaXRlciA9IHRoaXMuX2xvZ1dyaXRlciB8fCBuZXcgTG9nV3JpdGVyKHRoaXMuX29wdGlvbnMpO1xyXG4gICAgLy8gUmV0cmlldmUgbGF6aWx5IHRvIGF2b2lkIGN5Y2xpYyBkZXBlbmRlbmN5IGV4Y2VwdGlvblxyXG4gICAgdGhpcy5fc3RvcmUgPSB0aGlzLl9zdG9yZSB8fCB0aGlzLl9pbmplY3Rvci5nZXQ8U3RvcmU+KFN0b3JlKTtcclxuXHJcbiAgICBjb25zdCBhY3Rpb25Mb2dnZXIgPSBuZXcgQWN0aW9uTG9nZ2VyKGV2ZW50LCB0aGlzLl9zdG9yZSwgdGhpcy5fbG9nV3JpdGVyKTtcclxuXHJcbiAgICBhY3Rpb25Mb2dnZXIuZGlzcGF0Y2hlZChzdGF0ZSk7XHJcblxyXG4gICAgcmV0dXJuIG5leHQoc3RhdGUsIGV2ZW50KS5waXBlKFxyXG4gICAgICB0YXAobmV4dFN0YXRlID0+IHtcclxuICAgICAgICBhY3Rpb25Mb2dnZXIuY29tcGxldGVkKG5leHRTdGF0ZSk7XHJcbiAgICAgIH0pLFxyXG4gICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcclxuICAgICAgICBhY3Rpb25Mb2dnZXIuZXJyb3JlZChlcnJvcik7XHJcbiAgICAgICAgdGhyb3cgZXJyb3I7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
|
package/esm2015/src/symbols.js
CHANGED
|
@@ -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,
|
|
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
|
|
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,
|
|
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 {
|
|
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,
|
|
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 {
|
|
6
|
-
import { tap, catchError } from 'rxjs/operators';
|
|
5
|
+
import { Inject, Injectable, Injector } from '@angular/core';
|
|
7
6
|
import { Store } from '@ngxs/store';
|
|
8
|
-
import {
|
|
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
|
-
|
|
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
|
|
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,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL2xvZ2dlci1wbHVnaW4vIiwic291cmNlcyI6WyJzcmMvbG9nZ2VyLnBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBZ0MsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUEyQiwwQkFBMEIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVoRjtJQUtFLDBCQUM4QyxRQUFpQyxFQUNyRSxTQUFtQjtRQURpQixhQUFRLEdBQVIsUUFBUSxDQUF5QjtRQUNyRSxjQUFTLEdBQVQsU0FBUyxDQUFVO0lBQzFCLENBQUM7Ozs7Ozs7SUFFSixpQ0FBTTs7Ozs7O0lBQU4sVUFBTyxLQUFVLEVBQUUsS0FBVSxFQUFFLElBQXNCO1FBQ25ELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksQ0FBQyxtQkFBQSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBQyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRTtZQUNsRSxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDM0I7UUFFRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xFLHVEQUF1RDtRQUN2RCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQVEsS0FBSyxDQUFDLENBQUM7O1lBRXhELFlBQVksR0FBRyxJQUFJLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDO1FBRTFFLFlBQVksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFL0IsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDNUIsR0FBRzs7OztRQUFDLFVBQUEsU0FBUztZQUNYLFlBQVksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxFQUFDLEVBQ0YsVUFBVTs7OztRQUFDLFVBQUEsS0FBSztZQUNkLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUIsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDLEVBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7Z0JBaENGLFVBQVU7Ozs7Z0RBTU4sTUFBTSxTQUFDLDBCQUEwQjtnQkFiVCxRQUFROztJQXdDckMsdUJBQUM7Q0FBQSxBQWpDRCxJQWlDQztTQWhDWSxnQkFBZ0I7Ozs7OztJQUMzQixrQ0FBc0I7Ozs7O0lBQ3RCLHNDQUE4Qjs7Ozs7SUFHNUIsb0NBQTZFOzs7OztJQUM3RSxxQ0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5neHNOZXh0UGx1Z2luRm4sIE5neHNQbHVnaW4sIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEFjdGlvbkxvZ2dlciB9IGZyb20gJy4vYWN0aW9uLWxvZ2dlcic7XHJcbmltcG9ydCB7IExvZ1dyaXRlciB9IGZyb20gJy4vbG9nLXdyaXRlcic7XHJcbmltcG9ydCB7IE5neHNMb2dnZXJQbHVnaW5PcHRpb25zLCBOR1hTX0xPR0dFUl9QTFVHSU5fT1BUSU9OUyB9IGZyb20gJy4vc3ltYm9scyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBOZ3hzTG9nZ2VyUGx1Z2luIGltcGxlbWVudHMgTmd4c1BsdWdpbiB7XHJcbiAgcHJpdmF0ZSBfc3RvcmU6IFN0b3JlO1xyXG4gIHByaXZhdGUgX2xvZ1dyaXRlcjogTG9nV3JpdGVyO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoTkdYU19MT0dHRVJfUExVR0lOX09QVElPTlMpIHByaXZhdGUgX29wdGlvbnM6IE5neHNMb2dnZXJQbHVnaW5PcHRpb25zLFxyXG4gICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yXHJcbiAgKSB7fVxyXG5cclxuICBoYW5kbGUoc3RhdGU6IGFueSwgZXZlbnQ6IGFueSwgbmV4dDogTmd4c05leHRQbHVnaW5Gbikge1xyXG4gICAgaWYgKHRoaXMuX29wdGlvbnMuZGlzYWJsZWQgfHwgIXRoaXMuX29wdGlvbnMuZmlsdGVyIShldmVudCwgc3RhdGUpKSB7XHJcbiAgICAgIHJldHVybiBuZXh0KHN0YXRlLCBldmVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fbG9nV3JpdGVyID0gdGhpcy5fbG9nV3JpdGVyIHx8IG5ldyBMb2dXcml0ZXIodGhpcy5fb3B0aW9ucyk7XHJcbiAgICAvLyBSZXRyaWV2ZSBsYXppbHkgdG8gYXZvaWQgY3ljbGljIGRlcGVuZGVuY3kgZXhjZXB0aW9uXHJcbiAgICB0aGlzLl9zdG9yZSA9IHRoaXMuX3N0b3JlIHx8IHRoaXMuX2luamVjdG9yLmdldDxTdG9yZT4oU3RvcmUpO1xyXG5cclxuICAgIGNvbnN0IGFjdGlvbkxvZ2dlciA9IG5ldyBBY3Rpb25Mb2dnZXIoZXZlbnQsIHRoaXMuX3N0b3JlLCB0aGlzLl9sb2dXcml0ZXIpO1xyXG5cclxuICAgIGFjdGlvbkxvZ2dlci5kaXNwYXRjaGVkKHN0YXRlKTtcclxuXHJcbiAgICByZXR1cm4gbmV4dChzdGF0ZSwgZXZlbnQpLnBpcGUoXHJcbiAgICAgIHRhcChuZXh0U3RhdGUgPT4ge1xyXG4gICAgICAgIGFjdGlvbkxvZ2dlci5jb21wbGV0ZWQobmV4dFN0YXRlKTtcclxuICAgICAgfSksXHJcbiAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xyXG4gICAgICAgIGFjdGlvbkxvZ2dlci5lcnJvcmVkKGVycm9yKTtcclxuICAgICAgICB0aHJvdyBlcnJvcjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
package/esm5/src/symbols.js
CHANGED
|
@@ -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,
|
|
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 =>
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
}
|