@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.
- package/bundles/ngxs-logger-plugin.umd.js +72 -546
- package/bundles/ngxs-logger-plugin.umd.js.map +1 -1
- package/esm2015/index.js +2 -6
- package/esm2015/ngxs-logger-plugin.js +2 -7
- package/esm2015/src/action-logger.js +3 -65
- package/esm2015/src/internals.js +3 -23
- package/esm2015/src/log-writer.js +2 -60
- package/esm2015/src/logger.module.js +10 -23
- package/esm2015/src/logger.plugin.js +14 -58
- package/esm2015/src/public_api.js +2 -6
- package/esm2015/src/symbols.js +1 -32
- package/fesm2015/ngxs-logger-plugin.js +30 -266
- package/fesm2015/ngxs-logger-plugin.js.map +1 -1
- package/ngxs-logger-plugin.d.ts +1 -1
- package/package.json +3 -6
- package/src/logger.module.d.ts +5 -1
- package/src/logger.plugin.d.ts +3 -0
- package/src/symbols.d.ts +1 -1
- package/bundles/ngxs-logger-plugin.umd.min.js +0 -16
- package/bundles/ngxs-logger-plugin.umd.min.js.map +0 -1
- package/esm5/index.js +0 -9
- package/esm5/ngxs-logger-plugin.js +0 -10
- package/esm5/src/action-logger.js +0 -121
- package/esm5/src/internals.js +0 -34
- package/esm5/src/log-writer.js +0 -147
- package/esm5/src/logger.module.js +0 -67
- package/esm5/src/logger.plugin.js +0 -86
- package/esm5/src/public_api.js +0 -8
- package/esm5/src/symbols.js +0 -34
- package/fesm5/ngxs-logger-plugin.js +0 -492
- package/fesm5/ngxs-logger-plugin.js.map +0 -1
- package/ngxs-logger-plugin.metadata.json +0 -1
|
@@ -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
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
export * from './symbols';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2xvZ2dlci1wbHVnaW4vc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsY0FBYyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBOZ3hzTG9nZ2VyUGx1Z2luTW9kdWxlIH0gZnJvbSAnLi9sb2dnZXIubW9kdWxlJztcbmV4cG9ydCB7IE5neHNMb2dnZXJQbHVnaW4gfSBmcm9tICcuL2xvZ2dlci5wbHVnaW4nO1xuZXhwb3J0ICogZnJvbSAnLi9zeW1ib2xzJztcbiJdfQ==
|
package/esm2015/src/symbols.js
CHANGED
|
@@ -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,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2xvZ2dlci1wbHVnaW4vc3JjL3N5bWJvbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQWdCL0MsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxjQUFjLENBQUMsNEJBQTRCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd4c0xvZ2dlclBsdWdpbk9wdGlvbnMge1xuICAvKiogQXV0byBleHBhbmQgbG9nZ2VkIGFjdGlvbnMgICovXG4gIGNvbGxhcHNlZD86IGJvb2xlYW47XG5cbiAgLyoqIFByb3ZpZGUgYWx0ZXJuYXRlIGNvbnNvbGUubG9nIGltcGxlbWVudGF0aW9uICovXG4gIGxvZ2dlcj86IGFueTtcblxuICAvKiogRGlzYWJsZSB0aGUgbG9nZ2VyLiBVc2VmdWwgZm9yIHByb2QgbW9kZS4gKi9cbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKiBQcmVkaWNhdGUgZm9yIGFjdGlvbnMgdG8gYmUgdGhlIGxvZ2dlZC4gVGFrZXMgYWN0aW9uIGFuZCBzdGF0ZSBzbmFwc2hvdCBhcyBwYXJhbWV0ZXJzICovXG4gIGZpbHRlcj86IChhY3Rpb246IGFueSwgc3RhdGU6IGFueSkgPT4gYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IE5HWFNfTE9HR0VSX1BMVUdJTl9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuKCdOR1hTX0xPR0dFUl9QTFVHSU5fT1BUSU9OUycpO1xuIl19
|
|
@@ -1,29 +1,10 @@
|
|
|
1
|
-
import
|
|
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
|
-
|
|
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
|
-
|
|
106
|
-
|
|
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 ||
|
|
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 || !
|
|
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
|
-
})
|
|
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
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
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
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
|
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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"}
|
package/ngxs-logger-plugin.d.ts
CHANGED
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-
|
|
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": "
|
|
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": "^
|
|
19
|
+
"tslib": "^2.2.0"
|
|
23
20
|
},
|
|
24
21
|
"repository": {
|
|
25
22
|
"type": "git",
|
package/src/logger.module.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { InjectionToken, ModuleWithProviders } from '@angular/core';
|
|
2
2
|
import { NgxsLoggerPluginOptions } from './symbols';
|
|
3
|
-
|
|
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
|
}
|
package/src/logger.plugin.d.ts
CHANGED
|
@@ -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
|