nlogs 1.1.3 → 2.3.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 (154) hide show
  1. package/README.md +0 -200
  2. package/dist/abstract.base.logger.d.ts +46 -0
  3. package/dist/abstract.base.logger.js +119 -0
  4. package/dist/abstract.base.logger.js.map +1 -0
  5. package/dist/base.logger.d.ts +60 -0
  6. package/dist/base.logger.js +101 -0
  7. package/dist/base.logger.js.map +1 -0
  8. package/dist/constants.d.ts +19 -0
  9. package/dist/constants.js +23 -0
  10. package/dist/constants.js.map +1 -0
  11. package/dist/errors/cat.nlogs.error.d.ts +4 -0
  12. package/dist/errors/cat.nlogs.error.js +12 -0
  13. package/dist/errors/cat.nlogs.error.js.map +1 -0
  14. package/dist/errors/fs.nlogs.error.d.ts +4 -0
  15. package/dist/errors/fs.nlogs.error.js +12 -0
  16. package/dist/errors/fs.nlogs.error.js.map +1 -0
  17. package/dist/errors/item.nlogs.error.d.ts +4 -0
  18. package/dist/errors/item.nlogs.error.js +8 -0
  19. package/dist/errors/item.nlogs.error.js.map +1 -0
  20. package/dist/errors/item.notfound.error.d.ts +4 -0
  21. package/dist/errors/item.notfound.error.js +12 -0
  22. package/dist/errors/item.notfound.error.js.map +1 -0
  23. package/dist/errors/msg.nlogs.error.d.ts +4 -0
  24. package/dist/errors/msg.nlogs.error.js +12 -0
  25. package/dist/errors/msg.nlogs.error.js.map +1 -0
  26. package/dist/errors/nlogs.error.d.ts +14 -0
  27. package/dist/errors/nlogs.error.js +30 -0
  28. package/dist/errors/nlogs.error.js.map +1 -0
  29. package/dist/errors/param.error.d.ts +6 -0
  30. package/dist/errors/param.error.js +14 -0
  31. package/dist/errors/param.error.js.map +1 -0
  32. package/dist/helpers/color.d.ts +55 -0
  33. package/dist/helpers/color.js +65 -0
  34. package/dist/helpers/color.js.map +1 -0
  35. package/dist/helpers/debug.d.ts +2 -0
  36. package/dist/helpers/debug.js +11 -0
  37. package/dist/helpers/debug.js.map +1 -0
  38. package/dist/helpers/fs.d.ts +6 -0
  39. package/dist/helpers/fs.js +43 -0
  40. package/dist/helpers/fs.js.map +1 -0
  41. package/dist/helpers/stack.d.ts +5 -0
  42. package/dist/helpers/stack.js +52 -0
  43. package/dist/helpers/stack.js.map +1 -0
  44. package/dist/helpers/string.d.ts +9 -0
  45. package/dist/helpers/string.js +53 -0
  46. package/dist/helpers/string.js.map +1 -0
  47. package/dist/helpers/symbols.d.ts +25 -0
  48. package/dist/helpers/symbols.js +32 -0
  49. package/dist/helpers/symbols.js.map +1 -0
  50. package/dist/helpers/template.d.ts +4 -0
  51. package/dist/helpers/template.js +58 -0
  52. package/dist/helpers/template.js.map +1 -0
  53. package/dist/helpers/testHelpers.d.ts +31 -0
  54. package/dist/helpers/testHelpers.js +239 -0
  55. package/dist/helpers/testHelpers.js.map +1 -0
  56. package/dist/helpers/time.d.ts +1 -0
  57. package/dist/helpers/time.js +6 -0
  58. package/dist/helpers/time.js.map +1 -0
  59. package/dist/helpers/types.d.ts +13 -0
  60. package/dist/helpers/types.js +3 -0
  61. package/dist/helpers/types.js.map +1 -0
  62. package/dist/index.d.ts +4 -0
  63. package/dist/index.js +9 -0
  64. package/dist/index.js.map +1 -0
  65. package/dist/logger.d.ts +25 -0
  66. package/dist/logger.js +42 -0
  67. package/dist/logger.js.map +1 -0
  68. package/dist/logging.rules.d.ts +28 -0
  69. package/dist/logging.rules.js +64 -0
  70. package/dist/logging.rules.js.map +1 -0
  71. package/dist/message/details.d.ts +43 -0
  72. package/dist/message/details.js +100 -0
  73. package/dist/message/details.js.map +1 -0
  74. package/dist/message/error.details.d.ts +13 -0
  75. package/dist/message/error.details.js +26 -0
  76. package/dist/message/error.details.js.map +1 -0
  77. package/dist/message/log.info.d.ts +20 -0
  78. package/dist/message/log.info.js +30 -0
  79. package/dist/message/log.info.js.map +1 -0
  80. package/dist/message/meta.d.ts +12 -0
  81. package/dist/message/meta.js +22 -0
  82. package/dist/message/meta.js.map +1 -0
  83. package/dist/message/mod.details.d.ts +5 -0
  84. package/dist/message/mod.details.js +11 -0
  85. package/dist/message/mod.details.js.map +1 -0
  86. package/dist/message/time.details.d.ts +6 -0
  87. package/dist/message/time.details.js +16 -0
  88. package/dist/message/time.details.js.map +1 -0
  89. package/dist/message/time.range.d.ts +9 -0
  90. package/dist/message/time.range.js +23 -0
  91. package/dist/message/time.range.js.map +1 -0
  92. package/dist/options.d.ts +26 -0
  93. package/dist/options.js +80 -0
  94. package/dist/options.js.map +1 -0
  95. package/dist/template.logger.d.ts +12 -0
  96. package/dist/template.logger.js +21 -0
  97. package/dist/template.logger.js.map +1 -0
  98. package/dist/tsconfig.tsbuildinfo +1 -0
  99. package/dist/utils/allowed.list.d.ts +18 -0
  100. package/dist/utils/allowed.list.js +91 -0
  101. package/dist/utils/allowed.list.js.map +1 -0
  102. package/dist/utils/category.d.ts +23 -0
  103. package/dist/utils/category.js +41 -0
  104. package/dist/utils/category.js.map +1 -0
  105. package/dist/utils/console.out.d.ts +10 -0
  106. package/dist/utils/console.out.js +19 -0
  107. package/dist/utils/console.out.js.map +1 -0
  108. package/dist/utils/dark.string.formatter.d.ts +24 -0
  109. package/dist/utils/dark.string.formatter.js +47 -0
  110. package/dist/utils/dark.string.formatter.js.map +1 -0
  111. package/dist/utils/items.counter.d.ts +8 -0
  112. package/dist/utils/items.counter.js +26 -0
  113. package/dist/utils/items.counter.js.map +1 -0
  114. package/dist/utils/items.manager.d.ts +55 -0
  115. package/dist/utils/items.manager.js +147 -0
  116. package/dist/utils/items.manager.js.map +1 -0
  117. package/dist/utils/items.timer.d.ts +9 -0
  118. package/dist/utils/items.timer.js +38 -0
  119. package/dist/utils/items.timer.js.map +1 -0
  120. package/dist/utils/json.formatter.d.ts +14 -0
  121. package/dist/utils/json.formatter.js +43 -0
  122. package/dist/utils/json.formatter.js.map +1 -0
  123. package/dist/utils/light.string.formatter.d.ts +6 -0
  124. package/dist/utils/light.string.formatter.js +16 -0
  125. package/dist/utils/light.string.formatter.js.map +1 -0
  126. package/dist/utils/log.reader.d.ts +16 -0
  127. package/dist/utils/log.reader.js +149 -0
  128. package/dist/utils/log.reader.js.map +1 -0
  129. package/dist/utils/mod.d.ts +7 -0
  130. package/dist/utils/mod.js +16 -0
  131. package/dist/utils/mod.js.map +1 -0
  132. package/dist/utils/mod.resolver.d.ts +12 -0
  133. package/dist/utils/mod.resolver.js +101 -0
  134. package/dist/utils/mod.resolver.js.map +1 -0
  135. package/dist/utils/static.logger.d.ts +31 -0
  136. package/dist/utils/static.logger.js +84 -0
  137. package/dist/utils/static.logger.js.map +1 -0
  138. package/dist/utils/string.formatter.d.ts +30 -0
  139. package/dist/utils/string.formatter.js +110 -0
  140. package/dist/utils/string.formatter.js.map +1 -0
  141. package/dist/utils/trace.store.d.ts +33 -0
  142. package/dist/utils/trace.store.js +76 -0
  143. package/dist/utils/trace.store.js.map +1 -0
  144. package/package.json +33 -12
  145. package/.eslintrc.js +0 -3
  146. package/index.d.ts +0 -217
  147. package/index.js +0 -12
  148. package/lib/config.js +0 -85
  149. package/lib/constants.js +0 -7
  150. package/lib/defaultConfig.js +0 -57
  151. package/lib/logger.js +0 -134
  152. package/lib/loggerCore.js +0 -105
  153. package/lib/stringFormatter.js +0 -4
  154. package/lib/timeFormatter.js +0 -3
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AllowedList = exports.NEGATION = exports.DELIMITER = exports.SPECIAL_DELIMITER = exports.ALL = exports.MODULE = exports.APP = void 0;
4
+ exports.APP = '@';
5
+ exports.MODULE = '$';
6
+ exports.ALL = '*';
7
+ exports.SPECIAL_DELIMITER = ':';
8
+ exports.DELIMITER = ',';
9
+ exports.NEGATION = '!';
10
+ class AllowedList {
11
+ constructor(raw, delimiter = exports.DELIMITER) {
12
+ this.delimiter = delimiter;
13
+ this.allowedList = new Map();
14
+ this.deniedList = new Map();
15
+ this.update(raw || '');
16
+ }
17
+ allow(category, module) {
18
+ if (!this.allowedList.size && !this.deniedList.size)
19
+ return true;
20
+ if (module)
21
+ return this.allowModule(category, module);
22
+ return this.allowApp(category);
23
+ }
24
+ update(raw) {
25
+ raw
26
+ .split(this.delimiter)
27
+ .map(str => str.trim())
28
+ .filter(Boolean)
29
+ .forEach(str => this.parseStringItem(str));
30
+ }
31
+ allowApp(category) {
32
+ if (!this.allowedList.has(exports.APP))
33
+ return false;
34
+ return !!this.checkCategory(category, exports.APP);
35
+ }
36
+ allowModule(category, moduleName) {
37
+ if (!this.allowedList.has(moduleName) && !this.allowedList.has(exports.MODULE))
38
+ return false;
39
+ const allowedByModule = this.checkCategory(category, moduleName);
40
+ if (allowedByModule != null)
41
+ return allowedByModule;
42
+ return !!this.checkCategory(category, exports.MODULE);
43
+ }
44
+ checkCategory(category, moduleName) {
45
+ const appAllowed = this.allowedList.get(moduleName);
46
+ if (appAllowed?.has(category))
47
+ return true;
48
+ const appDenied = this.deniedList.get(moduleName);
49
+ if (appDenied?.has(category))
50
+ return false;
51
+ if (appAllowed?.has(exports.ALL))
52
+ return true;
53
+ if (appDenied?.has(exports.ALL))
54
+ return false;
55
+ return null;
56
+ }
57
+ parseStringItem(str) {
58
+ const isNegation = str.startsWith(exports.NEGATION);
59
+ const arr = str.split(exports.SPECIAL_DELIMITER).map(s => s.trim());
60
+ if (isNegation)
61
+ arr[0] = arr[0].slice(1);
62
+ if (!arr[0] && arr.length === 1)
63
+ return this.parseStringItem(`${exports.NEGATION}${exports.SPECIAL_DELIMITER}${exports.ALL}`);
64
+ if (!arr[0])
65
+ return this.parseStringItem(`${isNegation ? exports.NEGATION : ''}${arr[1]}`);
66
+ const list = isNegation ? this.deniedList : this.allowedList;
67
+ if (arr.length === 1 && arr[0] === exports.ALL) {
68
+ if (!list.has(exports.APP))
69
+ list.set(exports.APP, new Set());
70
+ if (!list.has(exports.MODULE))
71
+ list.set(exports.MODULE, new Set());
72
+ list.get(exports.APP).add(exports.ALL);
73
+ list.get(exports.MODULE).add(exports.ALL);
74
+ }
75
+ else if (arr.length === 1) {
76
+ if (!list.has(exports.APP))
77
+ list.set(exports.APP, new Set());
78
+ list.get(exports.APP).add(arr[0]);
79
+ if (!list.has(arr[0]))
80
+ list.set(arr[0], new Set());
81
+ list.get(arr[0]).add(exports.ALL);
82
+ }
83
+ else {
84
+ if (!list.has(arr[0]))
85
+ list.set(arr[0], new Set());
86
+ list.get(arr[0]).add(arr[1]);
87
+ }
88
+ }
89
+ }
90
+ exports.AllowedList = AllowedList;
91
+ //# sourceMappingURL=allowed.list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowed.list.js","sourceRoot":"","sources":["../../src/utils/allowed.list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ type IClassType = abstract new (...args: any) => any;
2
+ declare abstract class A {
3
+ }
4
+ type Instance = InstanceType<typeof A>;
5
+ interface IModule {
6
+ filename: string;
7
+ }
8
+ interface IImportMeta {
9
+ url: string;
10
+ }
11
+ export type Cat = IClassType | Instance | IModule | IImportMeta | string | Category;
12
+ interface IModCat {
13
+ id: string;
14
+ pathname: string;
15
+ }
16
+ export declare class Category {
17
+ readonly name: string;
18
+ constructor(mod: IModCat, category?: Cat);
19
+ static category(cat: Cat, mod: IModCat): string;
20
+ static module(cat: Category, mod: IModCat): string;
21
+ static relativePath(pathname: string, mod: IModCat): string;
22
+ }
23
+ export {};
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Category = void 0;
4
+ const cat_nlogs_error_1 = require("../errors/cat.nlogs.error");
5
+ const stack_1 = require("../helpers/stack");
6
+ const string_1 = require("../helpers/string");
7
+ class A {
8
+ }
9
+ class Category {
10
+ constructor(mod, category) {
11
+ this.name = Category.category(category || Category.module(this, mod), mod);
12
+ }
13
+ static category(cat, mod) {
14
+ if (typeof cat === 'string')
15
+ return cat;
16
+ if (typeof cat === 'function' || cat instanceof Category)
17
+ return cat.name;
18
+ if (typeof cat !== 'object')
19
+ throw new cat_nlogs_error_1.CatNlogsError(`Incoreect category name of type ${typeof cat}`);
20
+ if ('filename' in cat)
21
+ return this.relativePath(cat.filename, mod);
22
+ if ('url' in cat)
23
+ return this.relativePath(cat.url, mod);
24
+ if ('constructor' in cat && cat.constructor !== Object)
25
+ return this.category(cat.constructor, mod);
26
+ return mod.id;
27
+ }
28
+ static module(cat, mod) {
29
+ const filename = (0, stack_1.getTopStackFile)(cat.constructor);
30
+ return filename ? this.relativePath(filename, mod) : mod.id;
31
+ }
32
+ static relativePath(pathname, mod) {
33
+ if (!pathname)
34
+ return mod.id;
35
+ if (!pathname.includes(mod.pathname))
36
+ return pathname;
37
+ return (0, string_1.clearString)(pathname, /^file:\/\//, mod.pathname, /^\//, /^src\//, /^build\//, /^dist\//);
38
+ }
39
+ }
40
+ exports.Category = Category;
41
+ //# sourceMappingURL=category.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"category.js","sourceRoot":"","sources":["../../src/utils/category.ts"],"names":[],"mappings":";;;AAAA,+DAAyD;AACzD,4CAAkD;AAClD,8CAA+C;AAI/C,MAAe,CAAC;CAAG;AAkBnB,MAAa,QAAQ;IAGnB,YAAY,GAAY,EAAE,QAAc;QACtC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;IAC5E,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,GAAQ,EAAE,GAAY;QACpC,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,GAAG,CAAA;QACvC,IAAI,OAAO,GAAG,KAAK,UAAU,IAAI,GAAG,YAAY,QAAQ;YAAE,OAAO,GAAG,CAAC,IAAI,CAAA;QACzE,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,MAAM,IAAI,+BAAa,CAAC,mCAAmC,OAAO,GAAG,EAAE,CAAC,CAAA;QACrG,IAAI,UAAU,IAAI,GAAG;YAAE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;QAClE,IAAI,KAAK,IAAI,GAAG;YAAE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QACxD,IAAI,aAAa,IAAI,GAAG,IAAI,GAAG,CAAC,WAAW,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;QAClG,OAAO,GAAG,CAAC,EAAE,CAAA;IACf,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,GAAa,EAAE,GAAY;QACvC,MAAM,QAAQ,GAAG,IAAA,uBAAe,EAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QACjD,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAA;IAC7D,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,QAAgB,EAAE,GAAY;QAChD,IAAI,CAAC,QAAQ;YAAE,OAAO,GAAG,CAAC,EAAE,CAAA;QAC5B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAA;QACrD,OAAO,IAAA,oBAAW,EAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAA;IAClG,CAAC;CACF;AA3BD,4BA2BC"}
@@ -0,0 +1,10 @@
1
+ /// <reference types="node" />
2
+ import { Writable } from 'stream';
3
+ import { IOutLogger } from './types';
4
+ export declare class ConsoleOut implements IOutLogger {
5
+ private readonly stdout;
6
+ private readonly stderr;
7
+ constructor(stdout: Writable, stderr?: Writable);
8
+ out(str: string): void;
9
+ error(str: string): void;
10
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConsoleOut = void 0;
4
+ class ConsoleOut {
5
+ constructor(stdout, stderr) {
6
+ this.stdout = stdout;
7
+ this.stderr = stderr || stdout;
8
+ }
9
+ out(str) {
10
+ this.stdout.write(str);
11
+ this.stdout.write('\n');
12
+ }
13
+ error(str) {
14
+ this.stderr.write(str);
15
+ this.stderr.write('\n');
16
+ }
17
+ }
18
+ exports.ConsoleOut = ConsoleOut;
19
+ //# sourceMappingURL=console.out.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"console.out.js","sourceRoot":"","sources":["../../src/utils/console.out.ts"],"names":[],"mappings":";;;AAGA,MAAa,UAAU;IAErB,YAA6B,MAAgB,EAAE,MAAiB;QAAnC,WAAM,GAAN,MAAM,CAAU;QAC3C,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,MAAM,CAAA;IAChC,CAAC;IAED,GAAG,CAAC,GAAW;QACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,GAAW;QACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;CACF;AAfD,gCAeC"}
@@ -0,0 +1,24 @@
1
+ import { Details } from '../message/details';
2
+ import { LogInfo } from '../message/log.info';
3
+ import { Meta } from '../message/meta';
4
+ import { StringFormatter } from './string.formatter';
5
+ export declare class DarkStringFormatter extends StringFormatter {
6
+ readonly timestampSeparator = "";
7
+ readonly separator: any;
8
+ readonly brackets: [string, string];
9
+ readonly colors = true;
10
+ protected levels: {
11
+ log: (str: any) => any;
12
+ trace: (str: any) => any;
13
+ debug: (str: any) => any;
14
+ info: (str: any) => any;
15
+ warn: (str: any) => any;
16
+ error: (str: any) => any;
17
+ };
18
+ highlight(text: string): string;
19
+ time(pretty: string, label: string | null, info: LogInfo): string;
20
+ protected prepareTimestamp(date: Date): string;
21
+ protected prepareCategoryName(meta: Meta): string;
22
+ protected prepareModuleName(details: Details): string;
23
+ protected prepareLevel(meta: Meta): string;
24
+ }
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DarkStringFormatter = void 0;
4
+ const color_1 = require("../helpers/color");
5
+ const string_formatter_1 = require("./string.formatter");
6
+ class DarkStringFormatter extends string_formatter_1.StringFormatter {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.timestampSeparator = '';
10
+ this.separator = (0, color_1.injectColor)(':', 'gray');
11
+ this.brackets = [(0, color_1.injectColor)('[', 'gray'), (0, color_1.injectColor)(']', 'gray')];
12
+ this.colors = true;
13
+ this.levels = {
14
+ log: str => (0, color_1.injectColor)(str, 'white'),
15
+ trace: str => (0, color_1.injectColor)(str, 'blue'),
16
+ debug: str => (0, color_1.injectColor)(str, 'magenta'),
17
+ info: str => (0, color_1.injectColor)(str, 'green'),
18
+ warn: str => (0, color_1.injectColor)(str, 'yellow'),
19
+ error: str => (0, color_1.injectColor)(str, 'red'),
20
+ };
21
+ }
22
+ highlight(text) {
23
+ return (0, color_1.injectColor)(text, 'bold');
24
+ }
25
+ time(pretty, label, info) {
26
+ const time = (0, color_1.injectColor)(pretty, ['brightYellow']);
27
+ return label ? this.wrap(`${(0, color_1.injectColor)(`${label}:`, 'yellow')} ${time}`, info.messages.length) : time;
28
+ }
29
+ prepareTimestamp(date) {
30
+ return (0, color_1.injectColor)(`${super.prepareTimestamp(date)}`, ['bgGray', 'brightYellow']);
31
+ }
32
+ prepareCategoryName(meta) {
33
+ return (0, color_1.injectColor)(super.prepareCategoryName(meta), ['brightCyan', 'italic']);
34
+ }
35
+ prepareModuleName(details) {
36
+ const mod = super.prepareModuleName(details);
37
+ if (!mod)
38
+ return mod;
39
+ return (0, color_1.injectColor)(mod, ['cyan']);
40
+ }
41
+ prepareLevel(meta) {
42
+ const methodName = meta.level.toLowerCase();
43
+ return (this.levels[methodName] || this.levels.log)(meta.level.toUpperCase());
44
+ }
45
+ }
46
+ exports.DarkStringFormatter = DarkStringFormatter;
47
+ //# sourceMappingURL=dark.string.formatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dark.string.formatter.js","sourceRoot":"","sources":["../../src/utils/dark.string.formatter.ts"],"names":[],"mappings":";;;AAAA,4CAA8C;AAI9C,yDAAoD;AAEpD,MAAa,mBAAoB,SAAQ,kCAAe;IAAxD;;QACW,uBAAkB,GAAG,EAAE,CAAA;QACvB,cAAS,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACpC,aAAQ,GAAqB,CAAC,IAAA,mBAAW,EAAC,GAAG,EAAE,MAAM,CAAC,EAAE,IAAA,mBAAW,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA;QACjF,WAAM,GAAG,IAAI,CAAA;QACZ,WAAM,GAAG;YACjB,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,IAAA,mBAAW,EAAC,GAAG,EAAE,OAAO,CAAC;YACrC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,IAAA,mBAAW,EAAC,GAAG,EAAE,MAAM,CAAC;YACtC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,IAAA,mBAAW,EAAC,GAAG,EAAE,SAAS,CAAC;YACzC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,IAAA,mBAAW,EAAC,GAAG,EAAE,OAAO,CAAC;YACtC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,IAAA,mBAAW,EAAC,GAAG,EAAE,QAAQ,CAAC;YACvC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,IAAA,mBAAW,EAAC,GAAG,EAAE,KAAK,CAAC;SACtC,CAAA;IA6BH,CAAC;IA3BC,SAAS,CAAC,IAAY;QACpB,OAAO,IAAA,mBAAW,EAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAClC,CAAC;IAED,IAAI,CAAC,MAAc,EAAE,KAAoB,EAAE,IAAa;QACtD,MAAM,IAAI,GAAG,IAAA,mBAAW,EAAC,MAAM,EAAE,CAAC,cAAc,CAAC,CAAC,CAAA;QAClD,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAA,mBAAW,EAAC,GAAG,KAAK,GAAG,EAAE,QAAQ,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACxG,CAAC;IAES,gBAAgB,CAAC,IAAU;QACnC,OAAO,IAAA,mBAAW,EAAC,GAAG,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAA;IACnF,CAAC;IAES,mBAAmB,CAAC,IAAU;QACtC,OAAO,IAAA,mBAAW,EAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAA;IAC/E,CAAC;IAES,iBAAiB,CAAC,OAAgB;QAC1C,MAAM,GAAG,GAAG,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;QAC5C,IAAI,CAAC,GAAG;YAAE,OAAO,GAAG,CAAA;QACpB,OAAO,IAAA,mBAAW,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IACnC,CAAC;IAES,YAAY,CAAC,IAAU;QAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAA;QAC3C,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAA;IAC/E,CAAC;CACF;AAzCD,kDAyCC"}
@@ -0,0 +1,8 @@
1
+ import { ItemManagerOptions, ItemMsg, ItemResult, ItemsManager } from './items.manager';
2
+ export interface ItemCounterOptions extends ItemManagerOptions {
3
+ }
4
+ export declare class ItemsCounters extends ItemsManager<number, ItemCounterOptions> {
5
+ readonly name = "timer";
6
+ protected defaultData: number;
7
+ protected itemCallback(msg: ItemMsg<number>): ItemResult<number>;
8
+ }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ItemsCounters = void 0;
4
+ const items_manager_1 = require("./items.manager");
5
+ const static_logger_1 = require("./static.logger");
6
+ class ItemsCounters extends items_manager_1.ItemsManager {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.name = 'timer';
10
+ this.defaultData = 0;
11
+ }
12
+ itemCallback(msg) {
13
+ const count = msg.data + 1;
14
+ return {
15
+ level: 'debug',
16
+ data: count,
17
+ messages: [
18
+ static_logger_1.StaticLogger.highlight(`count${msg.label ? ` (${msg.label})` : ''}: `),
19
+ count,
20
+ msg.messages?.length ? static_logger_1.StaticLogger.interpolate(['|', ...msg.messages]) : static_logger_1.StaticLogger.empty(),
21
+ ],
22
+ };
23
+ }
24
+ }
25
+ exports.ItemsCounters = ItemsCounters;
26
+ //# sourceMappingURL=items.counter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"items.counter.js","sourceRoot":"","sources":["../../src/utils/items.counter.ts"],"names":[],"mappings":";;;AAAA,mDAAuF;AACvF,mDAA8C;AAI9C,MAAa,aAAc,SAAQ,4BAAwC;IAA3E;;QACW,SAAI,GAAG,OAAO,CAAA;QACb,gBAAW,GAAG,CAAC,CAAA;IAc3B,CAAC;IAZW,YAAY,CAAC,GAAoB;QACzC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAA;QAC1B,OAAO;YACL,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE;gBACR,4BAAY,CAAC,SAAS,CAAC,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;gBACtE,KAAK;gBACL,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,4BAAY,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,4BAAY,CAAC,KAAK,EAAE;aAC/F;SACF,CAAA;IACH,CAAC;CACF;AAhBD,sCAgBC"}
@@ -0,0 +1,55 @@
1
+ import { ILogger } from '../helpers/types';
2
+ export interface LogItem<D = any> {
3
+ (...args: any[]): void;
4
+ id: string;
5
+ label: string;
6
+ log(...args: any[]): void;
7
+ end(...args: any[]): void;
8
+ removeAfter: number;
9
+ data: D;
10
+ }
11
+ export declare enum LogType {
12
+ START = "start",
13
+ LOG = "log",
14
+ END = "end"
15
+ }
16
+ export interface ItemMsg<D> {
17
+ type: LogType;
18
+ data: D;
19
+ messages: any[];
20
+ label?: string;
21
+ }
22
+ export interface ItemResult<D> {
23
+ data?: D;
24
+ level?: keyof ILogger;
25
+ messages?: any[];
26
+ }
27
+ export interface ItemManagerOptions {
28
+ maxCacheTime: number;
29
+ checkCacheTimeout: number;
30
+ maxCacheSize: number;
31
+ }
32
+ export declare abstract class ItemsManager<D, O extends ItemManagerOptions> {
33
+ private readonly logger;
34
+ protected readonly options: O;
35
+ private readonly state;
36
+ private readonly removed;
37
+ private tid;
38
+ abstract readonly name: string;
39
+ protected abstract itemCallback(msg: ItemMsg<D>): ItemResult<D> | ItemResult<D>[];
40
+ protected abstract defaultData: D;
41
+ constructor(logger: ILogger, options: O);
42
+ get size(): number;
43
+ has(id: string): boolean;
44
+ get(id: string): LogItem<D>;
45
+ delete(id: string): boolean;
46
+ clear(): void;
47
+ private create;
48
+ start(label?: string): LogItem<D>;
49
+ log(label: string): void;
50
+ end(label: string): void;
51
+ private logFrom;
52
+ private isExpired;
53
+ private checkItem;
54
+ private startTimeoutCheck;
55
+ }
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ItemsManager = exports.LogType = void 0;
7
+ const item_notfound_error_1 = require("../errors/item.notfound.error");
8
+ const pretty_time_1 = __importDefault(require("pretty-time"));
9
+ const string_1 = require("../helpers/string");
10
+ var LogType;
11
+ (function (LogType) {
12
+ LogType["START"] = "start";
13
+ LogType["LOG"] = "log";
14
+ LogType["END"] = "end";
15
+ })(LogType = exports.LogType || (exports.LogType = {}));
16
+ class ItemsManager {
17
+ constructor(logger, options) {
18
+ this.logger = logger;
19
+ this.options = options;
20
+ this.state = new Map();
21
+ this.removed = new WeakSet();
22
+ }
23
+ get size() {
24
+ return this.state.size;
25
+ }
26
+ has(id) {
27
+ if (!this.state.has(id))
28
+ return false;
29
+ return !this.removed.has(this.state.get(id));
30
+ }
31
+ get(id) {
32
+ if (!this.has(id))
33
+ throw new item_notfound_error_1.ItemNotFoundError(this.name, id);
34
+ return this.state.get(id);
35
+ }
36
+ delete(id) {
37
+ return this.state.delete(id);
38
+ }
39
+ clear() {
40
+ this.state.clear();
41
+ }
42
+ create(id, onLog, onEnd, label) {
43
+ const item = (...args) => onEnd(...args);
44
+ item.id = id;
45
+ item.label = label;
46
+ item.log = onLog;
47
+ item.end = onEnd;
48
+ item.removeAfter = Date.now() + this.options.maxCacheTime;
49
+ item.data = this.defaultData;
50
+ return item;
51
+ }
52
+ start(label) {
53
+ const id = label || (0, string_1.uuid)();
54
+ if (this.has(id)) {
55
+ const sitem = this.get(id);
56
+ this.delete(id);
57
+ if (!this.isExpired(sitem) && !this.removed.has(sitem)) {
58
+ sitem.end('Auto end (restart)');
59
+ }
60
+ return this.start(label);
61
+ }
62
+ const item = this.create(id, (...msgs) => {
63
+ if (this.removed.has(item))
64
+ return;
65
+ this.logFrom(LogType.LOG, item, msgs);
66
+ }, (...msgs) => {
67
+ if (this.removed.has(item))
68
+ return;
69
+ this.delete(id);
70
+ this.removed.add(item);
71
+ this.logFrom(LogType.END, item, msgs);
72
+ }, label);
73
+ this.state.set(id, item);
74
+ if (this.size > this.options.maxCacheSize)
75
+ this.logger.warn(`The recommended limit for concurrently used ${this.name} has been exceeded`);
76
+ this.logFrom(LogType.START, item, []);
77
+ return item;
78
+ }
79
+ log(label) {
80
+ if (!label)
81
+ return this.logger.warn(`[${this.name}]: the label cannot be empty when the log method is called`);
82
+ if (!this.has(label))
83
+ return this.logger.warn(`${this.name} with "${label}" label not found`);
84
+ const item = this.get(label);
85
+ item.log();
86
+ }
87
+ end(label) {
88
+ if (!label)
89
+ return this.logger.warn(`[${this.name}]: the label cannot be empty when the end method is called`);
90
+ if (!this.has(label))
91
+ return this.logger.warn(`${this.name} with "${label}" label not found`);
92
+ const item = this.get(label);
93
+ item.end();
94
+ return;
95
+ }
96
+ logFrom(type, item, messages) {
97
+ try {
98
+ const res = this.itemCallback({
99
+ type,
100
+ messages,
101
+ label: item.label,
102
+ data: item.data,
103
+ });
104
+ const arr = Array.isArray(res) ? res : [res];
105
+ for (const result of arr) {
106
+ if (!result)
107
+ continue;
108
+ if ('data' in result)
109
+ item.data = result.data;
110
+ if (!result.messages)
111
+ continue;
112
+ const method = 'level' in result ? result.level : 'debug';
113
+ this.logger[method](...result.messages);
114
+ }
115
+ item.removeAfter = Date.now() + this.options.maxCacheTime;
116
+ this.checkItem(item);
117
+ }
118
+ catch (err) {
119
+ this.logger.error('Error during itemCallback execution', err);
120
+ }
121
+ }
122
+ isExpired(item) {
123
+ return item.removeAfter <= Date.now();
124
+ }
125
+ checkItem(item) {
126
+ if (!this.size && this.tid)
127
+ clearTimeout(this.tid);
128
+ if (!this.removed.has(item) && !this.tid)
129
+ this.startTimeoutCheck();
130
+ }
131
+ startTimeoutCheck() {
132
+ this.tid = setTimeout(() => {
133
+ this.tid = null;
134
+ this.state.forEach(item => {
135
+ if (+item.removeAfter <= Date.now()) {
136
+ this.removed.add(item);
137
+ this.delete(item.id);
138
+ this.logger.warn(`The ${this.name} with the ${item.label ? `${item.label} label` : `${item.id} id`} was deleted after ${(0, pretty_time_1.default)(1000000 * this.options.maxCacheTime, 'ms')} of inactivity`);
139
+ }
140
+ });
141
+ if (this.size)
142
+ this.startTimeoutCheck();
143
+ }, this.options.checkCacheTimeout).unref();
144
+ }
145
+ }
146
+ exports.ItemsManager = ItemsManager;
147
+ //# sourceMappingURL=items.manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"items.manager.js","sourceRoot":"","sources":["../../src/utils/items.manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { ItemManagerOptions, ItemMsg, ItemResult, ItemsManager } from './items.manager';
2
+ export interface ItemTimerOptions extends ItemManagerOptions {
3
+ logOnStart: boolean;
4
+ }
5
+ export declare class ItemsTimers extends ItemsManager<number, ItemTimerOptions> {
6
+ readonly name = "timer";
7
+ protected defaultData: number;
8
+ protected itemCallback(msg: ItemMsg<number>): ItemResult<number>;
9
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ItemsTimers = void 0;
4
+ const constants_1 = require("../constants");
5
+ const items_manager_1 = require("./items.manager");
6
+ const static_logger_1 = require("./static.logger");
7
+ class ItemsTimers extends items_manager_1.ItemsManager {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.name = 'timer';
11
+ this.defaultData = Date.now();
12
+ }
13
+ itemCallback(msg) {
14
+ const messages = msg.messages?.length ? static_logger_1.StaticLogger.interpolate(['|', ...msg.messages]) : static_logger_1.StaticLogger.empty();
15
+ switch (msg.type) {
16
+ case items_manager_1.LogType.START:
17
+ return {
18
+ data: Date.now(),
19
+ level: 'debug',
20
+ messages: this.options.logOnStart
21
+ ? [static_logger_1.StaticLogger.highlight(`timeStart${msg.label ? `: ${msg.label}` : ''}`), messages]
22
+ : undefined,
23
+ };
24
+ case items_manager_1.LogType.LOG:
25
+ return {
26
+ level: 'debug',
27
+ messages: [static_logger_1.StaticLogger.timeRange(msg.data, Date.now(), `${constants_1.TIME_LOG}${msg.label ? `: ${msg.label}` : ''}`), messages],
28
+ };
29
+ case items_manager_1.LogType.END:
30
+ return {
31
+ level: 'debug',
32
+ messages: [static_logger_1.StaticLogger.timeRange(msg.data, Date.now(), `${constants_1.TIME_END}${msg.label ? `: ${msg.label}` : ''}`), messages],
33
+ };
34
+ }
35
+ }
36
+ }
37
+ exports.ItemsTimers = ItemsTimers;
38
+ //# sourceMappingURL=items.timer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"items.timer.js","sourceRoot":"","sources":["../../src/utils/items.timer.ts"],"names":[],"mappings":";;;AAAA,4CAAiD;AACjD,mDAAgG;AAChG,mDAA8C;AAM9C,MAAa,WAAY,SAAQ,4BAAsC;IAAvE;;QACW,SAAI,GAAG,OAAO,CAAA;QACb,gBAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IA4BpC,CAAC;IA1BW,YAAY,CAAC,GAAoB;QACzC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,4BAAY,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,4BAAY,CAAC,KAAK,EAAE,CAAA;QAE/G,QAAQ,GAAG,CAAC,IAAI,EAAE;YAChB,KAAK,uBAAO,CAAC,KAAK;gBAChB,OAAO;oBACL,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE;oBAChB,KAAK,EAAE,OAAO;oBACd,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;wBAC/B,CAAC,CAAC,CAAC,4BAAY,CAAC,SAAS,CAAC,YAAY,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC;wBACrF,CAAC,CAAC,SAAS;iBACd,CAAA;YAEH,KAAK,uBAAO,CAAC,GAAG;gBACd,OAAO;oBACL,KAAK,EAAE,OAAO;oBACd,QAAQ,EAAE,CAAC,4BAAY,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,oBAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC;iBACtH,CAAA;YAEH,KAAK,uBAAO,CAAC,GAAG;gBACd,OAAO;oBACL,KAAK,EAAE,OAAO;oBACd,QAAQ,EAAE,CAAC,4BAAY,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,oBAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC;iBACtH,CAAA;SACJ;IACH,CAAC;CACF;AA9BD,kCA8BC"}
@@ -0,0 +1,14 @@
1
+ import { LogInfo } from '../message/log.info';
2
+ import { IFormatter } from './types';
3
+ export declare class JsonFormatter implements IFormatter {
4
+ symbol(value: symbol): string;
5
+ bigint(value: bigint): string;
6
+ date(value: Date): string;
7
+ array(value: any[]): string;
8
+ null(value: null | undefined): string;
9
+ messages(data: any[]): string;
10
+ time(pretty: string, label?: string | null): string;
11
+ error(name: string, message: string): string;
12
+ highlight(text: string): string;
13
+ format(info: LogInfo): string;
14
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JsonFormatter = void 0;
4
+ class JsonFormatter {
5
+ symbol(value) {
6
+ return value.toString();
7
+ }
8
+ bigint(value) {
9
+ return `${value}n`;
10
+ }
11
+ date(value) {
12
+ return value.toJSON();
13
+ }
14
+ array(value) {
15
+ return value.toString();
16
+ }
17
+ null(value) {
18
+ return `${value}`;
19
+ }
20
+ messages(data) {
21
+ return data.join(' ');
22
+ }
23
+ time(pretty, label) {
24
+ return label ? `[${label}: ${pretty}]` : pretty;
25
+ }
26
+ error(name, message) {
27
+ return `[${name}: ${message}]`;
28
+ }
29
+ highlight(text) {
30
+ return `[${text}]`;
31
+ }
32
+ format(info) {
33
+ return JSON.stringify({
34
+ message: info.message,
35
+ meta: info.meta,
36
+ details: info.details.toJSON(),
37
+ '@timestamp': info.meta.timestamp,
38
+ '@index': info.index,
39
+ });
40
+ }
41
+ }
42
+ exports.JsonFormatter = JsonFormatter;
43
+ //# sourceMappingURL=json.formatter.js.map