ng2-logger 13.0.26 → 13.1.2

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 (59) hide show
  1. package/app/index.js +5 -5
  2. package/app/index.js.map +1 -1
  3. package/app/ng2-logger.component.js +5 -5
  4. package/app/ng2-logger.component.js.map +1 -1
  5. package/app/ng2-logger.module.js +2 -2
  6. package/app/ng2-logger.module.js.map +1 -1
  7. package/browser/esm2020/lib/backend-logging.mjs +5 -1
  8. package/browser/esm2020/lib/display.mjs +17 -13
  9. package/browser/esm2020/lib/level.mjs +11 -2
  10. package/browser/esm2020/lib/log.mjs +1 -2
  11. package/browser/esm2020/lib/logger.mjs +79 -1
  12. package/browser/fesm2015/ng2-logger.mjs +104 -14
  13. package/browser/fesm2015/ng2-logger.mjs.map +1 -1
  14. package/browser/fesm2020/ng2-logger.mjs +104 -14
  15. package/browser/fesm2020/ng2-logger.mjs.map +1 -1
  16. package/browser/lib/level.d.ts +7 -1
  17. package/browser/lib/logger.d.ts +21 -0
  18. package/client/esm2020/lib/backend-logging.mjs +5 -1
  19. package/client/esm2020/lib/display.mjs +17 -13
  20. package/client/esm2020/lib/level.mjs +11 -2
  21. package/client/esm2020/lib/log.mjs +1 -2
  22. package/client/esm2020/lib/logger.mjs +79 -1
  23. package/client/fesm2015/ng2-logger.mjs +104 -14
  24. package/client/fesm2015/ng2-logger.mjs.map +1 -1
  25. package/client/fesm2020/ng2-logger.mjs +104 -14
  26. package/client/fesm2020/ng2-logger.mjs.map +1 -1
  27. package/client/lib/level.d.ts +7 -1
  28. package/client/lib/logger.d.ts +21 -0
  29. package/index.js +2 -2
  30. package/index.js.map +1 -1
  31. package/lib/backend-logging.js +13 -6
  32. package/lib/backend-logging.js.map +1 -1
  33. package/lib/display.js +54 -54
  34. package/lib/display.js.map +1 -1
  35. package/lib/helpers.js +1 -1
  36. package/lib/helpers.js.map +1 -1
  37. package/lib/index.js +6 -6
  38. package/lib/index.js.map +1 -1
  39. package/lib/level.d.ts +7 -1
  40. package/lib/level.js +11 -2
  41. package/lib/level.js.map +1 -1
  42. package/lib/log.js +2 -4
  43. package/lib/log.js.map +1 -1
  44. package/lib/logger.d.ts +21 -0
  45. package/lib/logger.js +117 -9
  46. package/lib/logger.js.map +1 -1
  47. package/package.json +3 -3
  48. package/tmp-environment.json +16 -15
  49. package/websql/esm2020/lib/backend-logging.mjs +5 -1
  50. package/websql/esm2020/lib/display.mjs +17 -13
  51. package/websql/esm2020/lib/level.mjs +11 -2
  52. package/websql/esm2020/lib/log.mjs +1 -2
  53. package/websql/esm2020/lib/logger.mjs +79 -1
  54. package/websql/fesm2015/ng2-logger.mjs +104 -14
  55. package/websql/fesm2015/ng2-logger.mjs.map +1 -1
  56. package/websql/fesm2020/ng2-logger.mjs +104 -14
  57. package/websql/fesm2020/ng2-logger.mjs.map +1 -1
  58. package/websql/lib/level.d.ts +7 -1
  59. package/websql/lib/logger.d.ts +21 -0
@@ -7,18 +7,27 @@ var Level;
7
7
  Level[Level["INFO"] = 1] = "INFO";
8
8
  Level[Level["WARN"] = 2] = "WARN";
9
9
  Level[Level["ERROR"] = 3] = "ERROR";
10
- Level[Level["__NOTHING"] = 4] = "__NOTHING";
10
+ Level[Level["SUCCESS"] = 4] = "SUCCESS";
11
+ Level[Level["TASK_STARTED"] = 5] = "TASK_STARTED";
12
+ Level[Level["TASK_DONE"] = 6] = "TASK_DONE";
13
+ Level[Level["__NOTHING"] = 7] = "__NOTHING";
11
14
  })(Level || (Level = {}));
12
15
  const LevelKey = {
13
16
  [Level.DATA]: 'log',
14
17
  [Level.INFO]: 'info',
15
18
  [Level.WARN]: 'warn',
16
19
  [Level.ERROR]: 'error',
20
+ [Level.SUCCESS]: 'success',
21
+ [Level.TASK_STARTED]: 'taskstarted',
22
+ [Level.TASK_DONE]: 'taskdone',
17
23
  [Level.__NOTHING]: '',
18
24
  };
19
25
  const LevelOrder = [
20
26
  LevelKey[Level.DATA],
27
+ LevelKey[Level.TASK_STARTED],
28
+ LevelKey[Level.TASK_DONE],
21
29
  LevelKey[Level.INFO],
30
+ LevelKey[Level.SUCCESS],
22
31
  LevelKey[Level.WARN],
23
32
  LevelKey[Level.ERROR],
24
33
  ];
@@ -50,6 +59,7 @@ class Display {
50
59
  }
51
60
  }
52
61
  }
62
+ //#region @browser
53
63
  if (Helpers.isBrowser
54
64
  /* */
55
65
  /* */
@@ -98,18 +108,21 @@ class Display {
98
108
  console.log.apply(console, params);
99
109
  }
100
110
  }
101
- if (Helpers.isNode) {
102
- /* */
103
- /* */
104
- /* */
105
- /* */
106
- /* */
107
- /* */
108
- /* */
109
- /* */
110
- /* */
111
- /* */
112
- }
111
+ //#endregion
112
+ /* */
113
+ /* */
114
+ /* */
115
+ /* */
116
+ /* */
117
+ /* */
118
+ /* */
119
+ /* */
120
+ /* */
121
+ /* */
122
+ /* */
123
+ /* */
124
+ /* */
125
+ /* */
113
126
  }
114
127
  }
115
128
 
@@ -155,6 +168,24 @@ class Logger {
155
168
  * @param otherParams Additional parameters
156
169
  */
157
170
  this.info = (message, ...otherParams) => this._info(message, otherParams);
171
+ /**
172
+ * Logs message and data with the level=success
173
+ * @param message The message
174
+ * @param otherParams Additional parameters
175
+ */
176
+ this.success = (message, ...otherParams) => this._success(message, otherParams);
177
+ /**
178
+ * Logs message and data with the level=taskStarted
179
+ * @param message The message
180
+ * @param otherParams Additional parameters
181
+ */
182
+ this.taskStarted = (message, ...otherParams) => this._taskStarted(message, otherParams);
183
+ /**
184
+ * Logs message and data with the level=taskDone
185
+ * @param message The message
186
+ * @param otherParams Additional parameters
187
+ */
188
+ this.taskDone = (message, ...otherParams) => this._taskDone(message, otherParams);
158
189
  /**
159
190
  * Logs message and data with the level=warn
160
191
  * @param message The message
@@ -245,6 +276,66 @@ class Logger {
245
276
  }
246
277
  return this;
247
278
  }
279
+ _success(name, ...data) {
280
+ if (this.isMuted)
281
+ return this;
282
+ if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)
283
+ && !Helpers.contain(this.allowed, Level.SUCCESS))
284
+ return this;
285
+ if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.SUCCESS)) {
286
+ // @ts-ignore
287
+ Display.msg.apply(void 0, [
288
+ name,
289
+ ...data,
290
+ this.name,
291
+ this.color,
292
+ Level.SUCCESS,
293
+ this.fixedWidth,
294
+ this.isProductionMode,
295
+ ]);
296
+ }
297
+ return this;
298
+ }
299
+ _taskStarted(name, ...data) {
300
+ if (this.isMuted)
301
+ return this;
302
+ if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)
303
+ && !Helpers.contain(this.allowed, Level.TASK_STARTED))
304
+ return this;
305
+ if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.TASK_STARTED)) {
306
+ // @ts-ignore
307
+ Display.msg.apply(void 0, [
308
+ name,
309
+ ...data,
310
+ this.name,
311
+ this.color,
312
+ Level.TASK_STARTED,
313
+ this.fixedWidth,
314
+ this.isProductionMode,
315
+ ]);
316
+ }
317
+ return this;
318
+ }
319
+ _taskDone(name, ...data) {
320
+ if (this.isMuted)
321
+ return this;
322
+ if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)
323
+ && !Helpers.contain(this.allowed, Level.TASK_DONE))
324
+ return this;
325
+ if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.TASK_DONE)) {
326
+ // @ts-ignore
327
+ Display.msg.apply(void 0, [
328
+ name,
329
+ ...data,
330
+ this.name,
331
+ this.color,
332
+ Level.TASK_DONE,
333
+ this.fixedWidth,
334
+ this.isProductionMode,
335
+ ]);
336
+ }
337
+ return this;
338
+ }
248
339
  _warn(name, ...data) {
249
340
  if (this.isMuted)
250
341
  return this;
@@ -272,7 +363,6 @@ class Logger {
272
363
  /* */
273
364
  /* */
274
365
  /* */
275
- /* */
276
366
  class Log {
277
367
  //#region singleton
278
368
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"ng2-logger.mjs","sources":["../../../tmp-libs-for-bundle-websql/ng2-logger/projects/ng2-logger/src/lib/level.ts","../../../tmp-libs-for-bundle-websql/ng2-logger/projects/ng2-logger/src/lib/display.ts","../../../tmp-libs-for-bundle-websql/ng2-logger/projects/ng2-logger/src/lib/logger.ts","../../../tmp-libs-for-bundle-websql/ng2-logger/projects/ng2-logger/src/lib/log.ts","../../../tmp-libs-for-bundle-websql/ng2-logger/projects/ng2-logger/src/ng2-logger.ts"],"sourcesContent":["export enum Level {\n DATA,\n INFO,\n WARN,\n ERROR ,\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.__NOTHING] : '',\n}\n\nexport const LevelOrder = [\n LevelKey[Level.DATA],\n LevelKey[Level.INFO],\n LevelKey[Level.WARN],\n LevelKey[Level.ERROR],\n];\n","/* */\n/* */\n \nimport { Level } from './level';\nimport { Helpers } from 'tnp-core/websql';\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 if (Helpers.isBrowser\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 } if (Helpers.isNode) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n }\n\n}\n","import { Level } from './level';\nimport { Display } from './display';\nimport { Helpers } from 'tnp-core/websql';\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 _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 /** @deprecated Use data(...)\n * @see data\n */\n d = (name: string, ...data: any[]) => this._data(name, data);\n\n /** @deprecated Use error(...)\n * @see error\n */\n\n er = (name: string, ...data: any[]) => this._error(name, data);\n\n /** @deprecated Use info(...)\n * @see info\n */\n i = (name: string, ...data: any[]) => this._info(name, data);\n\n /** @deprecated Use warn(...)\n * @see warn\n */\n w = (name: string, ...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=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","import { Logger } from './logger';\nimport { Level, LevelOrder, LevelKey } from './level';\nimport { Helpers } from 'tnp-core/websql';\n/* */\n/* */\n \n\n\n/* */\n/* */\n/* */\n/* */\n \n\n\nexport class Log {\n //#region singleton\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 //#endregion\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 //#region public api\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 // console.log('only log this', Log.modules)\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 //#endregion\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 // Log.levels.length > 0 ? Log.display : undefined,\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 * 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-bundle-websql/ng2-logger/projects/ng2-logger/src/lib/level.ts","../../../tmp-libs-for-bundle-websql/ng2-logger/projects/ng2-logger/src/lib/display.ts","../../../tmp-libs-for-bundle-websql/ng2-logger/projects/ng2-logger/src/lib/logger.ts","../../../tmp-libs-for-bundle-websql/ng2-logger/projects/ng2-logger/src/lib/log.ts","../../../tmp-libs-for-bundle-websql/ng2-logger/projects/ng2-logger/src/ng2-logger.ts"],"sourcesContent":["export 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/* */\n \nimport { Level } from './level';\nimport { Helpers } from 'tnp-core/websql';\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 //#region @browser\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 //#endregion\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n }\n\n}\n","import { Level } from './level';\nimport { Display } from './display';\nimport { Helpers } from 'tnp-core/websql';\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 /** @deprecated Use data(...)\n * @see data\n */\n d = (name: string, ...data: any[]) => this._data(name, data);\n\n /** @deprecated Use error(...)\n * @see error\n */\n\n er = (name: string, ...data: any[]) => this._error(name, data);\n\n /** @deprecated Use info(...)\n * @see info\n */\n i = (name: string, ...data: any[]) => this._info(name, data);\n\n /** @deprecated Use warn(...)\n * @see warn\n */\n w = (name: string, ...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","import { Logger } from './logger';\nimport { Level, LevelOrder, LevelKey } from './level';\nimport { Helpers } from 'tnp-core/websql';\n/* */\n/* */\n/* */\n \n\n\n/* */\n/* */\n \n\n\nexport class Log {\n //#region singleton\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 //#endregion\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 //#region public api\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 // console.log('only log this', Log.modules)\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 //#endregion\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 // Log.levels.length > 0 ? Log.display : undefined,\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 * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -3,7 +3,10 @@ export declare enum Level {
3
3
  INFO = 1,
4
4
  WARN = 2,
5
5
  ERROR = 3,
6
- __NOTHING = 4
6
+ SUCCESS = 4,
7
+ TASK_STARTED = 5,
8
+ TASK_DONE = 6,
9
+ __NOTHING = 7
7
10
  }
8
11
  export declare const LevelKey: {
9
12
  0: string;
@@ -11,5 +14,8 @@ export declare const LevelKey: {
11
14
  2: string;
12
15
  3: string;
13
16
  4: string;
17
+ 5: string;
18
+ 6: string;
19
+ 7: string;
14
20
  };
15
21
  export declare const LevelOrder: string[];
@@ -16,6 +16,9 @@ export declare class Logger {
16
16
  private _data;
17
17
  private _error;
18
18
  private _info;
19
+ private _success;
20
+ private _taskStarted;
21
+ private _taskDone;
19
22
  private _warn;
20
23
  /** @deprecated Use data(...)
21
24
  * @see data
@@ -51,6 +54,24 @@ export declare class Logger {
51
54
  * @param otherParams Additional parameters
52
55
  */
53
56
  info: (message: string, ...otherParams: any[]) => this;
57
+ /**
58
+ * Logs message and data with the level=success
59
+ * @param message The message
60
+ * @param otherParams Additional parameters
61
+ */
62
+ success: (message: string, ...otherParams: any[]) => this;
63
+ /**
64
+ * Logs message and data with the level=taskStarted
65
+ * @param message The message
66
+ * @param otherParams Additional parameters
67
+ */
68
+ taskStarted: (message: string, ...otherParams: any[]) => this;
69
+ /**
70
+ * Logs message and data with the level=taskDone
71
+ * @param message The message
72
+ * @param otherParams Additional parameters
73
+ */
74
+ taskDone: (message?: string, ...otherParams: any[]) => this;
54
75
  /**
55
76
  * Logs message and data with the level=warn
56
77
  * @param message The message