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.
- package/README.md +0 -200
- package/dist/abstract.base.logger.d.ts +46 -0
- package/dist/abstract.base.logger.js +119 -0
- package/dist/abstract.base.logger.js.map +1 -0
- package/dist/base.logger.d.ts +60 -0
- package/dist/base.logger.js +101 -0
- package/dist/base.logger.js.map +1 -0
- package/dist/constants.d.ts +19 -0
- package/dist/constants.js +23 -0
- package/dist/constants.js.map +1 -0
- package/dist/errors/cat.nlogs.error.d.ts +4 -0
- package/dist/errors/cat.nlogs.error.js +12 -0
- package/dist/errors/cat.nlogs.error.js.map +1 -0
- package/dist/errors/fs.nlogs.error.d.ts +4 -0
- package/dist/errors/fs.nlogs.error.js +12 -0
- package/dist/errors/fs.nlogs.error.js.map +1 -0
- package/dist/errors/item.nlogs.error.d.ts +4 -0
- package/dist/errors/item.nlogs.error.js +8 -0
- package/dist/errors/item.nlogs.error.js.map +1 -0
- package/dist/errors/item.notfound.error.d.ts +4 -0
- package/dist/errors/item.notfound.error.js +12 -0
- package/dist/errors/item.notfound.error.js.map +1 -0
- package/dist/errors/msg.nlogs.error.d.ts +4 -0
- package/dist/errors/msg.nlogs.error.js +12 -0
- package/dist/errors/msg.nlogs.error.js.map +1 -0
- package/dist/errors/nlogs.error.d.ts +14 -0
- package/dist/errors/nlogs.error.js +30 -0
- package/dist/errors/nlogs.error.js.map +1 -0
- package/dist/errors/param.error.d.ts +6 -0
- package/dist/errors/param.error.js +14 -0
- package/dist/errors/param.error.js.map +1 -0
- package/dist/helpers/color.d.ts +55 -0
- package/dist/helpers/color.js +65 -0
- package/dist/helpers/color.js.map +1 -0
- package/dist/helpers/debug.d.ts +2 -0
- package/dist/helpers/debug.js +11 -0
- package/dist/helpers/debug.js.map +1 -0
- package/dist/helpers/fs.d.ts +6 -0
- package/dist/helpers/fs.js +43 -0
- package/dist/helpers/fs.js.map +1 -0
- package/dist/helpers/stack.d.ts +5 -0
- package/dist/helpers/stack.js +52 -0
- package/dist/helpers/stack.js.map +1 -0
- package/dist/helpers/string.d.ts +9 -0
- package/dist/helpers/string.js +53 -0
- package/dist/helpers/string.js.map +1 -0
- package/dist/helpers/symbols.d.ts +25 -0
- package/dist/helpers/symbols.js +32 -0
- package/dist/helpers/symbols.js.map +1 -0
- package/dist/helpers/template.d.ts +4 -0
- package/dist/helpers/template.js +58 -0
- package/dist/helpers/template.js.map +1 -0
- package/dist/helpers/testHelpers.d.ts +31 -0
- package/dist/helpers/testHelpers.js +239 -0
- package/dist/helpers/testHelpers.js.map +1 -0
- package/dist/helpers/time.d.ts +1 -0
- package/dist/helpers/time.js +6 -0
- package/dist/helpers/time.js.map +1 -0
- package/dist/helpers/types.d.ts +13 -0
- package/dist/helpers/types.js +3 -0
- package/dist/helpers/types.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/logger.d.ts +25 -0
- package/dist/logger.js +42 -0
- package/dist/logger.js.map +1 -0
- package/dist/logging.rules.d.ts +28 -0
- package/dist/logging.rules.js +64 -0
- package/dist/logging.rules.js.map +1 -0
- package/dist/message/details.d.ts +43 -0
- package/dist/message/details.js +100 -0
- package/dist/message/details.js.map +1 -0
- package/dist/message/error.details.d.ts +13 -0
- package/dist/message/error.details.js +26 -0
- package/dist/message/error.details.js.map +1 -0
- package/dist/message/log.info.d.ts +20 -0
- package/dist/message/log.info.js +30 -0
- package/dist/message/log.info.js.map +1 -0
- package/dist/message/meta.d.ts +12 -0
- package/dist/message/meta.js +22 -0
- package/dist/message/meta.js.map +1 -0
- package/dist/message/mod.details.d.ts +5 -0
- package/dist/message/mod.details.js +11 -0
- package/dist/message/mod.details.js.map +1 -0
- package/dist/message/time.details.d.ts +6 -0
- package/dist/message/time.details.js +16 -0
- package/dist/message/time.details.js.map +1 -0
- package/dist/message/time.range.d.ts +9 -0
- package/dist/message/time.range.js +23 -0
- package/dist/message/time.range.js.map +1 -0
- package/dist/options.d.ts +26 -0
- package/dist/options.js +80 -0
- package/dist/options.js.map +1 -0
- package/dist/template.logger.d.ts +12 -0
- package/dist/template.logger.js +21 -0
- package/dist/template.logger.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/utils/allowed.list.d.ts +18 -0
- package/dist/utils/allowed.list.js +91 -0
- package/dist/utils/allowed.list.js.map +1 -0
- package/dist/utils/category.d.ts +23 -0
- package/dist/utils/category.js +41 -0
- package/dist/utils/category.js.map +1 -0
- package/dist/utils/console.out.d.ts +10 -0
- package/dist/utils/console.out.js +19 -0
- package/dist/utils/console.out.js.map +1 -0
- package/dist/utils/dark.string.formatter.d.ts +24 -0
- package/dist/utils/dark.string.formatter.js +47 -0
- package/dist/utils/dark.string.formatter.js.map +1 -0
- package/dist/utils/items.counter.d.ts +8 -0
- package/dist/utils/items.counter.js +26 -0
- package/dist/utils/items.counter.js.map +1 -0
- package/dist/utils/items.manager.d.ts +55 -0
- package/dist/utils/items.manager.js +147 -0
- package/dist/utils/items.manager.js.map +1 -0
- package/dist/utils/items.timer.d.ts +9 -0
- package/dist/utils/items.timer.js +38 -0
- package/dist/utils/items.timer.js.map +1 -0
- package/dist/utils/json.formatter.d.ts +14 -0
- package/dist/utils/json.formatter.js +43 -0
- package/dist/utils/json.formatter.js.map +1 -0
- package/dist/utils/light.string.formatter.d.ts +6 -0
- package/dist/utils/light.string.formatter.js +16 -0
- package/dist/utils/light.string.formatter.js.map +1 -0
- package/dist/utils/log.reader.d.ts +16 -0
- package/dist/utils/log.reader.js +149 -0
- package/dist/utils/log.reader.js.map +1 -0
- package/dist/utils/mod.d.ts +7 -0
- package/dist/utils/mod.js +16 -0
- package/dist/utils/mod.js.map +1 -0
- package/dist/utils/mod.resolver.d.ts +12 -0
- package/dist/utils/mod.resolver.js +101 -0
- package/dist/utils/mod.resolver.js.map +1 -0
- package/dist/utils/static.logger.d.ts +31 -0
- package/dist/utils/static.logger.js +84 -0
- package/dist/utils/static.logger.js.map +1 -0
- package/dist/utils/string.formatter.d.ts +30 -0
- package/dist/utils/string.formatter.js +110 -0
- package/dist/utils/string.formatter.js.map +1 -0
- package/dist/utils/trace.store.d.ts +33 -0
- package/dist/utils/trace.store.js +76 -0
- package/dist/utils/trace.store.js.map +1 -0
- package/package.json +33 -12
- package/.eslintrc.js +0 -3
- package/index.d.ts +0 -217
- package/index.js +0 -12
- package/lib/config.js +0 -85
- package/lib/constants.js +0 -7
- package/lib/defaultConfig.js +0 -57
- package/lib/logger.js +0 -134
- package/lib/loggerCore.js +0 -105
- package/lib/stringFormatter.js +0 -4
- 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":";;;AAAa,QAAA,GAAG,GAAG,GAAG,CAAA;AACT,QAAA,MAAM,GAAG,GAAG,CAAA;AACZ,QAAA,GAAG,GAAG,GAAG,CAAA;AACT,QAAA,iBAAiB,GAAG,GAAG,CAAA;AACvB,QAAA,SAAS,GAAG,GAAG,CAAA;AACf,QAAA,QAAQ,GAAG,GAAG,CAAA;AAE3B,MAAa,WAAW;IAItB,YAAY,GAAY,EAAmB,YAAoB,iBAAS;QAA7B,cAAS,GAAT,SAAS,CAAoB;QAHhE,gBAAW,GAAG,IAAI,GAAG,EAAuB,CAAA;QAC5C,eAAU,GAAG,IAAI,GAAG,EAAuB,CAAA;QAGjD,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,QAAgB,EAAE,MAAuB;QAC7C,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI;YAAE,OAAO,IAAI,CAAA;QAChE,IAAI,MAAM;YAAE,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QACrD,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAChC,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,GAAG;aACA,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;aACrB,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;aACtB,MAAM,CAAC,OAAO,CAAC;aACf,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAA;IAC9C,CAAC;IAEO,QAAQ,CAAC,QAAgB;QAC/B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAG,CAAC;YAAE,OAAO,KAAK,CAAA;QAE5C,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,WAAG,CAAC,CAAA;IAC5C,CAAC;IAEO,WAAW,CAAC,QAAgB,EAAE,UAAkB;QACtD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,cAAM,CAAC;YAAE,OAAO,KAAK,CAAA;QAEpF,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;QAChE,IAAI,eAAe,IAAI,IAAI;YAAE,OAAO,eAAe,CAAA;QAEnD,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,cAAM,CAAC,CAAA;IAC/C,CAAC;IAEO,aAAa,CAAC,QAAgB,EAAE,UAAkB;QACxD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QACnD,IAAI,UAAU,EAAE,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAA;QAE1C,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QACjD,IAAI,SAAS,EAAE,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAA;QAE1C,IAAI,UAAU,EAAE,GAAG,CAAC,WAAG,CAAC;YAAE,OAAO,IAAI,CAAA;QACrC,IAAI,SAAS,EAAE,GAAG,CAAC,WAAG,CAAC;YAAE,OAAO,KAAK,CAAA;QAErC,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,eAAe,CAAC,GAAW;QACjC,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,gBAAQ,CAAC,CAAA;QAC3C,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,yBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;QAE3D,IAAI,UAAU;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACxC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,gBAAQ,GAAG,yBAAiB,GAAG,WAAG,EAAE,CAAC,CAAA;QACrG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,gBAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAElF,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAA;QAE5D,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,WAAG,EAAE;YACtC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAG,CAAC;gBAAE,IAAI,CAAC,GAAG,CAAC,WAAG,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;YAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAM,CAAC;gBAAE,IAAI,CAAC,GAAG,CAAC,cAAM,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;YAElD,IAAI,CAAC,GAAG,CAAC,WAAG,CAAC,CAAC,GAAG,CAAC,WAAG,CAAC,CAAA;YACtB,IAAI,CAAC,GAAG,CAAC,cAAM,CAAC,CAAC,GAAG,CAAC,WAAG,CAAC,CAAA;SAC1B;aAAM,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAG,CAAC;gBAAE,IAAI,CAAC,GAAG,CAAC,WAAG,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;YAC5C,IAAI,CAAC,GAAG,CAAC,WAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;YAEzB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;YAClD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAG,CAAC,CAAA;SAC1B;aAAM;YACL,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;YAClD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;SAC7B;IACH,CAAC;CACF;AA7ED,kCA6EC"}
|
|
@@ -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
|