ng2-logger 13.1.25 → 16.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 (65) hide show
  1. package/README.md +192 -192
  2. package/assets/shared/shared_folder_info.txt +1 -1
  3. package/browser/README.md +24 -24
  4. package/browser/esm2022/lib/log.mjs +162 -0
  5. package/browser/esm2022/lib/logger.mjs +237 -0
  6. package/{client/fesm2015 → browser/fesm2022}/ng2-logger.mjs +18 -17
  7. package/browser/{fesm2020 → fesm2022}/ng2-logger.mjs.map +1 -1
  8. package/browser/package.json +6 -12
  9. package/client/README.md +24 -24
  10. package/client/esm2022/lib/log.mjs +162 -0
  11. package/client/esm2022/lib/logger.mjs +237 -0
  12. package/{browser/fesm2020 → client/fesm2022}/ng2-logger.mjs +18 -17
  13. package/client/{fesm2020 → fesm2022}/ng2-logger.mjs.map +1 -1
  14. package/client/package.json +84 -82
  15. package/index.js.map +1 -1
  16. package/lib/backend-logging.js.map +1 -1
  17. package/lib/display.js.map +1 -1
  18. package/lib/index.js.map +1 -1
  19. package/lib/level.js.map +1 -1
  20. package/lib/log.js +1 -2
  21. package/lib/log.js.map +1 -1
  22. package/lib/logger.js.map +1 -1
  23. package/package.json +3 -3
  24. package/package.json_devDependencies.json +184 -184
  25. package/package.json_tnp.json5 +54 -54
  26. package/tmp-environment.json +89 -87
  27. package/websql/README.md +24 -24
  28. package/websql/esm2022/lib/log.mjs +162 -0
  29. package/websql/esm2022/lib/logger.mjs +237 -0
  30. package/websql/{fesm2015 → fesm2022}/ng2-logger.mjs +18 -17
  31. package/websql/{fesm2020 → fesm2022}/ng2-logger.mjs.map +1 -1
  32. package/websql/package.json +6 -12
  33. package/browser/esm2020/lib/log.mjs +0 -161
  34. package/browser/esm2020/lib/logger.mjs +0 -237
  35. package/browser/fesm2015/ng2-logger.mjs +0 -530
  36. package/browser/fesm2015/ng2-logger.mjs.map +0 -1
  37. package/client/esm2020/lib/log.mjs +0 -161
  38. package/client/esm2020/lib/logger.mjs +0 -237
  39. package/client/fesm2015/ng2-logger.mjs.map +0 -1
  40. package/client/fesm2020/ng2-logger.mjs +0 -530
  41. package/websql/esm2020/lib/log.mjs +0 -161
  42. package/websql/esm2020/lib/logger.mjs +0 -237
  43. package/websql/fesm2015/ng2-logger.mjs.map +0 -1
  44. package/websql/fesm2020/ng2-logger.mjs +0 -530
  45. /package/browser/{esm2020 → esm2022}/lib/backend-logging.mjs +0 -0
  46. /package/browser/{esm2020 → esm2022}/lib/display.mjs +0 -0
  47. /package/browser/{esm2020 → esm2022}/lib/index.mjs +0 -0
  48. /package/browser/{esm2020 → esm2022}/lib/level.mjs +0 -0
  49. /package/browser/{esm2020 → esm2022}/ng2-logger.mjs +0 -0
  50. /package/browser/{esm2020 → esm2022}/public-api.mjs +0 -0
  51. /package/browser/{ng2-logger.d.ts → index.d.ts} +0 -0
  52. /package/client/{esm2020 → esm2022}/lib/backend-logging.mjs +0 -0
  53. /package/client/{esm2020 → esm2022}/lib/display.mjs +0 -0
  54. /package/client/{esm2020 → esm2022}/lib/index.mjs +0 -0
  55. /package/client/{esm2020 → esm2022}/lib/level.mjs +0 -0
  56. /package/client/{esm2020 → esm2022}/ng2-logger.mjs +0 -0
  57. /package/client/{esm2020 → esm2022}/public-api.mjs +0 -0
  58. /package/client/{ng2-logger.d.ts → index.d.ts} +0 -0
  59. /package/websql/{esm2020 → esm2022}/lib/backend-logging.mjs +0 -0
  60. /package/websql/{esm2020 → esm2022}/lib/display.mjs +0 -0
  61. /package/websql/{esm2020 → esm2022}/lib/index.mjs +0 -0
  62. /package/websql/{esm2020 → esm2022}/lib/level.mjs +0 -0
  63. /package/websql/{esm2020 → esm2022}/ng2-logger.mjs +0 -0
  64. /package/websql/{esm2020 → esm2022}/public-api.mjs +0 -0
  65. /package/websql/{ng2-logger.d.ts → index.d.ts} +0 -0
@@ -0,0 +1,162 @@
1
+ import { Logger } from './logger';
2
+ import { Level, LevelOrder, LevelKey } from './level';
3
+ import { Helpers } from 'tnp-core/browser';
4
+ /* */
5
+ /* */
6
+ /* */
7
+ /* */
8
+ /* */
9
+ class Log {
10
+ constructor() {
11
+ this._logOnly = false;
12
+ this._logModules = false;
13
+ this.isDevelopmentMode = true;
14
+ this.modeIsSet = false;
15
+ this.fixedWidth = 0;
16
+ this.instances = {};
17
+ this.levels = [];
18
+ this.modules = [];
19
+ }
20
+ // @ts-ignore
21
+ static get instance() {
22
+ // @ts-ignore
23
+ if (!Log['_instance']) {
24
+ // @ts-ignore
25
+ Log['_instance'] = new Log();
26
+ }
27
+ // @ts-ignore
28
+ return Log['_instance'];
29
+ }
30
+ static { this.Logger = Logger; }
31
+ static create(name, ...level) {
32
+ return Log.instance.create(name, ...level);
33
+ }
34
+ static { this.consolelogfn = {}; }
35
+ static disableLogs(level = Level.__NOTHING) {
36
+ /* */
37
+ /* */
38
+ /* */
39
+ /* */
40
+ /* */
41
+ /* */
42
+ /* */
43
+ LevelOrder.reverse().find(a => {
44
+ // @ts-ignore
45
+ if (!this.consolelogfn[a]) {
46
+ // @ts-ignore
47
+ this.consolelogfn[a] = console[a];
48
+ }
49
+ // @ts-ignore
50
+ console[a] = () => { };
51
+ if (a === LevelKey[level]) {
52
+ return true;
53
+ }
54
+ return false;
55
+ });
56
+ }
57
+ static enableLogs() {
58
+ /* */
59
+ /* */
60
+ /* */
61
+ /* */
62
+ LevelOrder.forEach(a => {
63
+ // @ts-ignore
64
+ console[a] = this.consolelogfn[a];
65
+ });
66
+ }
67
+ setProductionMode() {
68
+ if (this.modeIsSet) {
69
+ this.modeIsSet = false;
70
+ throw '[ng2-logger] Production mode is already set';
71
+ }
72
+ else {
73
+ this.modeIsSet = true;
74
+ setTimeout(() => {
75
+ if (this.modeIsSet && console !== void 0 && console.clear !== void 0) {
76
+ console.clear();
77
+ console.log = () => { };
78
+ console.error = () => { };
79
+ console.warn = () => { };
80
+ console.info = () => { };
81
+ }
82
+ });
83
+ this.isDevelopmentMode = false;
84
+ }
85
+ }
86
+ onlyModules(...modules) {
87
+ if (this._logModules) {
88
+ throw '[ng2-logger] You should use funcion onlyModules only once';
89
+ }
90
+ if (!this._logModules) {
91
+ this._logModules = true;
92
+ }
93
+ if (modules.length === 0)
94
+ return;
95
+ this.modules = modules;
96
+ this.muteAllOtherModules();
97
+ }
98
+ onlyLevel(...level) {
99
+ if (this._logOnly) {
100
+ throw '[ng2-logger] You should use funcion onlyLevel only once';
101
+ }
102
+ if (!this._logOnly) {
103
+ this._logOnly = true;
104
+ }
105
+ this.levels = Array.isArray(level) ? level : [level];
106
+ for (const logName in this.instances) {
107
+ if (this.instances.hasOwnProperty(logName)) {
108
+ const element = this.instances[logName];
109
+ element['allowed'] = this.levels;
110
+ }
111
+ }
112
+ }
113
+ create(name, ...level) {
114
+ let i;
115
+ if (Array.isArray(this.levels) && this.levels.length > 0) {
116
+ level = this.levels;
117
+ }
118
+ if (this.instances[name] === void 0) {
119
+ i = new (Log.Logger)(name, getRandomColor(), this.isDevelopmentMode, level, this.isMutedModule(name), this.levels.length > 0 ? this.fixedWidth : void 0);
120
+ this.instances[name] = i;
121
+ }
122
+ else {
123
+ i = this.instances[name];
124
+ }
125
+ return i;
126
+ }
127
+ isMutedModule(moduleName) {
128
+ if (this.modules.length == 0)
129
+ return false;
130
+ if (!Helpers.contain(this.modules, moduleName))
131
+ return true;
132
+ return false;
133
+ }
134
+ muteAllOtherModules() {
135
+ for (var moduleName in this.instances) {
136
+ if (!Helpers.contain(this.modules, moduleName))
137
+ this.instances[moduleName].mute();
138
+ }
139
+ }
140
+ }
141
+ export { Log };
142
+ function getRandomColor() {
143
+ /* */
144
+ /* */
145
+ /* */
146
+ /* */
147
+ let letters = '012345'.split('');
148
+ let color = '#';
149
+ color += letters[Math.round(Math.random() * 5)];
150
+ letters = '0123456789ABCDEF'.split('');
151
+ for (let i = 0; i < 5; i++) {
152
+ color += letters[Math.round(Math.random() * 15)];
153
+ }
154
+ if (color === void 0) {
155
+ return getRandomColor();
156
+ }
157
+ ;
158
+ return color;
159
+ }
160
+ ;
161
+ ({}); // @--end-of-file-for-module=ng2-logger lib/log.ts
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS9uZzItbG9nZ2VyL3Byb2plY3RzL25nMi1sb2dnZXIvc3JjL2xpYi9sb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzNDLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUlMLEtBQUs7QUFDTCxLQUFLO0FBSUwsTUFBYSxHQUFHO0lBRWQ7UUF1RFEsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixzQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFDekIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsY0FBUyxHQUFxQyxFQUFFLENBQUM7UUFDakQsV0FBTSxHQUFZLEVBQUUsQ0FBQztRQUNyQixZQUFPLEdBQXdCLEVBQUUsQ0FBQztJQTlEbEIsQ0FBQztJQUN6QixhQUFhO0lBQ0wsTUFBTSxLQUFLLFFBQVE7UUFDekIsYUFBYTtRQUNiLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDckIsYUFBYTtZQUNiLEdBQUcsQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1NBQzlCO1FBQ0QsYUFBYTtRQUNiLE9BQU8sR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzFCLENBQUM7YUFHTSxXQUFNLEdBQW9CLE1BQU0sQUFBMUIsQ0FBMkI7SUFDeEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFZLEVBQUUsR0FBRyxLQUFjO1FBQzNDLE9BQU8sR0FBRyxD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QyxFQUFFLEVBQUU7UUFDMUIsS0FBSyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO0tBQ2xEO0lBQ0QsSUFBSSxLQUFLLEtBQUssS0FBSyxDQUFDLEVBQUU7UUFDcEIsT0FBTyxjQUFjLEVBQUUsQ0FBQTtLQUN4QjtJQUFBLENBQUM7SUFDRixPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGtEQUFrRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvZ2dlciB9IGZyb20gJy4vbG9nZ2VyJztcbmltcG9ydCB7IExldmVsLCBMZXZlbE9yZGVyLCBMZXZlbEtleSB9IGZyb20gJy4vbGV2ZWwnO1xuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuXG4vKiAqL1xuLyogKi9cbiAgXG5cblxuZXhwb3J0IGNsYXNzIExvZyB7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcigpIHsgfVxuICAvLyBAdHMtaWdub3JlXG4gIHByaXZhdGUgc3RhdGljIGdldCBpbnN0YW5jZSgpOiBhbnkge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBpZiAoIUxvZ1snX2luc3RhbmNlJ10pIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIExvZ1snX2luc3RhbmNlJ10gPSBuZXcgTG9nKCk7XG4gICAgfVxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICByZXR1cm4gTG9nWydfaW5zdGFuY2UnXTtcbiAgfVxuXG5cbiAgc3RhdGljIExvZ2dlcjogKHR5cGVvZiBMb2dnZXIpID0gTG9nZ2VyO1xuICBzdGF0aWMgY3JlYXRlKG5hbWU6IHN0cmluZywgLi4ubGV2ZWw6IExldmVsW10pOiBMb2dnZXIge1xuICAgIHJldHVybiBMb2cuaW5zdGFuY2UuY3JlYXRlKG5hbWUsIC4uLmxldmVsKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IGNvbnNvbGVsb2dmbiA9IHt9O1xuICBzdGF0aWMgZGlzYWJsZUxvZ3MobGV2ZWwgPSBMZXZlbC5fX05PVEhJTkcpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICAgIExldmVsT3JkZXIucmV2ZXJzZSgpLmZpbmQoYSA9PiB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBpZiAoIXRoaXMuY29uc29sZWxvZ2ZuW2FdKSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgdGhpcy5jb25zb2xlbG9nZm5bYV0gPSBjb25zb2xlW2FdO1xuICAgICAgfVxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgY29uc29sZVthXSA9ICgpID0+IHsgfTtcbiAgICAgIGlmIChhID09PSBMZXZlbEtleVtsZXZlbF0pIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgZW5hYmxlTG9ncygpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICAgIExldmVsT3JkZXIuZm9yRWFjaChhID0+IHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGNvbnNvbGVbYV0gPSB0aGlzLmNvbnNvbGVsb2dmblthXVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfbG9nT25seSA9IGZhbHNlO1xuICBwcml2YXRlIF9sb2dNb2R1bGVzID0gZmFsc2U7XG4gIHByaXZhdGUgaXNEZXZlbG9wbWVudE1vZGUgPSB0cnVlO1xuICBwcml2YXRlIG1vZGVJc1NldDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIGZpeGVkV2lkdGggPSAwO1xuICBwcml2YXRlIGluc3RhbmNlczogeyBbbW9kdWxlTmFtZTogc3RyaW5nXTogTG9nZ2VyIH0gPSB7fTtcbiAgcHJpdmF0ZSBsZXZlbHM6IExldmVsW10gPSBbXTtcbiAgcHJpdmF0ZSBtb2R1bGVzOiAoc3RyaW5nIHwgUmVnRXhwKVtdID0gW107XG5cblxuICBwdWJsaWMgc2V0UHJvZHVjdGlvbk1vZGUoKSB7XG4gICAgaWYgKHRoaXMubW9kZUlzU2V0KSB7XG4gICAgICB0aGlzLm1vZGVJc1NldCA9IGZhbHNlXG4gICAgICB0aHJvdyAnW25nMi1sb2dnZXJdIFByb2R1Y3Rpb24gbW9kZSBpcyBhbHJlYWR5IHNldCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubW9kZUlzU2V0ID0gdHJ1ZTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuXG4gICAgICAgIGlmICh0aGlzLm1vZGVJc1NldCAmJiBjb25zb2xlICE9PSB2b2lkIDAgJiYgY29uc29sZS5jbGVhciAhPT0gdm9pZCAwKSB7XG5cbiAgICAgICAgICBjb25zb2xlLmNsZWFyKCk7XG4gICAgICAgICAgY29uc29sZS5sb2cgPSAoKSA9PiB7IH07XG4gICAgICAgICAgY29uc29sZS5lcnJvciA9ICgpID0+IHsgfTtcbiAgICAgICAgICBjb25zb2xlLndhcm4gPSAoKSA9PiB7IH07XG4gICAgICAgICAgY29uc29sZS5pbmZvID0gKCkgPT4geyB9O1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5pc0RldmVsb3BtZW50TW9kZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbmx5TW9kdWxlcyguLi5tb2R1bGVzOiAoc3RyaW5nIHwgUmVnRXhwKVtdKSB7XG4gICAgaWYgKHRoaXMuX2xvZ01vZHVsZXMpIHtcbiAgICAgIHRocm93ICdbbmcyLWxvZ2dlcl0gWW91IHNob3VsZCB1c2UgZnVuY2lvbiBvbmx5TW9kdWxlcyBvbmx5IG9uY2UnO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuX2xvZ01vZHVsZXMpIHtcbiAgICAgIHRoaXMuX2xvZ01vZHVsZXMgPSB0cnVlO1xuICAgIH1cbiAgICBpZiAobW9kdWxlcy5sZW5ndGggPT09IDApIHJldHVybjtcbiAgICB0aGlzLm1vZHVsZXMgPSBtb2R1bGVzO1xuXG4gICAgdGhpcy5tdXRlQWxsT3RoZXJNb2R1bGVzKCk7XG4gIH1cblxuXG4gIHB1YmxpYyBvbmx5TGV2ZWwoLi4ubGV2ZWw6IExldmVsW10pIHtcbiAgICBpZiAodGhpcy5fbG9nT25seSkge1xuICAgICAgdGhyb3cgJ1tuZzItbG9nZ2VyXSBZb3Ugc2hvdWxkIHVzZSBmdW5jaW9uIG9ubHlMZXZlbCBvbmx5IG9uY2UnO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuX2xvZ09ubHkpIHtcbiAgICAgIHRoaXMuX2xvZ09ubHkgPSB0cnVlO1xuICAgIH1cblxuICAgIHRoaXMubGV2ZWxzID0gQXJyYXkuaXNBcnJheShsZXZlbCkgPyBsZXZlbCA6IFtsZXZlbF07XG5cblxuICAgIGZvciAoY29uc3QgbG9nTmFtZSBpbiB0aGlzLmluc3RhbmNlcykge1xuICAgICAgaWYgKHRoaXMuaW5zdGFuY2VzLmhhc093blByb3BlcnR5KGxvZ05hbWUpKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmluc3RhbmNlc1tsb2dOYW1lXTtcbiAgICAgICAgZWxlbWVudFsnYWxsb3dlZCddID0gdGhpcy5sZXZlbHM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuXG4gIHByaXZhdGUgY3JlYXRlKG5hbWU6IHN0cmluZywgLi4ubGV2ZWw6IExldmVsW10pOiBMb2dnZXIge1xuICAgIGxldCBpOiBMb2dnZXI7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5sZXZlbHMpICYmIHRoaXMubGV2ZWxzLmxlbmd0aCA+IDApIHtcbiAgICAgIGxldmVsID0gdGhpcy5sZXZlbHM7XG4gICAgfVxuICAgIGlmICh0aGlzLmluc3RhbmNlc1tuYW1lXSA9PT0gdm9pZCAwKSB7XG4gICAgICBpID0gbmV3IChMb2cuTG9nZ2VyKShcbiAgICAgICAgbmFtZSxcbiAgICAgICAgZ2V0UmFuZG9tQ29sb3IoKSxcbiAgICAgICAgdGhpcy5pc0RldmVsb3BtZW50TW9kZSxcbiAgICAgICAgbGV2ZWwsXG4gICAgICAgIHRoaXMuaXNNdXRlZE1vZHVsZShuYW1lKSxcbiAgICAgICAgdGhpcy5sZXZlbHMubGVuZ3RoID4gMCA/IHRoaXMuZml4ZWRXaWR0aCA6IHZvaWQgMCxcblxuICAgICAgKTtcbiAgICAgIHRoaXMuaW5zdGFuY2VzW25hbWVdID0gaTtcbiAgICB9IGVsc2Uge1xuICAgICAgaSA9IHRoaXMuaW5zdGFuY2VzW25hbWVdO1xuICAgIH1cbiAgICByZXR1cm4gaTtcbiAgfVxuXG4gIHByaXZhdGUgaXNNdXRlZE1vZHVsZShtb2R1bGVOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5tb2R1bGVzLmxlbmd0aCA9PSAwKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKCFIZWxwZXJzLmNvbnRhaW4odGhpcy5tb2R1bGVzLCBtb2R1bGVOYW1lKSkgcmV0dXJuIHRydWU7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHByaXZhdGUgbXV0ZUFsbE90aGVyTW9kdWxlcygpIHtcbiAgICBmb3IgKHZhciBtb2R1bGVOYW1lIGluIHRoaXMuaW5zdGFuY2VzKSB7XG4gICAgICBpZiAoIUhlbHBlcnMuY29udGFpbih0aGlzLm1vZHVsZXMsIG1vZHVsZU5hbWUpKVxuICAgICAgICB0aGlzLmluc3RhbmNlc1ttb2R1bGVOYW1lXS5tdXRlKClcbiAgICB9XG4gIH1cblxufVxuXG5cbmZ1bmN0aW9uIGdldFJhbmRvbUNvbG9yKCk6IHN0cmluZyB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuICBsZXQgbGV0dGVycyA9ICcwMTIzNDUnLnNwbGl0KCcnKTtcbiAgbGV0IGNvbG9yID0gJyMnO1xuICBjb2xvciArPSBsZXR0ZXJzW01hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIDUpXTtcbiAgbGV0dGVycyA9ICcwMTIzNDU2Nzg5QUJDREVGJy5zcGxpdCgnJyk7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgNTsgaSsrKSB7XG4gICAgY29sb3IgKz0gbGV0dGVyc1tNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiAxNSldO1xuICB9XG4gIGlmIChjb2xvciA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIGdldFJhbmRvbUNvbG9yKClcbiAgfTtcbiAgcmV0dXJuIGNvbG9yO1xufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9bmcyLWxvZ2dlciBsaWIvbG9nLnRzIl19
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS9uZzItbG9nZ2VyL3Byb2plY3RzL25nMi1sb2dnZXIvc3JjL2xpYi9sb2dnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNoQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUzQyxNQUFNLE9BQU8sTUFBTTtJQUdWLFFBQVEsQ0FBQyxDQUFRO1FBQ3RCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQy9CLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxjQUF1QjtRQUM5QyxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsY0FBYyxDQUFDO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLElBQUk7UUFDVCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxZQUNVLElBQVksRUFDYixLQUFhLEVBQ1osZUFBd0IsRUFDeEIsT0FBZ0IsRUFDaEIsT0FBZ0IsRUFDakIsVUFBOEI7UUFMN0IsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNiLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDWixvQkFBZSxHQUFmLGVBQWUsQ0FBUztRQUN4QixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDakIsZUFBVSxHQUFWLFVBQVUsQ0FBb0I7UUF5SnZDOztVQUVFO1FBQ0YsTUFBQyxHQUFHLENBQUMsSUFBa0Is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TyxJQUFJLENBQUM7UUFDOUIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUM7ZUFDekUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRTdELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDMUUsYUFBYTtZQUNiLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUN4QixJQUFJO2dCQUNKLEdBQUcsSUFBSTtnQkFDUCxJQUFJLENBQUMsSUFBSTtnQkFDVCxJQUFJLENBQUMsS0FBSztnQkFDVixLQUFLLENBQUMsSUFBSTtnQkFDVixJQUFJLENBQUMsVUFBVTtnQkFDZixJQUFJLENBQUMsZ0JBQWdCO2FBQ3RCLENBQUMsQ0FBQTtTQUNIO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBMEVGO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxxREFBcUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMZXZlbCB9IGZyb20gJy4vbGV2ZWwnO1xuaW1wb3J0IHsgRGlzcGxheSB9IGZyb20gJy4vZGlzcGxheSc7XG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5cbmV4cG9ydCBjbGFzcyBMb2dnZXIge1xuXG4gIHByaXZhdGUgX2xldmVsOiBMZXZlbDtcbiAgcHVibGljIHNldExldmVsKGw6IExldmVsKSB7XG4gICAgdGhpcy5fbGV2ZWwgPSBsO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1Byb2R1Y3Rpb25Nb2RlKCkge1xuICAgIHJldHVybiAhdGhpcy5kZXZlbG9wbWVudE1vZGU7XG4gIH1cblxuICBwdWJsaWMgc2V0UHJvZHVjdGlvbk1vZGUocHJvZHVjdGlvbk1vZGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRldmVsb3BtZW50TW9kZSA9ICFwcm9kdWN0aW9uTW9kZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBtdXRlKCkge1xuICAgIHRoaXMuaXNNdXRlZCA9IHRydWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG5hbWU6IHN0cmluZyxcbiAgICBwdWJsaWMgY29sb3I6IHN0cmluZyxcbiAgICBwcml2YXRlIGRldmVsb3BtZW50TW9kZTogYm9vbGVhbixcbiAgICBwcml2YXRlIGFsbG93ZWQ6IExldmVsW10sXG4gICAgcHJpdmF0ZSBpc011dGVkOiBib29sZWFuLFxuICAgIHB1YmxpYyBmaXhlZFdpZHRoOiBudW1iZXIgfCB1bmRlZmluZWRcbiAgKSB7IH1cblxuICBvbmx5V2hlbihleHByZXNzaW9uOiAoKCkgPT4gYm9vbGVhbikgfCBib29sZWFuKSB7XG4gICAgaWYgKHR5cGVvZiBleHByZXNzaW9uID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aGlzLmlzTXV0ZWQgPSAhZXhwcmVzc2lvbigpXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgZXhwcmVzc2lvbiA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICB0aGlzLmlzTXV0ZWQgPSAhZXhwcmVzc2lvbjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9kYXRhKG5hbWU6IHN0cmluZywgLi4uZGF0YTogYW55W10pIHtcbiAgICBpZiAodGhpcy5pc011dGVkKSByZXR1cm4gdGhpcztcbiAgICBpZiAodGhpcy5hbGxvd2VkLmxlbmd0aCA+PSAxICYmIEhlbHBlcnMuY29udGFpbih0aGlzLmFsbG93ZWQsIExldmVsLl9fTk9USElORylcbiAgICAgICYmICFIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5EQVRBKSkgcmV0dXJuIHRoaXM7XG5cbiAgICBpZiAodGhpcy5hbGxvd2VkLmxlbmd0aCA9PT0gMCB8fCBIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5EQVRBKSkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgRGlzcGxheS5tc2cuYXBwbHkodm9pZCAwLCBbXG4gICAgICAgIG5hbWUsXG4gICAgICAgIC4uLmRhdGEsXG4gICAgICAgIHRoaXMubmFtZSxcbiAgICAgICAgdGhpcy5jb2xvcixcbiAgICAgICAgTGV2ZWwuREFUQSxcbiAgICAgICAgdGhpcy5maXhlZFdpZHRoLFxuICAgICAgICB0aGlzLmlzUHJvZHVjdGlvbk1vZGUsXG4gICAgICBdKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuXG4gIHByaXZhdGUgX2Vycm9yKG5hbWU6IHN0cmluZywgLi4uZGF0YTogYW55W10pIHtcbiAgICBpZiAodGhpcy5pc011dGVkKSByZXR1cm4gdGhpcztcbiAgICBpZiAodGhpcy5hbGxvd2VkLmxlbmd0aCA+PSAxICYmIEhlbHBlcnMuY29udGFpbih0aGlzLmFsbG93ZWQsIExldmVsLl9fTk9USElORylcbiAgICAgICYmICFIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5FUlJPUikpIHJldHVybiB0aGlzO1xuXG4gICAgaWYgKHRoaXMuYWxsb3dlZC5sZW5ndGggPT09IDAgfHwgSGVscGVycy5jb250YWluKHRoaXMuYWxsb3dlZCwgTGV2ZWwuRVJST1IpKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBEaXNwbGF5Lm1zZy5hcHBseSh2b2lkIDAsIFtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgdGhpcy5uYW1lLFxuICAgICAgICB0aGlzLmNvbG9yLFxuICAgICAgICBMZXZlbC5FUlJPUixcbiAgICAgICAgdGhpcy5maXhlZFdpZHRoLFxuICAgICAgICB0aGlzLmlzUHJvZHVjdGlvbk1vZGUsXG4gICAgICBdKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwcml2YXRlIF9pbmZvKG5hbWU6IHN0cmluZywgLi4uZGF0YTogYW55W10pIHtcbiAgICBpZiAodGhpcy5pc011dGVkKSByZXR1cm4gdGhpcztcbiAgICBpZiAodGhpcy5hbGxvd2VkLmxlbmd0aCA+PSAxICYmIEhlbHBlcnMuY29udGFpbih0aGlzLmFsbG93ZWQsIExldmVsLl9fTk9USElORylcbiAgICAgICYmICFIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5JTkZPKSkgcmV0dXJuIHRoaXM7XG5cbiAgICBpZiAodGhpcy5hbGxvd2VkLmxlbmd0aCA9PT0gMCB8fCBIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5JTkZPKSkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgRGlzcGxheS5tc2cuYXBwbHkodm9pZCAwLCBbXG4gICAgICAgIG5hbWUsXG4gICAgICAgIC4uLmRhdGEsXG4gICAgICAgIHRoaXMubmFtZSxcbiAgICAgICAgdGhpcy5jb2xvcixcbiAgICAgICAgTGV2ZWwuSU5GTyxcbiAgICAgICAgdGhpcy5maXhlZFdpZHRoLFxuICAgICAgICB0aGlzLmlzUHJvZHVjdGlvbk1vZGUsXG4gICAgICBdKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwcml2YXRlIF9zdWNjZXNzKG5hbWU6IHN0cmluZywgLi4uZGF0YTogYW55W10pIHtcbiAgICBpZiAodGhpcy5pc011dGVkKSByZXR1cm4gdGhpcztcbiAgICBpZiAodGhpcy5hbGxvd2VkLmxlbmd0aCA+PSAxICYmIEhlbHBlcnMuY29udGFpbih0aGlzLmFsbG93ZWQsIExldmVsLl9fTk9USElORylcbiAgICAgICYmICFIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5TVUNDRVNTKSkgcmV0dXJuIHRoaXM7XG5cbiAgICBpZiAodGhpcy5hbGxvd2VkLmxlbmd0aCA9PT0gMCB8fCBIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5TVUNDRVNTKSkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgRGlzcGxheS5tc2cuYXBwbHkodm9pZCAwLCBbXG4gICAgICAgIG5hbWUsXG4gICAgICAgIC4uLmRhdGEsXG4gICAgICAgIHRoaXMubmFtZSxcbiAgICAgICAgdGhpcy5jb2xvcixcbiAgICAgICAgTGV2ZWwuU1VDQ0VTUyxcbiAgICAgICAgdGhpcy5maXhlZFdpZHRoLFxuICAgICAgICB0aGlzLmlzUHJvZHVjdGlvbk1vZGUsXG4gICAgICBdKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwcml2YXRlIF90YXNrU3RhcnRlZChuYW1lOiBzdHJpbmcsIC4uLmRhdGE6IGFueVtdKSB7XG4gICAgaWYgKHRoaXMuaXNNdXRlZCkgcmV0dXJuIHRoaXM7XG4gICAgaWYgKHRoaXMuYWxsb3dlZC5sZW5ndGggPj0gMSAmJiBIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5fX05PVEhJTkcpXG4gICAgICAmJiAhSGVscGVycy5jb250YWluKHRoaXMuYWxsb3dlZCwgTGV2ZWwuVEFTS19TVEFSVEVEKSkgcmV0dXJuIHRoaXM7XG5cbiAgICBpZiAodGhpcy5hbGxvd2VkLmxlbmd0aCA9PT0gMCB8fCBIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5UQVNLX1NUQVJURUQpKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBEaXNwbGF5Lm1zZy5hcHBseSh2b2lkIDAsIFtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgdGhpcy5uYW1lLFxuICAgICAgICB0aGlzLmNvbG9yLFxuICAgICAgICBMZXZlbC5UQVNLX1NUQVJURUQsXG4gICAgICAgIHRoaXMuZml4ZWRXaWR0aCxcbiAgICAgICAgdGhpcy5pc1Byb2R1Y3Rpb25Nb2RlLFxuICAgICAgXSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHJpdmF0ZSBfdGFza0RvbmUobmFtZTogc3RyaW5nLCAuLi5kYXRhOiBhbnlbXSkge1xuICAgIGlmICh0aGlzLmlzTXV0ZWQpIHJldHVybiB0aGlzO1xuICAgIGlmICh0aGlzLmFsbG93ZWQubGVuZ3RoID49IDEgJiYgSGVscGVycy5jb250YWluKHRoaXMuYWxsb3dlZCwgTGV2ZWwuX19OT1RISU5HKVxuICAgICAgJiYgIUhlbHBlcnMuY29udGFpbih0aGlzLmFsbG93ZWQsIExldmVsLlRBU0tfRE9ORSkpIHJldHVybiB0aGlzO1xuXG4gICAgaWYgKHRoaXMuYWxsb3dlZC5sZW5ndGggPT09IDAgfHwgSGVscGVycy5jb250YWluKHRoaXMuYWxsb3dlZCwgTGV2ZWwuVEFTS19ET05FKSkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgRGlzcGxheS5tc2cuYXBwbHkodm9pZCAwLCBbXG4gICAgICAgIG5hbWUsXG4gICAgICAgIC4uLmRhdGEsXG4gICAgICAgIHRoaXMubmFtZSxcbiAgICAgICAgdGhpcy5jb2xvcixcbiAgICAgICAgTGV2ZWwuVEFTS19ET05FLFxuICAgICAgICB0aGlzLmZpeGVkV2lkdGgsXG4gICAgICAgIHRoaXMuaXNQcm9kdWN0aW9uTW9kZSxcbiAgICAgIF0pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHByaXZhdGUgX3dhcm4obmFtZTogc3RyaW5nLCAuLi5kYXRhOiBhbnlbXSkge1xuICAgIGlmICh0aGlzLmlzTXV0ZWQpIHJldHVybiB0aGlzO1xuICAgIGlmICh0aGlzLmFsbG93ZWQubGVuZ3RoID49IDEgJiYgSGVscGVycy5jb250YWluKHRoaXMuYWxsb3dlZCwgTGV2ZWwuX19OT1RISU5HKVxuICAgICAgJiYgIUhlbHBlcnMuY29udGFpbih0aGlzLmFsbG93ZWQsIExldmVsLldBUk4pKSByZXR1cm4gdGhpcztcblxuICAgIGlmICh0aGlzLmFsbG93ZWQubGVuZ3RoID09PSAwIHx8IEhlbHBlcnMuY29udGFpbih0aGlzLmFsbG93ZWQsIExldmVsLldBUk4pKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBEaXNwbGF5Lm1zZy5hcHBseSh2b2lkIDAsIFtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgdGhpcy5uYW1lLFxuICAgICAgICB0aGlzLmNvbG9yLFxuICAgICAgICBMZXZlbC5XQVJOLFxuICAgICAgICB0aGlzLmZpeGVkV2lkdGgsXG4gICAgICAgIHRoaXMuaXNQcm9kdWN0aW9uTW9kZSxcbiAgICAgIF0pXG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cblxuICAvKipcbiAgICogQHNlZSBkYXRhXG4gICovXG4gIGQgPSAobmFtZTogc3RyaW5nIHwgYW55LCAuLi5kYXRhOiBhbnlbXSkgPT4gdGhpcy5fZGF0YShuYW1lLCBkYXRhKTtcblxuICAvKipcbiAgICogQHNlZSBlcnJvclxuICAqL1xuXG4gIGVyID0gKG5hbWU6IHN0cmluZyB8IGFueSwgLi4uZGF0YTogYW55W10pID0+IHRoaXMuX2Vycm9yKG5hbWUsIGRhdGEpO1xuXG4gIC8qKlxuICAgKiBAc2VlIGluZm9cbiAgKi9cbiAgaSA9IChuYW1lOiBzdHJpbmcgfCBhbnksIC4uLmRhdGE6IGFueVtdKSA9PiB0aGlzLl9pbmZvKG5hbWUsIGRhdGEpO1xuXG4gIC8qKlxuICAgKiBAc2VlIHdhcm5cbiAgKi9cbiAgdyA9IChuYW1lOiBzdHJpbmcgfCBhbnksIC4uLmRhdGE6IGFueVtdKSA9PiB0aGlzLl93YXJuKG5hbWUsIGRhdGEpO1xuXG4gIC8qKlxuICAgKiBMb2dzIG1lc3NhZ2UgYW5kIGRhdGEgd2l0aCB0aGUgbGV2ZWw9ZGF0YVxuICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgbWVzc2FnZVxuICAgKiBAcGFyYW0gb3RoZXJQYXJhbXMgQWRkaXRpb25hbCBwYXJhbWV0ZXJzXG4gICAqL1xuICBkYXRhID0gKG1lc3NhZ2U6IHN0cmluZywgLi4ub3RoZXJQYXJhbXM6IGFueVtdKSA9PiB7IHJldHVybiB0aGlzLl9kYXRhKG1lc3NhZ2UsIG90aGVyUGFyYW1zKTsgfTtcblxuICAvKipcbiAgICogTG9ncyBtZXNzYWdlIGFuZCBkYXRhIHdpdGggdGhlIGxldmVsPWVycm9yXG4gICAqIEBwYXJhbSBtZXNzYWdlIFRoZSBtZXNzYWdlXG4gICAqIEBwYXJhbSBvdGhlclBhcmFtcyBBZGRpdGlvbmFsIHBhcmFtZXRlcnNcbiAgICovXG4gIGVycm9yID0gKG1lc3NhZ2U6IHN0cmluZywgLi4ub3RoZXJQYXJhbXM6IGFueVtdKSA9PiB0aGlzLl9lcnJvcihtZXNzYWdlLCBvdGhlclBhcmFtcyk7XG5cbiAgLyoqXG4gICAqIExvZ3MgbWVzc2FnZSBhbmQgZGF0YSB3aXRoIHRoZSBsZXZlbD1pbmZvXG4gICAqIEBwYXJhbSBtZXNzYWdlIFRoZSBtZXNzYWdlXG4gICAqIEBwYXJhbSBvdGhlclBhcmFtcyBBZGRpdGlvbmFsIHBhcmFtZXRlcnNcbiAgICovXG4gIGluZm8gPSAobWVzc2FnZTogc3RyaW5nLCAuLi5vdGhlclBhcmFtczogYW55W10pID0+IHRoaXMuX2luZm8obWVzc2FnZSwgb3RoZXJQYXJhbXMpO1xuXG4gIC8qKlxuICAgKiBMb2dzIG1lc3NhZ2UgYW5kIGRhdGEgd2l0aCB0aGUgbGV2ZWw9c3VjY2Vzc1xuICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgbWVzc2FnZVxuICAgKiBAcGFyYW0gb3RoZXJQYXJhbXMgQWRkaXRpb25hbCBwYXJhbWV0ZXJzXG4gICAqL1xuICBzdWNjZXNzID0gKG1lc3NhZ2U6IHN0cmluZywgLi4ub3RoZXJQYXJhbXM6IGFueVtdKSA9PiB0aGlzLl9zdWNjZXNzKG1lc3NhZ2UsIG90aGVyUGFyYW1zKTtcblxuXG4gIC8qKlxuICAqIExvZ3MgbWVzc2FnZSBhbmQgZGF0YSB3aXRoIHRoZSBsZXZlbD10YXNrU3RhcnRlZFxuICAqIEBwYXJhbSBtZXNzYWdlIFRoZSBtZXNzYWdlXG4gICogQHBhcmFtIG90aGVyUGFyYW1zIEFkZGl0aW9uYWwgcGFyYW1ldGVyc1xuICAqL1xuICB0YXNrU3RhcnRlZCA9IChtZXNzYWdlOiBzdHJpbmcsIC4uLm90aGVyUGFyYW1zOiBhbnlbXSkgPT4gdGhpcy5fdGFza1N0YXJ0ZWQobWVzc2FnZSwgb3RoZXJQYXJhbXMpO1xuXG4gIC8qKlxuICAqIExvZ3MgbWVzc2FnZSBhbmQgZGF0YSB3aXRoIHRoZSBsZXZlbD10YXNrRG9uZVxuICAqIEBwYXJhbSBtZXNzYWdlIFRoZSBtZXNzYWdlXG4gICogQHBhcmFtIG90aGVyUGFyYW1zIEFkZGl0aW9uYWwgcGFyYW1ldGVyc1xuICAqL1xuICB0YXNrRG9uZSA9IChtZXNzYWdlPzogc3RyaW5nLCAuLi5vdGhlclBhcmFtczogYW55W10pID0+IHRoaXMuX3Rhc2tEb25lKG1lc3NhZ2UsIG90aGVyUGFyYW1zKTtcblxuICAvKipcbiAgICogTG9ncyBtZXNzYWdlIGFuZCBkYXRhIHdpdGggdGhlIGxldmVsPXdhcm5cbiAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIG1lc3NhZ2VcbiAgICogQHBhcmFtIG90aGVyUGFyYW1zIEFkZGl0aW9uYWwgcGFyYW1ldGVyc1xuICAgKi9cbiAgd2FybiA9IChtZXNzYWdlOiBzdHJpbmcsIC4uLm90aGVyUGFyYW1zOiBhbnlbXSkgPT4gdGhpcy5fd2FybihtZXNzYWdlLCBvdGhlclBhcmFtcyk7XG5cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPW5nMi1sb2dnZXIgbGliL2xvZ2dlci50cyJdfQ==
@@ -36,6 +36,7 @@ const LevelOrder = [
36
36
  /* */
37
37
  /* */
38
38
  /* */
39
+ /* */
39
40
  class Display {
40
41
  static msg(message, params, moduleName, moduleColor, level, moduleWidth, isProductionMode) {
41
42
  if (isProductionMode) {
@@ -128,6 +129,21 @@ class Display {
128
129
  ({}); // @--end-of-file-for-module=ng2-logger lib/display.ts
129
130
 
130
131
  class Logger {
132
+ setLevel(l) {
133
+ this._level = l;
134
+ return this;
135
+ }
136
+ get isProductionMode() {
137
+ return !this.developmentMode;
138
+ }
139
+ setProductionMode(productionMode) {
140
+ this.developmentMode = !productionMode;
141
+ return this;
142
+ }
143
+ mute() {
144
+ this.isMuted = true;
145
+ return this;
146
+ }
131
147
  constructor(name, color, developmentMode, allowed, isMuted, fixedWidth) {
132
148
  this.name = name;
133
149
  this.color = color;
@@ -194,21 +210,6 @@ class Logger {
194
210
  */
195
211
  this.warn = (message, ...otherParams) => this._warn(message, otherParams);
196
212
  }
197
- setLevel(l) {
198
- this._level = l;
199
- return this;
200
- }
201
- get isProductionMode() {
202
- return !this.developmentMode;
203
- }
204
- setProductionMode(productionMode) {
205
- this.developmentMode = !productionMode;
206
- return this;
207
- }
208
- mute() {
209
- this.isMuted = true;
210
- return this;
211
- }
212
213
  onlyWhen(expression) {
213
214
  if (typeof expression === 'function') {
214
215
  this.isMuted = !expression();
@@ -387,9 +388,11 @@ class Log {
387
388
  // @ts-ignore
388
389
  return Log['_instance'];
389
390
  }
391
+ static { this.Logger = Logger; }
390
392
  static create(name, ...level) {
391
393
  return Log.instance.create(name, ...level);
392
394
  }
395
+ static { this.consolelogfn = {}; }
393
396
  static disableLogs(level = Level.__NOTHING) {
394
397
  /* */
395
398
  /* */
@@ -496,8 +499,6 @@ class Log {
496
499
  }
497
500
  }
498
501
  }
499
- Log.Logger = Logger;
500
- Log.consolelogfn = {};
501
502
  function getRandomColor() {
502
503
  /* */
503
504
  /* */