ng2-logger 19.0.1 → 19.0.3

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.
Files changed (36) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/esm2022/lib/backend-logging.mjs +94 -0
  3. package/browser/esm2022/lib/display.mjs +97 -0
  4. package/browser/esm2022/lib/index.mjs +7 -0
  5. package/browser/esm2022/lib/level.mjs +33 -0
  6. package/browser/esm2022/lib/log.mjs +161 -0
  7. package/browser/esm2022/lib/logger.mjs +237 -0
  8. package/browser/esm2022/ng2-logger.mjs +5 -0
  9. package/browser/esm2022/public-api.mjs +2 -0
  10. package/browser/fesm2022/ng2-logger.mjs.map +1 -1
  11. package/browser/package.json +13 -0
  12. package/client/esm2022/lib/backend-logging.mjs +94 -0
  13. package/client/esm2022/lib/display.mjs +97 -0
  14. package/client/esm2022/lib/index.mjs +7 -0
  15. package/client/esm2022/lib/level.mjs +33 -0
  16. package/client/esm2022/lib/log.mjs +161 -0
  17. package/client/esm2022/lib/logger.mjs +237 -0
  18. package/client/esm2022/ng2-logger.mjs +5 -0
  19. package/client/esm2022/public-api.mjs +2 -0
  20. package/client/fesm2022/ng2-logger.mjs.map +1 -1
  21. package/client/package.json +13 -0
  22. package/lib/build-info._auto-generated_.d.ts +1 -1
  23. package/lib/build-info._auto-generated_.js +1 -1
  24. package/package.json +1 -1
  25. package/tmp-environment.json +4 -3
  26. package/websql/esm2022/lib/backend-logging.mjs +94 -0
  27. package/websql/esm2022/lib/display.mjs +97 -0
  28. package/websql/esm2022/lib/index.mjs +7 -0
  29. package/websql/esm2022/lib/level.mjs +33 -0
  30. package/websql/esm2022/lib/log.mjs +161 -0
  31. package/websql/esm2022/lib/logger.mjs +237 -0
  32. package/websql/esm2022/ng2-logger.mjs +5 -0
  33. package/websql/esm2022/public-api.mjs +2 -0
  34. package/websql/fesm2022/ng2-logger.mjs.map +1 -1
  35. package/websql/package.json +13 -0
  36. package/taon.jsonc +0 -28
@@ -0,0 +1,237 @@
1
+ import { Level } from './level';
2
+ import { Display } from './display';
3
+ import { Helpers } from 'tnp-core/browser';
4
+ export class Logger {
5
+ setLevel(l) {
6
+ this._level = l;
7
+ return this;
8
+ }
9
+ get isProductionMode() {
10
+ return !this.developmentMode;
11
+ }
12
+ setProductionMode(productionMode) {
13
+ this.developmentMode = !productionMode;
14
+ return this;
15
+ }
16
+ mute() {
17
+ this.isMuted = true;
18
+ return this;
19
+ }
20
+ constructor(name, color, developmentMode, allowed, isMuted, fixedWidth) {
21
+ this.name = name;
22
+ this.color = color;
23
+ this.developmentMode = developmentMode;
24
+ this.allowed = allowed;
25
+ this.isMuted = isMuted;
26
+ this.fixedWidth = fixedWidth;
27
+ /**
28
+ * @see data
29
+ */
30
+ this.d = (name, ...data) => this._data(name, data);
31
+ /**
32
+ * @see error
33
+ */
34
+ this.er = (name, ...data) => this._error(name, data);
35
+ /**
36
+ * @see info
37
+ */
38
+ this.i = (name, ...data) => this._info(name, data);
39
+ /**
40
+ * @see warn
41
+ */
42
+ this.w = (name, ...data) => this._warn(name, data);
43
+ /**
44
+ * Logs message and data with the level=data
45
+ * @param message The message
46
+ * @param otherParams Additional parameters
47
+ */
48
+ this.data = (message, ...otherParams) => { return this._data(message, otherParams); };
49
+ /**
50
+ * Logs message and data with the level=error
51
+ * @param message The message
52
+ * @param otherParams Additional parameters
53
+ */
54
+ this.error = (message, ...otherParams) => this._error(message, otherParams);
55
+ /**
56
+ * Logs message and data with the level=info
57
+ * @param message The message
58
+ * @param otherParams Additional parameters
59
+ */
60
+ this.info = (message, ...otherParams) => this._info(message, otherParams);
61
+ /**
62
+ * Logs message and data with the level=success
63
+ * @param message The message
64
+ * @param otherParams Additional parameters
65
+ */
66
+ this.success = (message, ...otherParams) => this._success(message, otherParams);
67
+ /**
68
+ * Logs message and data with the level=taskStarted
69
+ * @param message The message
70
+ * @param otherParams Additional parameters
71
+ */
72
+ this.taskStarted = (message, ...otherParams) => this._taskStarted(message, otherParams);
73
+ /**
74
+ * Logs message and data with the level=taskDone
75
+ * @param message The message
76
+ * @param otherParams Additional parameters
77
+ */
78
+ this.taskDone = (message, ...otherParams) => this._taskDone(message, otherParams);
79
+ /**
80
+ * Logs message and data with the level=warn
81
+ * @param message The message
82
+ * @param otherParams Additional parameters
83
+ */
84
+ this.warn = (message, ...otherParams) => this._warn(message, otherParams);
85
+ }
86
+ onlyWhen(expression) {
87
+ if (typeof expression === 'function') {
88
+ this.isMuted = !expression();
89
+ }
90
+ else if (typeof expression === 'boolean') {
91
+ this.isMuted = !expression;
92
+ }
93
+ }
94
+ _data(name, ...data) {
95
+ if (this.isMuted)
96
+ return this;
97
+ if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)
98
+ && !Helpers.contain(this.allowed, Level.DATA))
99
+ return this;
100
+ if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.DATA)) {
101
+ // @ts-ignore
102
+ Display.msg.apply(void 0, [
103
+ name,
104
+ ...data,
105
+ this.name,
106
+ this.color,
107
+ Level.DATA,
108
+ this.fixedWidth,
109
+ this.isProductionMode,
110
+ ]);
111
+ }
112
+ return this;
113
+ }
114
+ _error(name, ...data) {
115
+ if (this.isMuted)
116
+ return this;
117
+ if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)
118
+ && !Helpers.contain(this.allowed, Level.ERROR))
119
+ return this;
120
+ if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.ERROR)) {
121
+ // @ts-ignore
122
+ Display.msg.apply(void 0, [
123
+ name,
124
+ ...data,
125
+ this.name,
126
+ this.color,
127
+ Level.ERROR,
128
+ this.fixedWidth,
129
+ this.isProductionMode,
130
+ ]);
131
+ }
132
+ return this;
133
+ }
134
+ _info(name, ...data) {
135
+ if (this.isMuted)
136
+ return this;
137
+ if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)
138
+ && !Helpers.contain(this.allowed, Level.INFO))
139
+ return this;
140
+ if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.INFO)) {
141
+ // @ts-ignore
142
+ Display.msg.apply(void 0, [
143
+ name,
144
+ ...data,
145
+ this.name,
146
+ this.color,
147
+ Level.INFO,
148
+ this.fixedWidth,
149
+ this.isProductionMode,
150
+ ]);
151
+ }
152
+ return this;
153
+ }
154
+ _success(name, ...data) {
155
+ if (this.isMuted)
156
+ return this;
157
+ if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)
158
+ && !Helpers.contain(this.allowed, Level.SUCCESS))
159
+ return this;
160
+ if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.SUCCESS)) {
161
+ // @ts-ignore
162
+ Display.msg.apply(void 0, [
163
+ name,
164
+ ...data,
165
+ this.name,
166
+ this.color,
167
+ Level.SUCCESS,
168
+ this.fixedWidth,
169
+ this.isProductionMode,
170
+ ]);
171
+ }
172
+ return this;
173
+ }
174
+ _taskStarted(name, ...data) {
175
+ if (this.isMuted)
176
+ return this;
177
+ if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)
178
+ && !Helpers.contain(this.allowed, Level.TASK_STARTED))
179
+ return this;
180
+ if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.TASK_STARTED)) {
181
+ // @ts-ignore
182
+ Display.msg.apply(void 0, [
183
+ name,
184
+ ...data,
185
+ this.name,
186
+ this.color,
187
+ Level.TASK_STARTED,
188
+ this.fixedWidth,
189
+ this.isProductionMode,
190
+ ]);
191
+ }
192
+ return this;
193
+ }
194
+ _taskDone(name, ...data) {
195
+ if (this.isMuted)
196
+ return this;
197
+ if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)
198
+ && !Helpers.contain(this.allowed, Level.TASK_DONE))
199
+ return this;
200
+ if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.TASK_DONE)) {
201
+ // @ts-ignore
202
+ Display.msg.apply(void 0, [
203
+ name,
204
+ ...data,
205
+ this.name,
206
+ this.color,
207
+ Level.TASK_DONE,
208
+ this.fixedWidth,
209
+ this.isProductionMode,
210
+ ]);
211
+ }
212
+ return this;
213
+ }
214
+ _warn(name, ...data) {
215
+ if (this.isMuted)
216
+ return this;
217
+ if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)
218
+ && !Helpers.contain(this.allowed, Level.WARN))
219
+ return this;
220
+ if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.WARN)) {
221
+ // @ts-ignore
222
+ Display.msg.apply(void 0, [
223
+ name,
224
+ ...data,
225
+ this.name,
226
+ this.color,
227
+ Level.WARN,
228
+ this.fixedWidth,
229
+ this.isProductionMode,
230
+ ]);
231
+ }
232
+ return this;
233
+ }
234
+ }
235
+ ;
236
+ ({}); // @--end-of-file-for-module=ng2-logger lib/logger.ts
237
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvbmcyLWxvZ2dlci9wcm9qZWN0cy9uZzItbG9nZ2VyL3NyYy9saWIvbG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDaEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNwQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFM0MsTUFBTSxPQUFPLE1BQU07SUFHVixRQUFRLENBQUMsQ0FBUTtRQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNoQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUMvQixDQUFDO0lBRU0saUJBQWlCLENBQUMsY0FBdUI7UUFDOUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLGNBQWMsQ0FBQztRQUN2QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxJQUFJO1FBQ1QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsWUFDVSxJQUFZLEVBQ2IsS0FBYSxFQUNaLGVBQXdCLEVBQ3hCLE9BQWdCLEVBQ2hCLE9BQWdCLEVBQ2pCLFVBQThCO1FBTDdCLFNBQUksR0FBSixJQUFJLENBQVE7UUFDYixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ1osb0JBQWUsR0FBZixlQUFlLENBQVM7UUFDeEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2pCLGVBQVUsR0FBVixVQUFVLENBQW9CO1FBeUp2Qzs7VUFFRTtRQUNGLE1BQUMsR0FBRyxDQUFDLElBQWtCLEVB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QUNkLENBQUM7SUFFTyxLQUFLLENBQUMsSUFBWSxFQUFFLEdBQUcsSUFBVztRQUN4QyxJQUFJLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDOUIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUM7ZUFDekUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRTdELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMzRSxhQUFhO1lBQ2IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3hCLElBQUk7Z0JBQ0osR0FBRyxJQUFJO2dCQUNQLElBQUksQ0FBQyxJQUFJO2dCQUNULElBQUksQ0FBQyxLQUFLO2dCQUNWLEtBQUssQ0FBQyxJQUFJO2dCQUNWLElBQUksQ0FBQyxVQUFVO2dCQUNmLElBQUksQ0FBQyxnQkFBZ0I7YUFDdEIsQ0FBQyxDQUFBO1FBQ0osQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQTBFRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMscURBQXFEIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IExldmVsIH0gZnJvbSAnLi9sZXZlbCc7XG5pbXBvcnQgeyBEaXNwbGF5IH0gZnJvbSAnLi9kaXNwbGF5JztcbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcblxuZXhwb3J0IGNsYXNzIExvZ2dlciB7XG5cbiAgcHJpdmF0ZSBfbGV2ZWw6IExldmVsO1xuICBwdWJsaWMgc2V0TGV2ZWwobDogTGV2ZWwpIHtcbiAgICB0aGlzLl9sZXZlbCA9IGw7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzUHJvZHVjdGlvbk1vZGUoKSB7XG4gICAgcmV0dXJuICF0aGlzLmRldmVsb3BtZW50TW9kZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRQcm9kdWN0aW9uTW9kZShwcm9kdWN0aW9uTW9kZTogYm9vbGVhbikge1xuICAgIHRoaXMuZGV2ZWxvcG1lbnRNb2RlID0gIXByb2R1Y3Rpb25Nb2RlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIG11dGUoKSB7XG4gICAgdGhpcy5pc011dGVkID0gdHJ1ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbmFtZTogc3RyaW5nLFxuICAgIHB1YmxpYyBjb2xvcjogc3RyaW5nLFxuICAgIHByaXZhdGUgZGV2ZWxvcG1lbnRNb2RlOiBib29sZWFuLFxuICAgIHByaXZhdGUgYWxsb3dlZDogTGV2ZWxbXSxcbiAgICBwcml2YXRlIGlzTXV0ZWQ6IGJvb2xlYW4sXG4gICAgcHVibGljIGZpeGVkV2lkdGg6IG51bWJlciB8IHVuZGVmaW5lZFxuICApIHsgfVxuXG4gIG9ubHlXaGVuKGV4cHJlc3Npb246ICgoKSA9PiBib29sZWFuKSB8IGJvb2xlYW4pIHtcbiAgICBpZiAodHlwZW9mIGV4cHJlc3Npb24gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRoaXMuaXNNdXRlZCA9ICFleHByZXNzaW9uKClcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBleHByZXNzaW9uID09PSAnYm9vbGVhbicpIHtcbiAgICAgIHRoaXMuaXNNdXRlZCA9ICFleHByZXNzaW9uO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2RhdGEobmFtZTogc3RyaW5nLCAuLi5kYXRhOiBhbnlbXSkge1xuICAgIGlmICh0aGlzLmlzTXV0ZWQpIHJldHVybiB0aGlzO1xuICAgIGlmICh0aGlzLmFsbG93ZWQubGVuZ3RoID49IDEgJiYgSGVscGVycy5jb250YWluKHRoaXMuYWxsb3dlZCwgTGV2ZWwuX19OT1RISU5HKVxuICAgICAgJiYgIUhlbHBlcnMuY29udGFpbih0aGlzLmFsbG93ZWQsIExldmVsLkRBVEEpKSByZXR1cm4gdGhpcztcblxuICAgIGlmICh0aGlzLmFsbG93ZWQubGVuZ3RoID09PSAwIHx8IEhlbHBlcnMuY29udGFpbih0aGlzLmFsbG93ZWQsIExldmVsLkRBVEEpKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBEaXNwbGF5Lm1zZy5hcHBseSh2b2lkIDAsIFtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgdGhpcy5uYW1lLFxuICAgICAgICB0aGlzLmNvbG9yLFxuICAgICAgICBMZXZlbC5EQVRBLFxuICAgICAgICB0aGlzLmZpeGVkV2lkdGgsXG4gICAgICAgIHRoaXMuaXNQcm9kdWN0aW9uTW9kZSxcbiAgICAgIF0pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG5cbiAgcHJpdmF0ZSBfZXJyb3IobmFtZTogc3RyaW5nLCAuLi5kYXRhOiBhbnlbXSkge1xuICAgIGlmICh0aGlzLmlzTXV0ZWQpIHJldHVybiB0aGlzO1xuICAgIGlmICh0aGlzLmFsbG93ZWQubGVuZ3RoID49IDEgJiYgSGVscGVycy5jb250YWluKHRoaXMuYWxsb3dlZCwgTGV2ZWwuX19OT1RISU5HKVxuICAgICAgJiYgIUhlbHBlcnMuY29udGFpbih0aGlzLmFsbG93ZWQsIExldmVsLkVSUk9SKSkgcmV0dXJuIHRoaXM7XG5cbiAgICBpZiAodGhpcy5hbGxvd2VkLmxlbmd0aCA9PT0gMCB8fCBIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5FUlJPUikpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIERpc3BsYXkubXNnLmFwcGx5KHZvaWQgMCwgW1xuICAgICAgICBuYW1lLFxuICAgICAgICAuLi5kYXRhLFxuICAgICAgICB0aGlzLm5hbWUsXG4gICAgICAgIHRoaXMuY29sb3IsXG4gICAgICAgIExldmVsLkVSUk9SLFxuICAgICAgICB0aGlzLmZpeGVkV2lkdGgsXG4gICAgICAgIHRoaXMuaXNQcm9kdWN0aW9uTW9kZSxcbiAgICAgIF0pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHByaXZhdGUgX2luZm8obmFtZTogc3RyaW5nLCAuLi5kYXRhOiBhbnlbXSkge1xuICAgIGlmICh0aGlzLmlzTXV0ZWQpIHJldHVybiB0aGlzO1xuICAgIGlmICh0aGlzLmFsbG93ZWQubGVuZ3RoID49IDEgJiYgSGVscGVycy5jb250YWluKHRoaXMuYWxsb3dlZCwgTGV2ZWwuX19OT1RISU5HKVxuICAgICAgJiYgIUhlbHBlcnMuY29udGFpbih0aGlzLmFsbG93ZWQsIExldmVsLklORk8pKSByZXR1cm4gdGhpcztcblxuICAgIGlmICh0aGlzLmFsbG93ZWQubGVuZ3RoID09PSAwIHx8IEhlbHBlcnMuY29udGFpbih0aGlzLmFsbG93ZWQsIExldmVsLklORk8pKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBEaXNwbGF5Lm1zZy5hcHBseSh2b2lkIDAsIFtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgdGhpcy5uYW1lLFxuICAgICAgICB0aGlzLmNvbG9yLFxuICAgICAgICBMZXZlbC5JTkZPLFxuICAgICAgICB0aGlzLmZpeGVkV2lkdGgsXG4gICAgICAgIHRoaXMuaXNQcm9kdWN0aW9uTW9kZSxcbiAgICAgIF0pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHByaXZhdGUgX3N1Y2Nlc3MobmFtZTogc3RyaW5nLCAuLi5kYXRhOiBhbnlbXSkge1xuICAgIGlmICh0aGlzLmlzTXV0ZWQpIHJldHVybiB0aGlzO1xuICAgIGlmICh0aGlzLmFsbG93ZWQubGVuZ3RoID49IDEgJiYgSGVscGVycy5jb250YWluKHRoaXMuYWxsb3dlZCwgTGV2ZWwuX19OT1RISU5HKVxuICAgICAgJiYgIUhlbHBlcnMuY29udGFpbih0aGlzLmFsbG93ZWQsIExldmVsLlNVQ0NFU1MpKSByZXR1cm4gdGhpcztcblxuICAgIGlmICh0aGlzLmFsbG93ZWQubGVuZ3RoID09PSAwIHx8IEhlbHBlcnMuY29udGFpbih0aGlzLmFsbG93ZWQsIExldmVsLlNVQ0NFU1MpKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBEaXNwbGF5Lm1zZy5hcHBseSh2b2lkIDAsIFtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgdGhpcy5uYW1lLFxuICAgICAgICB0aGlzLmNvbG9yLFxuICAgICAgICBMZXZlbC5TVUNDRVNTLFxuICAgICAgICB0aGlzLmZpeGVkV2lkdGgsXG4gICAgICAgIHRoaXMuaXNQcm9kdWN0aW9uTW9kZSxcbiAgICAgIF0pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHByaXZhdGUgX3Rhc2tTdGFydGVkKG5hbWU6IHN0cmluZywgLi4uZGF0YTogYW55W10pIHtcbiAgICBpZiAodGhpcy5pc011dGVkKSByZXR1cm4gdGhpcztcbiAgICBpZiAodGhpcy5hbGxvd2VkLmxlbmd0aCA+PSAxICYmIEhlbHBlcnMuY29udGFpbih0aGlzLmFsbG93ZWQsIExldmVsLl9fTk9USElORylcbiAgICAgICYmICFIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5UQVNLX1NUQVJURUQpKSByZXR1cm4gdGhpcztcblxuICAgIGlmICh0aGlzLmFsbG93ZWQubGVuZ3RoID09PSAwIHx8IEhlbHBlcnMuY29udGFpbih0aGlzLmFsbG93ZWQsIExldmVsLlRBU0tfU1RBUlRFRCkpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIERpc3BsYXkubXNnLmFwcGx5KHZvaWQgMCwgW1xuICAgICAgICBuYW1lLFxuICAgICAgICAuLi5kYXRhLFxuICAgICAgICB0aGlzLm5hbWUsXG4gICAgICAgIHRoaXMuY29sb3IsXG4gICAgICAgIExldmVsLlRBU0tfU1RBUlRFRCxcbiAgICAgICAgdGhpcy5maXhlZFdpZHRoLFxuICAgICAgICB0aGlzLmlzUHJvZHVjdGlvbk1vZGUsXG4gICAgICBdKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwcml2YXRlIF90YXNrRG9uZShuYW1lOiBzdHJpbmcsIC4uLmRhdGE6IGFueVtdKSB7XG4gICAgaWYgKHRoaXMuaXNNdXRlZCkgcmV0dXJuIHRoaXM7XG4gICAgaWYgKHRoaXMuYWxsb3dlZC5sZW5ndGggPj0gMSAmJiBIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5fX05PVEhJTkcpXG4gICAgICAmJiAhSGVscGVycy5jb250YWluKHRoaXMuYWxsb3dlZCwgTGV2ZWwuVEFTS19ET05FKSkgcmV0dXJuIHRoaXM7XG5cbiAgICBpZiAodGhpcy5hbGxvd2VkLmxlbmd0aCA9PT0gMCB8fCBIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5UQVNLX0RPTkUpKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBEaXNwbGF5Lm1zZy5hcHBseSh2b2lkIDAsIFtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgdGhpcy5uYW1lLFxuICAgICAgICB0aGlzLmNvbG9yLFxuICAgICAgICBMZXZlbC5UQVNLX0RPTkUsXG4gICAgICAgIHRoaXMuZml4ZWRXaWR0aCxcbiAgICAgICAgdGhpcy5pc1Byb2R1Y3Rpb25Nb2RlLFxuICAgICAgXSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHJpdmF0ZSBfd2FybihuYW1lOiBzdHJpbmcsIC4uLmRhdGE6IGFueVtdKSB7XG4gICAgaWYgKHRoaXMuaXNNdXRlZCkgcmV0dXJuIHRoaXM7XG4gICAgaWYgKHRoaXMuYWxsb3dlZC5sZW5ndGggPj0gMSAmJiBIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5fX05PVEhJTkcpXG4gICAgICAmJiAhSGVscGVycy5jb250YWluKHRoaXMuYWxsb3dlZCwgTGV2ZWwuV0FSTikpIHJldHVybiB0aGlzO1xuXG4gICAgaWYgKHRoaXMuYWxsb3dlZC5sZW5ndGggPT09IDAgfHwgSGVscGVycy5jb250YWluKHRoaXMuYWxsb3dlZCwgTGV2ZWwuV0FSTikpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIERpc3BsYXkubXNnLmFwcGx5KHZvaWQgMCwgW1xuICAgICAgICBuYW1lLFxuICAgICAgICAuLi5kYXRhLFxuICAgICAgICB0aGlzLm5hbWUsXG4gICAgICAgIHRoaXMuY29sb3IsXG4gICAgICAgIExldmVsLldBUk4sXG4gICAgICAgIHRoaXMuZml4ZWRXaWR0aCxcbiAgICAgICAgdGhpcy5pc1Byb2R1Y3Rpb25Nb2RlLFxuICAgICAgXSlcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuXG4gIC8qKlxuICAgKiBAc2VlIGRhdGFcbiAgKi9cbiAgZCA9IChuYW1lOiBzdHJpbmcgfCBhbnksIC4uLmRhdGE6IGFueVtdKSA9PiB0aGlzLl9kYXRhKG5hbWUsIGRhdGEpO1xuXG4gIC8qKlxuICAgKiBAc2VlIGVycm9yXG4gICovXG5cbiAgZXIgPSAobmFtZTogc3RyaW5nIHwgYW55LCAuLi5kYXRhOiBhbnlbXSkgPT4gdGhpcy5fZXJyb3IobmFtZSwgZGF0YSk7XG5cbiAgLyoqXG4gICAqIEBzZWUgaW5mb1xuICAqL1xuICBpID0gKG5hbWU6IHN0cmluZyB8IGFueSwgLi4uZGF0YTogYW55W10pID0+IHRoaXMuX2luZm8obmFtZSwgZGF0YSk7XG5cbiAgLyoqXG4gICAqIEBzZWUgd2FyblxuICAqL1xuICB3ID0gKG5hbWU6IHN0cmluZyB8IGFueSwgLi4uZGF0YTogYW55W10pID0+IHRoaXMuX3dhcm4obmFtZSwgZGF0YSk7XG5cbiAgLyoqXG4gICAqIExvZ3MgbWVzc2FnZSBhbmQgZGF0YSB3aXRoIHRoZSBsZXZlbD1kYXRhXG4gICAqIEBwYXJhbSBtZXNzYWdlIFRoZSBtZXNzYWdlXG4gICAqIEBwYXJhbSBvdGhlclBhcmFtcyBBZGRpdGlvbmFsIHBhcmFtZXRlcnNcbiAgICovXG4gIGRhdGEgPSAobWVzc2FnZTogc3RyaW5nLCAuLi5vdGhlclBhcmFtczogYW55W10pID0+IHsgcmV0dXJuIHRoaXMuX2RhdGEobWVzc2FnZSwgb3RoZXJQYXJhbXMpOyB9O1xuXG4gIC8qKlxuICAgKiBMb2dzIG1lc3NhZ2UgYW5kIGRhdGEgd2l0aCB0aGUgbGV2ZWw9ZXJyb3JcbiAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIG1lc3NhZ2VcbiAgICogQHBhcmFtIG90aGVyUGFyYW1zIEFkZGl0aW9uYWwgcGFyYW1ldGVyc1xuICAgKi9cbiAgZXJyb3IgPSAobWVzc2FnZTogc3RyaW5nLCAuLi5vdGhlclBhcmFtczogYW55W10pID0+IHRoaXMuX2Vycm9yKG1lc3NhZ2UsIG90aGVyUGFyYW1zKTtcblxuICAvKipcbiAgICogTG9ncyBtZXNzYWdlIGFuZCBkYXRhIHdpdGggdGhlIGxldmVsPWluZm9cbiAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIG1lc3NhZ2VcbiAgICogQHBhcmFtIG90aGVyUGFyYW1zIEFkZGl0aW9uYWwgcGFyYW1ldGVyc1xuICAgKi9cbiAgaW5mbyA9IChtZXNzYWdlOiBzdHJpbmcsIC4uLm90aGVyUGFyYW1zOiBhbnlbXSkgPT4gdGhpcy5faW5mbyhtZXNzYWdlLCBvdGhlclBhcmFtcyk7XG5cbiAgLyoqXG4gICAqIExvZ3MgbWVzc2FnZSBhbmQgZGF0YSB3aXRoIHRoZSBsZXZlbD1zdWNjZXNzXG4gICAqIEBwYXJhbSBtZXNzYWdlIFRoZSBtZXNzYWdlXG4gICAqIEBwYXJhbSBvdGhlclBhcmFtcyBBZGRpdGlvbmFsIHBhcmFtZXRlcnNcbiAgICovXG4gIHN1Y2Nlc3MgPSAobWVzc2FnZTogc3RyaW5nLCAuLi5vdGhlclBhcmFtczogYW55W10pID0+IHRoaXMuX3N1Y2Nlc3MobWVzc2FnZSwgb3RoZXJQYXJhbXMpO1xuXG5cbiAgLyoqXG4gICogTG9ncyBtZXNzYWdlIGFuZCBkYXRhIHdpdGggdGhlIGxldmVsPXRhc2tTdGFydGVkXG4gICogQHBhcmFtIG1lc3NhZ2UgVGhlIG1lc3NhZ2VcbiAgKiBAcGFyYW0gb3RoZXJQYXJhbXMgQWRkaXRpb25hbCBwYXJhbWV0ZXJzXG4gICovXG4gIHRhc2tTdGFydGVkID0gKG1lc3NhZ2U6IHN0cmluZywgLi4ub3RoZXJQYXJhbXM6IGFueVtdKSA9PiB0aGlzLl90YXNrU3RhcnRlZChtZXNzYWdlLCBvdGhlclBhcmFtcyk7XG5cbiAgLyoqXG4gICogTG9ncyBtZXNzYWdlIGFuZCBkYXRhIHdpdGggdGhlIGxldmVsPXRhc2tEb25lXG4gICogQHBhcmFtIG1lc3NhZ2UgVGhlIG1lc3NhZ2VcbiAgKiBAcGFyYW0gb3RoZXJQYXJhbXMgQWRkaXRpb25hbCBwYXJhbWV0ZXJzXG4gICovXG4gIHRhc2tEb25lID0gKG1lc3NhZ2U/OiBzdHJpbmcsIC4uLm90aGVyUGFyYW1zOiBhbnlbXSkgPT4gdGhpcy5fdGFza0RvbmUobWVzc2FnZSwgb3RoZXJQYXJhbXMpO1xuXG4gIC8qKlxuICAgKiBMb2dzIG1lc3NhZ2UgYW5kIGRhdGEgd2l0aCB0aGUgbGV2ZWw9d2FyblxuICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgbWVzc2FnZVxuICAgKiBAcGFyYW0gb3RoZXJQYXJhbXMgQWRkaXRpb25hbCBwYXJhbWV0ZXJzXG4gICAqL1xuICB3YXJuID0gKG1lc3NhZ2U6IHN0cmluZywgLi4ub3RoZXJQYXJhbXM6IGFueVtdKSA9PiB0aGlzLl93YXJuKG1lc3NhZ2UsIG90aGVyUGFyYW1zKTtcblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9bmcyLWxvZ2dlciBsaWIvbG9nZ2VyLnRzIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmcyLWxvZ2dlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L25nMi1sb2dnZXIvcHJvamVjdHMvbmcyLWxvZ2dlci9zcmMvbmcyLWxvZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -0,0 +1,2 @@
1
+ export * from './lib';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L25nMi1sb2dnZXIvcHJvamVjdHMvbmcyLWxvZ2dlci9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliJztcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"ng2-logger.mjs","sources":["../../../tmp-libs-for-dist/ng2-logger/projects/ng2-logger/src/lib/level.ts","../../../tmp-libs-for-dist/ng2-logger/projects/ng2-logger/src/lib/display.ts","../../../tmp-libs-for-dist/ng2-logger/projects/ng2-logger/src/lib/logger.ts","../../../tmp-libs-for-dist/ng2-logger/projects/ng2-logger/src/lib/log.ts","../../../tmp-libs-for-dist/ng2-logger/projects/ng2-logger/src/lib/index.ts","../../../tmp-libs-for-dist/ng2-logger/projects/ng2-logger/src/ng2-logger.ts"],"sourcesContent":["\n\nexport enum Level {\n DATA,\n INFO,\n WARN,\n ERROR ,\n SUCCESS,\n TASK_STARTED,\n TASK_DONE,\n __NOTHING ,\n}\n\nexport const LevelKey = {\n [Level.DATA] : 'log',\n [Level.INFO] : 'info',\n [Level.WARN] : 'warn',\n [Level.ERROR] : 'error',\n [Level.SUCCESS] : 'success',\n [Level.TASK_STARTED] : 'taskstarted',\n [Level.TASK_DONE] : 'taskdone',\n [Level.__NOTHING] : '',\n}\n\nexport const LevelOrder = [\n LevelKey[Level.DATA],\n LevelKey[Level.TASK_STARTED],\n LevelKey[Level.TASK_DONE],\n LevelKey[Level.INFO],\n LevelKey[Level.SUCCESS],\n LevelKey[Level.WARN],\n LevelKey[Level.ERROR],\n];\n\n ;({}); // @--end-of-file-for-module=ng2-logger lib/level.ts","\n\n/* */\n/* */\n \nimport { Level } from './level';\nimport { Helpers } from 'tnp-core/browser';\nimport { consoleLog, displayParams } from './backend-logging';\n\n/* */\n/* */\n \n\nexport class Display {\n\n static msg(\n message: string | any,\n params: any[],\n moduleName: string,\n moduleColor: string,\n level: Level,\n moduleWidth: number | undefined,\n isProductionMode: boolean\n ) {\n if (isProductionMode) {\n return;\n };\n let color = 'gray';\n if (level === Level.INFO) { color = 'deepskyblue'; }\n if (level === Level.ERROR) { color = 'red'; }\n if (level === Level.WARN) { color = 'orange'; }\n\n if (moduleWidth) {\n const diff = moduleWidth - moduleName.length;\n if (diff > 0) {\n for (let i = 0; i < diff; i++) {\n moduleName += ' ';\n }\n }\n }\n\n\n if (Helpers.isBrowser\n/* */\n/* */\n \n ) {\n\n\n // @ts-ignore\n const isEdgeOrIe8orAbove = (document['documentMode'] || /Edge/.test(navigator.userAgent));\n\n if (isEdgeOrIe8orAbove) {\n if (typeof message === 'string') {\n let a1 = '[[ ' + moduleName + ' ]] ' + message + ' ';\n params.unshift(a1);\n } else {\n let a1 = '[[ ' + moduleName + ']] ';\n params.push(message);\n params.unshift(a1);\n }\n if (level === Level.INFO) {\n console.info.apply(console, params);\n } else if (level === Level.ERROR) {\n console.error.apply(console, params);\n } else if (level === Level.WARN) {\n console.warn.apply(console, params);\n } else {\n console.log.apply(console, params);\n }\n } else {\n if (typeof message === 'string') {\n let a1 = '%c ' + moduleName + ' %c ' + message + ' ';\n let a2 = 'background: ' + moduleColor + ';color:white; border: 1px solid ' + moduleColor + '; ';\n let a3 = 'border: 1px solid ' + color + '; ';\n params.unshift(a3);\n params.unshift(a2);\n params.unshift(a1);\n } else {\n let a1 = '%c ' + moduleName + ' ';\n let a2 = 'background: ' + moduleColor + ';color:white; border: 1px solid ' + color + '; ';\n params.push(message);\n params.unshift(a2);\n params.unshift(a1);\n }\n console.log.apply(console, params);\n }\n\n }\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=ng2-logger lib/display.ts","\n\nimport { Level } from './level';\nimport { Display } from './display';\nimport { Helpers } from 'tnp-core/browser';\n\nexport class Logger {\n\n private _level: Level;\n public setLevel(l: Level) {\n this._level = l;\n return this;\n }\n\n public get isProductionMode() {\n return !this.developmentMode;\n }\n\n public setProductionMode(productionMode: boolean) {\n this.developmentMode = !productionMode;\n return this;\n }\n\n public mute() {\n this.isMuted = true;\n return this;\n }\n\n constructor(\n private name: string,\n public color: string,\n private developmentMode: boolean,\n private allowed: Level[],\n private isMuted: boolean,\n public fixedWidth: number | undefined\n ) { }\n\n onlyWhen(expression: (() => boolean) | boolean) {\n if (typeof expression === 'function') {\n this.isMuted = !expression()\n } else if (typeof expression === 'boolean') {\n this.isMuted = !expression;\n }\n }\n\n private _data(name: string, ...data: any[]) {\n if (this.isMuted) return this;\n if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)\n && !Helpers.contain(this.allowed, Level.DATA)) return this;\n\n if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.DATA)) {\n // @ts-ignore\n Display.msg.apply(void 0, [\n name,\n ...data,\n this.name,\n this.color,\n Level.DATA,\n this.fixedWidth,\n this.isProductionMode,\n ]);\n }\n return this;\n }\n\n\n private _error(name: string, ...data: any[]) {\n if (this.isMuted) return this;\n if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)\n && !Helpers.contain(this.allowed, Level.ERROR)) return this;\n\n if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.ERROR)) {\n // @ts-ignore\n Display.msg.apply(void 0, [\n name,\n ...data,\n this.name,\n this.color,\n Level.ERROR,\n this.fixedWidth,\n this.isProductionMode,\n ]);\n }\n return this;\n }\n\n private _info(name: string, ...data: any[]) {\n if (this.isMuted) return this;\n if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)\n && !Helpers.contain(this.allowed, Level.INFO)) return this;\n\n if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.INFO)) {\n // @ts-ignore\n Display.msg.apply(void 0, [\n name,\n ...data,\n this.name,\n this.color,\n Level.INFO,\n this.fixedWidth,\n this.isProductionMode,\n ]);\n }\n return this;\n }\n\n private _success(name: string, ...data: any[]) {\n if (this.isMuted) return this;\n if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)\n && !Helpers.contain(this.allowed, Level.SUCCESS)) return this;\n\n if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.SUCCESS)) {\n // @ts-ignore\n Display.msg.apply(void 0, [\n name,\n ...data,\n this.name,\n this.color,\n Level.SUCCESS,\n this.fixedWidth,\n this.isProductionMode,\n ]);\n }\n return this;\n }\n\n private _taskStarted(name: string, ...data: any[]) {\n if (this.isMuted) return this;\n if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)\n && !Helpers.contain(this.allowed, Level.TASK_STARTED)) return this;\n\n if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.TASK_STARTED)) {\n // @ts-ignore\n Display.msg.apply(void 0, [\n name,\n ...data,\n this.name,\n this.color,\n Level.TASK_STARTED,\n this.fixedWidth,\n this.isProductionMode,\n ]);\n }\n return this;\n }\n\n private _taskDone(name: string, ...data: any[]) {\n if (this.isMuted) return this;\n if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)\n && !Helpers.contain(this.allowed, Level.TASK_DONE)) return this;\n\n if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.TASK_DONE)) {\n // @ts-ignore\n Display.msg.apply(void 0, [\n name,\n ...data,\n this.name,\n this.color,\n Level.TASK_DONE,\n this.fixedWidth,\n this.isProductionMode,\n ]);\n }\n return this;\n }\n\n private _warn(name: string, ...data: any[]) {\n if (this.isMuted) return this;\n if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)\n && !Helpers.contain(this.allowed, Level.WARN)) return this;\n\n if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.WARN)) {\n // @ts-ignore\n Display.msg.apply(void 0, [\n name,\n ...data,\n this.name,\n this.color,\n Level.WARN,\n this.fixedWidth,\n this.isProductionMode,\n ])\n }\n return this;\n }\n\n\n /**\n * @see data\n */\n d = (name: string | any, ...data: any[]) => this._data(name, data);\n\n /**\n * @see error\n */\n\n er = (name: string | any, ...data: any[]) => this._error(name, data);\n\n /**\n * @see info\n */\n i = (name: string | any, ...data: any[]) => this._info(name, data);\n\n /**\n * @see warn\n */\n w = (name: string | any, ...data: any[]) => this._warn(name, data);\n\n /**\n * Logs message and data with the level=data\n * @param message The message\n * @param otherParams Additional parameters\n */\n data = (message: string, ...otherParams: any[]) => { return this._data(message, otherParams); };\n\n /**\n * Logs message and data with the level=error\n * @param message The message\n * @param otherParams Additional parameters\n */\n error = (message: string, ...otherParams: any[]) => this._error(message, otherParams);\n\n /**\n * Logs message and data with the level=info\n * @param message The message\n * @param otherParams Additional parameters\n */\n info = (message: string, ...otherParams: any[]) => this._info(message, otherParams);\n\n /**\n * Logs message and data with the level=success\n * @param message The message\n * @param otherParams Additional parameters\n */\n success = (message: string, ...otherParams: any[]) => this._success(message, otherParams);\n\n\n /**\n * Logs message and data with the level=taskStarted\n * @param message The message\n * @param otherParams Additional parameters\n */\n taskStarted = (message: string, ...otherParams: any[]) => this._taskStarted(message, otherParams);\n\n /**\n * Logs message and data with the level=taskDone\n * @param message The message\n * @param otherParams Additional parameters\n */\n taskDone = (message?: string, ...otherParams: any[]) => this._taskDone(message, otherParams);\n\n /**\n * Logs message and data with the level=warn\n * @param message The message\n * @param otherParams Additional parameters\n */\n warn = (message: string, ...otherParams: any[]) => this._warn(message, otherParams);\n\n}\n\n ;({}); // @--end-of-file-for-module=ng2-logger lib/logger.ts","\n\nimport { Logger } from './logger';\nimport { Level, LevelOrder, LevelKey } from './level';\nimport { Helpers } from 'tnp-core/browser';\n/* */\n/* */\n/* */\n \n\n\n/* */\n/* */\n \n\n\nexport class Log {\n\n private constructor() { }\n // @ts-ignore\n private static get instance(): any {\n // @ts-ignore\n if (!Log['_instance']) {\n // @ts-ignore\n Log['_instance'] = new Log();\n }\n // @ts-ignore\n return Log['_instance'];\n }\n\n\n static Logger: (typeof Logger) = Logger;\n static create(name: string, ...level: Level[]): Logger {\n return Log.instance.create(name, ...level);\n }\n\n private static readonly consolelogfn = {};\n static disableLogs(level = Level.__NOTHING) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n LevelOrder.reverse().find(a => {\n // @ts-ignore\n if (!this.consolelogfn[a]) {\n // @ts-ignore\n this.consolelogfn[a] = console[a];\n }\n // @ts-ignore\n console[a] = () => { };\n if (a === LevelKey[level]) {\n return true;\n }\n return false;\n });\n }\n\n static enableLogs() {\n/* */\n/* */\n/* */\n/* */\n \n LevelOrder.forEach(a => {\n // @ts-ignore\n console[a] = this.consolelogfn[a]\n });\n }\n\n private _logOnly = false;\n private _logModules = false;\n private isDevelopmentMode = true;\n private modeIsSet: boolean = false;\n private fixedWidth = 0;\n private instances: { [moduleName: string]: Logger } = {};\n private levels: Level[] = [];\n private modules: (string | RegExp)[] = [];\n\n\n public setProductionMode() {\n if (this.modeIsSet) {\n this.modeIsSet = false\n throw '[ng2-logger] Production mode is already set';\n } else {\n this.modeIsSet = true;\n setTimeout(() => {\n\n if (this.modeIsSet && console !== void 0 && console.clear !== void 0) {\n\n console.clear();\n console.log = () => { };\n console.error = () => { };\n console.warn = () => { };\n console.info = () => { };\n }\n });\n\n this.isDevelopmentMode = false;\n }\n }\n\n public onlyModules(...modules: (string | RegExp)[]) {\n if (this._logModules) {\n throw '[ng2-logger] You should use funcion onlyModules only once';\n }\n if (!this._logModules) {\n this._logModules = true;\n }\n if (modules.length === 0) return;\n this.modules = modules;\n\n this.muteAllOtherModules();\n }\n\n\n public onlyLevel(...level: Level[]) {\n if (this._logOnly) {\n throw '[ng2-logger] You should use funcion onlyLevel only once';\n }\n if (!this._logOnly) {\n this._logOnly = true;\n }\n\n this.levels = Array.isArray(level) ? level : [level];\n\n\n for (const logName in this.instances) {\n if (this.instances.hasOwnProperty(logName)) {\n const element = this.instances[logName];\n element['allowed'] = this.levels;\n }\n }\n }\n\n\n\n private create(name: string, ...level: Level[]): Logger {\n let i: Logger;\n if (Array.isArray(this.levels) && this.levels.length > 0) {\n level = this.levels;\n }\n if (this.instances[name] === void 0) {\n i = new (Log.Logger)(\n name,\n getRandomColor(),\n this.isDevelopmentMode,\n level,\n this.isMutedModule(name),\n this.levels.length > 0 ? this.fixedWidth : void 0,\n\n );\n this.instances[name] = i;\n } else {\n i = this.instances[name];\n }\n return i;\n }\n\n private isMutedModule(moduleName: string): boolean {\n if (this.modules.length == 0) return false;\n if (!Helpers.contain(this.modules, moduleName)) return true;\n return false;\n }\n private muteAllOtherModules() {\n for (var moduleName in this.instances) {\n if (!Helpers.contain(this.modules, moduleName))\n this.instances[moduleName].mute()\n }\n }\n\n}\n\n\nfunction getRandomColor(): string {\n/* */\n/* */\n/* */\n/* */\n \n\n let letters = '012345'.split('');\n let color = '#';\n color += letters[Math.round(Math.random() * 5)];\n letters = '0123456789ABCDEF'.split('');\n for (let i = 0; i < 5; i++) {\n color += letters[Math.round(Math.random() * 15)];\n }\n if (color === void 0) {\n return getRandomColor()\n };\n return color;\n}\n\n ;({}); // @--end-of-file-for-module=ng2-logger lib/log.ts","\n\nexport * from './log';\nexport * from './level';\nexport * from './logger';\nexport * from './display';\n\n ;({}); // @--end-of-file-for-module=ng2-logger lib/index.ts","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng2-logger.mjs","sources":["../../../tmp-libs-for-dist/ng2-logger/projects/ng2-logger/src/lib/level.ts","../../../tmp-libs-for-dist/ng2-logger/projects/ng2-logger/src/lib/display.ts","../../../tmp-libs-for-dist/ng2-logger/projects/ng2-logger/src/lib/logger.ts","../../../tmp-libs-for-dist/ng2-logger/projects/ng2-logger/src/lib/log.ts","../../../tmp-libs-for-dist/ng2-logger/projects/ng2-logger/src/lib/index.ts","../../../tmp-libs-for-dist/ng2-logger/projects/ng2-logger/src/ng2-logger.ts"],"sourcesContent":["\n\nexport enum Level {\n DATA,\n INFO,\n WARN,\n ERROR ,\n SUCCESS,\n TASK_STARTED,\n TASK_DONE,\n __NOTHING ,\n}\n\nexport const LevelKey = {\n [Level.DATA] : 'log',\n [Level.INFO] : 'info',\n [Level.WARN] : 'warn',\n [Level.ERROR] : 'error',\n [Level.SUCCESS] : 'success',\n [Level.TASK_STARTED] : 'taskstarted',\n [Level.TASK_DONE] : 'taskdone',\n [Level.__NOTHING] : '',\n}\n\nexport const LevelOrder = [\n LevelKey[Level.DATA],\n LevelKey[Level.TASK_STARTED],\n LevelKey[Level.TASK_DONE],\n LevelKey[Level.INFO],\n LevelKey[Level.SUCCESS],\n LevelKey[Level.WARN],\n LevelKey[Level.ERROR],\n];\n\n ;({}); // @--end-of-file-for-module=ng2-logger lib/level.ts","\n\n/* */\n/* */\n \nimport { Level } from './level';\nimport { Helpers } from 'tnp-core/browser';\nimport { consoleLog, displayParams } from './backend-logging';\n\n/* */\n/* */\n \n\nexport class Display {\n\n static msg(\n message: string | any,\n params: any[],\n moduleName: string,\n moduleColor: string,\n level: Level,\n moduleWidth: number | undefined,\n isProductionMode: boolean\n ) {\n if (isProductionMode) {\n return;\n };\n let color = 'gray';\n if (level === Level.INFO) { color = 'deepskyblue'; }\n if (level === Level.ERROR) { color = 'red'; }\n if (level === Level.WARN) { color = 'orange'; }\n\n if (moduleWidth) {\n const diff = moduleWidth - moduleName.length;\n if (diff > 0) {\n for (let i = 0; i < diff; i++) {\n moduleName += ' ';\n }\n }\n }\n\n\n if (Helpers.isBrowser\n/* */\n/* */\n \n ) {\n\n\n // @ts-ignore\n const isEdgeOrIe8orAbove = (document['documentMode'] || /Edge/.test(navigator.userAgent));\n\n if (isEdgeOrIe8orAbove) {\n if (typeof message === 'string') {\n let a1 = '[[ ' + moduleName + ' ]] ' + message + ' ';\n params.unshift(a1);\n } else {\n let a1 = '[[ ' + moduleName + ']] ';\n params.push(message);\n params.unshift(a1);\n }\n if (level === Level.INFO) {\n console.info.apply(console, params);\n } else if (level === Level.ERROR) {\n console.error.apply(console, params);\n } else if (level === Level.WARN) {\n console.warn.apply(console, params);\n } else {\n console.log.apply(console, params);\n }\n } else {\n if (typeof message === 'string') {\n let a1 = '%c ' + moduleName + ' %c ' + message + ' ';\n let a2 = 'background: ' + moduleColor + ';color:white; border: 1px solid ' + moduleColor + '; ';\n let a3 = 'border: 1px solid ' + color + '; ';\n params.unshift(a3);\n params.unshift(a2);\n params.unshift(a1);\n } else {\n let a1 = '%c ' + moduleName + ' ';\n let a2 = 'background: ' + moduleColor + ';color:white; border: 1px solid ' + color + '; ';\n params.push(message);\n params.unshift(a2);\n params.unshift(a1);\n }\n console.log.apply(console, params);\n }\n\n }\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=ng2-logger lib/display.ts","\n\nimport { Level } from './level';\nimport { Display } from './display';\nimport { Helpers } from 'tnp-core/browser';\n\nexport class Logger {\n\n private _level: Level;\n public setLevel(l: Level) {\n this._level = l;\n return this;\n }\n\n public get isProductionMode() {\n return !this.developmentMode;\n }\n\n public setProductionMode(productionMode: boolean) {\n this.developmentMode = !productionMode;\n return this;\n }\n\n public mute() {\n this.isMuted = true;\n return this;\n }\n\n constructor(\n private name: string,\n public color: string,\n private developmentMode: boolean,\n private allowed: Level[],\n private isMuted: boolean,\n public fixedWidth: number | undefined\n ) { }\n\n onlyWhen(expression: (() => boolean) | boolean) {\n if (typeof expression === 'function') {\n this.isMuted = !expression()\n } else if (typeof expression === 'boolean') {\n this.isMuted = !expression;\n }\n }\n\n private _data(name: string, ...data: any[]) {\n if (this.isMuted) return this;\n if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)\n && !Helpers.contain(this.allowed, Level.DATA)) return this;\n\n if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.DATA)) {\n // @ts-ignore\n Display.msg.apply(void 0, [\n name,\n ...data,\n this.name,\n this.color,\n Level.DATA,\n this.fixedWidth,\n this.isProductionMode,\n ]);\n }\n return this;\n }\n\n\n private _error(name: string, ...data: any[]) {\n if (this.isMuted) return this;\n if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)\n && !Helpers.contain(this.allowed, Level.ERROR)) return this;\n\n if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.ERROR)) {\n // @ts-ignore\n Display.msg.apply(void 0, [\n name,\n ...data,\n this.name,\n this.color,\n Level.ERROR,\n this.fixedWidth,\n this.isProductionMode,\n ]);\n }\n return this;\n }\n\n private _info(name: string, ...data: any[]) {\n if (this.isMuted) return this;\n if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)\n && !Helpers.contain(this.allowed, Level.INFO)) return this;\n\n if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.INFO)) {\n // @ts-ignore\n Display.msg.apply(void 0, [\n name,\n ...data,\n this.name,\n this.color,\n Level.INFO,\n this.fixedWidth,\n this.isProductionMode,\n ]);\n }\n return this;\n }\n\n private _success(name: string, ...data: any[]) {\n if (this.isMuted) return this;\n if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)\n && !Helpers.contain(this.allowed, Level.SUCCESS)) return this;\n\n if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.SUCCESS)) {\n // @ts-ignore\n Display.msg.apply(void 0, [\n name,\n ...data,\n this.name,\n this.color,\n Level.SUCCESS,\n this.fixedWidth,\n this.isProductionMode,\n ]);\n }\n return this;\n }\n\n private _taskStarted(name: string, ...data: any[]) {\n if (this.isMuted) return this;\n if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)\n && !Helpers.contain(this.allowed, Level.TASK_STARTED)) return this;\n\n if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.TASK_STARTED)) {\n // @ts-ignore\n Display.msg.apply(void 0, [\n name,\n ...data,\n this.name,\n this.color,\n Level.TASK_STARTED,\n this.fixedWidth,\n this.isProductionMode,\n ]);\n }\n return this;\n }\n\n private _taskDone(name: string, ...data: any[]) {\n if (this.isMuted) return this;\n if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)\n && !Helpers.contain(this.allowed, Level.TASK_DONE)) return this;\n\n if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.TASK_DONE)) {\n // @ts-ignore\n Display.msg.apply(void 0, [\n name,\n ...data,\n this.name,\n this.color,\n Level.TASK_DONE,\n this.fixedWidth,\n this.isProductionMode,\n ]);\n }\n return this;\n }\n\n private _warn(name: string, ...data: any[]) {\n if (this.isMuted) return this;\n if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)\n && !Helpers.contain(this.allowed, Level.WARN)) return this;\n\n if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.WARN)) {\n // @ts-ignore\n Display.msg.apply(void 0, [\n name,\n ...data,\n this.name,\n this.color,\n Level.WARN,\n this.fixedWidth,\n this.isProductionMode,\n ])\n }\n return this;\n }\n\n\n /**\n * @see data\n */\n d = (name: string | any, ...data: any[]) => this._data(name, data);\n\n /**\n * @see error\n */\n\n er = (name: string | any, ...data: any[]) => this._error(name, data);\n\n /**\n * @see info\n */\n i = (name: string | any, ...data: any[]) => this._info(name, data);\n\n /**\n * @see warn\n */\n w = (name: string | any, ...data: any[]) => this._warn(name, data);\n\n /**\n * Logs message and data with the level=data\n * @param message The message\n * @param otherParams Additional parameters\n */\n data = (message: string, ...otherParams: any[]) => { return this._data(message, otherParams); };\n\n /**\n * Logs message and data with the level=error\n * @param message The message\n * @param otherParams Additional parameters\n */\n error = (message: string, ...otherParams: any[]) => this._error(message, otherParams);\n\n /**\n * Logs message and data with the level=info\n * @param message The message\n * @param otherParams Additional parameters\n */\n info = (message: string, ...otherParams: any[]) => this._info(message, otherParams);\n\n /**\n * Logs message and data with the level=success\n * @param message The message\n * @param otherParams Additional parameters\n */\n success = (message: string, ...otherParams: any[]) => this._success(message, otherParams);\n\n\n /**\n * Logs message and data with the level=taskStarted\n * @param message The message\n * @param otherParams Additional parameters\n */\n taskStarted = (message: string, ...otherParams: any[]) => this._taskStarted(message, otherParams);\n\n /**\n * Logs message and data with the level=taskDone\n * @param message The message\n * @param otherParams Additional parameters\n */\n taskDone = (message?: string, ...otherParams: any[]) => this._taskDone(message, otherParams);\n\n /**\n * Logs message and data with the level=warn\n * @param message The message\n * @param otherParams Additional parameters\n */\n warn = (message: string, ...otherParams: any[]) => this._warn(message, otherParams);\n\n}\n\n ;({}); // @--end-of-file-for-module=ng2-logger lib/logger.ts","\n\nimport { Logger } from './logger';\nimport { Level, LevelOrder, LevelKey } from './level';\nimport { Helpers } from 'tnp-core/browser';\n/* */\n/* */\n/* */\n \n\n\n/* */\n/* */\n \n\n\nexport class Log {\n\n private constructor() { }\n // @ts-ignore\n private static get instance(): any {\n // @ts-ignore\n if (!Log['_instance']) {\n // @ts-ignore\n Log['_instance'] = new Log();\n }\n // @ts-ignore\n return Log['_instance'];\n }\n\n\n static Logger: (typeof Logger) = Logger;\n static create(name: string, ...level: Level[]): Logger {\n return Log.instance.create(name, ...level);\n }\n\n private static readonly consolelogfn = {};\n static disableLogs(level = Level.__NOTHING) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n LevelOrder.reverse().find(a => {\n // @ts-ignore\n if (!this.consolelogfn[a]) {\n // @ts-ignore\n this.consolelogfn[a] = console[a];\n }\n // @ts-ignore\n console[a] = () => { };\n if (a === LevelKey[level]) {\n return true;\n }\n return false;\n });\n }\n\n static enableLogs() {\n/* */\n/* */\n/* */\n/* */\n \n LevelOrder.forEach(a => {\n // @ts-ignore\n console[a] = this.consolelogfn[a]\n });\n }\n\n private _logOnly = false;\n private _logModules = false;\n private isDevelopmentMode = true;\n private modeIsSet: boolean = false;\n private fixedWidth = 0;\n private instances: { [moduleName: string]: Logger } = {};\n private levels: Level[] = [];\n private modules: (string | RegExp)[] = [];\n\n\n public setProductionMode() {\n if (this.modeIsSet) {\n this.modeIsSet = false\n throw '[ng2-logger] Production mode is already set';\n } else {\n this.modeIsSet = true;\n setTimeout(() => {\n\n if (this.modeIsSet && console !== void 0 && console.clear !== void 0) {\n\n console.clear();\n console.log = () => { };\n console.error = () => { };\n console.warn = () => { };\n console.info = () => { };\n }\n });\n\n this.isDevelopmentMode = false;\n }\n }\n\n public onlyModules(...modules: (string | RegExp)[]) {\n if (this._logModules) {\n throw '[ng2-logger] You should use funcion onlyModules only once';\n }\n if (!this._logModules) {\n this._logModules = true;\n }\n if (modules.length === 0) return;\n this.modules = modules;\n\n this.muteAllOtherModules();\n }\n\n\n public onlyLevel(...level: Level[]) {\n if (this._logOnly) {\n throw '[ng2-logger] You should use funcion onlyLevel only once';\n }\n if (!this._logOnly) {\n this._logOnly = true;\n }\n\n this.levels = Array.isArray(level) ? level : [level];\n\n\n for (const logName in this.instances) {\n if (this.instances.hasOwnProperty(logName)) {\n const element = this.instances[logName];\n element['allowed'] = this.levels;\n }\n }\n }\n\n\n\n private create(name: string, ...level: Level[]): Logger {\n let i: Logger;\n if (Array.isArray(this.levels) && this.levels.length > 0) {\n level = this.levels;\n }\n if (this.instances[name] === void 0) {\n i = new (Log.Logger)(\n name,\n getRandomColor(),\n this.isDevelopmentMode,\n level,\n this.isMutedModule(name),\n this.levels.length > 0 ? this.fixedWidth : void 0,\n\n );\n this.instances[name] = i;\n } else {\n i = this.instances[name];\n }\n return i;\n }\n\n private isMutedModule(moduleName: string): boolean {\n if (this.modules.length == 0) return false;\n if (!Helpers.contain(this.modules, moduleName)) return true;\n return false;\n }\n private muteAllOtherModules() {\n for (var moduleName in this.instances) {\n if (!Helpers.contain(this.modules, moduleName))\n this.instances[moduleName].mute()\n }\n }\n\n}\n\n\nfunction getRandomColor(): string {\n/* */\n/* */\n/* */\n/* */\n \n\n let letters = '012345'.split('');\n let color = '#';\n color += letters[Math.round(Math.random() * 5)];\n letters = '0123456789ABCDEF'.split('');\n for (let i = 0; i < 5; i++) {\n color += letters[Math.round(Math.random() * 15)];\n }\n if (color === void 0) {\n return getRandomColor()\n };\n return color;\n}\n\n ;({}); // @--end-of-file-for-module=ng2-logger lib/log.ts","\n\nexport * from './log';\nexport * from './level';\nexport * from './logger';\nexport * from './display';\n\n ;({}); // @--end-of-file-for-module=ng2-logger lib/index.ts","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "ng2-logger/browser",
3
+ "version": "19.0.3",
4
+ "module": "fesm2022/ng2-logger.mjs",
5
+ "typings": "index.d.ts",
6
+ "exports": {
7
+ ".": {
8
+ "types": "./index.d.ts",
9
+ "default": "./fesm2022/ng2-logger.mjs"
10
+ }
11
+ },
12
+ "sideEffects": false
13
+ }
@@ -0,0 +1,94 @@
1
+ /* */
2
+ /* */
3
+ /* */
4
+ /* */
5
+ /* */
6
+ /* */
7
+ /* */
8
+ export function consoleLog(data, level) {
9
+ /* */
10
+ /* */
11
+ /* */
12
+ /* */
13
+ /* */
14
+ /* */
15
+ /* */
16
+ /* */
17
+ }
18
+ export function displayParams(params = [], level) {
19
+ /* */
20
+ /* */
21
+ /* */
22
+ /* */
23
+ /* */
24
+ /* */
25
+ /* */
26
+ /* */
27
+ /* */
28
+ /* */
29
+ }
30
+ function replace(out, match, char, color) {
31
+ /* */
32
+ /* */
33
+ /* */
34
+ /* */
35
+ /* */
36
+ /* */
37
+ /* */
38
+ /* */
39
+ /* */
40
+ /* */
41
+ }
42
+ function handleObjectData(param, level) {
43
+ /* */
44
+ /* */
45
+ /* */
46
+ /* */
47
+ /* */
48
+ /* */
49
+ /* */
50
+ /* */
51
+ /* */
52
+ /* */
53
+ /* */
54
+ /* */
55
+ /* */
56
+ /* */
57
+ /* */
58
+ /* */
59
+ /* */
60
+ /* */
61
+ /* */
62
+ /* */
63
+ /* */
64
+ /* */
65
+ /* */
66
+ /* */
67
+ /* */
68
+ /* */
69
+ }
70
+ export function istartedInVscode() {
71
+ /* */
72
+ /* */
73
+ /* */
74
+ /* */
75
+ /* */
76
+ /* */
77
+ /* */
78
+ /* */
79
+ /* */
80
+ /* */
81
+ /* */
82
+ }
83
+ function isObjectAfterStringify(s) {
84
+ /* */
85
+ /* */
86
+ /* */
87
+ /* */
88
+ /* */
89
+ /* */
90
+ /* */
91
+ }
92
+ ;
93
+ ({}); // @--end-of-file-for-module=ng2-logger lib/backend-logging.ts
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZC1sb2dnaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvbmcyLWxvZ2dlci9wcm9qZWN0cy9uZzItbG9nZ2VyL3NyYy9saWIvYmFja2VuZC1sb2dnaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLEtBQUs7QUFDTCxLQUFLO0FBS0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFHTCxNQUFNLFVBQVUsVUFBVSxDQUFDLElBQVksRUFBRSxLQUFZO0lBQ3JELEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0FBRUwsQ0FBQztBQUdELE1BQU0sVUFBVSxhQUFhLENBQUMsU0FBZ0IsRUFBRSxFQUFFLEtBQVk7SUFDOUQsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztBQUVMLENBQUM7QUFFRCxTQUFTLE9BQU8sQ0FBQyxHQUFXLEVBQUUsS0FBYSxFQUFFLElBQVksRUFBRSxLQUFVO0lBQ3JFLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7QUFFTCxDQUFDO0FBR0QsU0FBUyxnQkFBZ0IsQ0FBQyxLQUFhLEVBQUUsS0FBWTtJQUNyRCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztBQUVMLENBQUM7QUFHRCxNQUFNLFVBQVUsZ0JBQWdCO0lBQ2hDLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0FBRUwsQ0FBQztBQUVELFNBQVMsc0JBQXNCLENBQUMsQ0FBUztJQUN6QyxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0FBRUwsQ0FBQztBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsOERBQThEIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbi8qICovXG4vKiAqL1xuICBcblxuaW1wb3J0IHsgTGV2ZWwgfSBmcm9tICcuL2xldmVsJztcblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG5leHBvcnQgZnVuY3Rpb24gY29uc29sZUxvZyhkYXRhOiBzdHJpbmcsIGxldmVsOiBMZXZlbCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBkaXNwbGF5UGFyYW1zKHBhcmFtczogYW55W10gPSBbXSwgbGV2ZWw6IExldmVsKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbn1cblxuZnVuY3Rpb24gcmVwbGFjZShvdXQ6IHN0cmluZywgbWF0Y2g6IFJlZ0V4cCwgY2hhcjogUmVnRXhwLCBjb2xvcjogYW55KSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbn1cblxuXG5mdW5jdGlvbiBoYW5kbGVPYmplY3REYXRhKHBhcmFtOiBzdHJpbmcsIGxldmVsOiBMZXZlbCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBpc3RhcnRlZEluVnNjb2RlKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxufVxuXG5mdW5jdGlvbiBpc09iamVjdEFmdGVyU3RyaW5naWZ5KHM6IHN0cmluZykge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT1uZzItbG9nZ2VyIGxpYi9iYWNrZW5kLWxvZ2dpbmcudHMiXX0=