nlogs 1.1.3 → 2.4.1

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 (157) 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 +62 -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 +5 -0
  63. package/dist/index.js +11 -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/nestjs.logger.d.ts +8 -0
  93. package/dist/nestjs.logger.js +29 -0
  94. package/dist/nestjs.logger.js.map +1 -0
  95. package/dist/options.d.ts +26 -0
  96. package/dist/options.js +80 -0
  97. package/dist/options.js.map +1 -0
  98. package/dist/template.logger.d.ts +12 -0
  99. package/dist/template.logger.js +21 -0
  100. package/dist/template.logger.js.map +1 -0
  101. package/dist/tsconfig.tsbuildinfo +1 -0
  102. package/dist/utils/allowed.list.d.ts +18 -0
  103. package/dist/utils/allowed.list.js +91 -0
  104. package/dist/utils/allowed.list.js.map +1 -0
  105. package/dist/utils/category.d.ts +23 -0
  106. package/dist/utils/category.js +41 -0
  107. package/dist/utils/category.js.map +1 -0
  108. package/dist/utils/console.out.d.ts +10 -0
  109. package/dist/utils/console.out.js +19 -0
  110. package/dist/utils/console.out.js.map +1 -0
  111. package/dist/utils/dark.string.formatter.d.ts +24 -0
  112. package/dist/utils/dark.string.formatter.js +47 -0
  113. package/dist/utils/dark.string.formatter.js.map +1 -0
  114. package/dist/utils/items.counter.d.ts +8 -0
  115. package/dist/utils/items.counter.js +26 -0
  116. package/dist/utils/items.counter.js.map +1 -0
  117. package/dist/utils/items.manager.d.ts +55 -0
  118. package/dist/utils/items.manager.js +147 -0
  119. package/dist/utils/items.manager.js.map +1 -0
  120. package/dist/utils/items.timer.d.ts +9 -0
  121. package/dist/utils/items.timer.js +38 -0
  122. package/dist/utils/items.timer.js.map +1 -0
  123. package/dist/utils/json.formatter.d.ts +14 -0
  124. package/dist/utils/json.formatter.js +43 -0
  125. package/dist/utils/json.formatter.js.map +1 -0
  126. package/dist/utils/light.string.formatter.d.ts +6 -0
  127. package/dist/utils/light.string.formatter.js +16 -0
  128. package/dist/utils/light.string.formatter.js.map +1 -0
  129. package/dist/utils/log.reader.d.ts +16 -0
  130. package/dist/utils/log.reader.js +149 -0
  131. package/dist/utils/log.reader.js.map +1 -0
  132. package/dist/utils/mod.d.ts +7 -0
  133. package/dist/utils/mod.js +16 -0
  134. package/dist/utils/mod.js.map +1 -0
  135. package/dist/utils/mod.resolver.d.ts +12 -0
  136. package/dist/utils/mod.resolver.js +101 -0
  137. package/dist/utils/mod.resolver.js.map +1 -0
  138. package/dist/utils/static.logger.d.ts +31 -0
  139. package/dist/utils/static.logger.js +84 -0
  140. package/dist/utils/static.logger.js.map +1 -0
  141. package/dist/utils/string.formatter.d.ts +30 -0
  142. package/dist/utils/string.formatter.js +110 -0
  143. package/dist/utils/string.formatter.js.map +1 -0
  144. package/dist/utils/trace.store.d.ts +33 -0
  145. package/dist/utils/trace.store.js +76 -0
  146. package/dist/utils/trace.store.js.map +1 -0
  147. package/package.json +35 -11
  148. package/.eslintrc.js +0 -3
  149. package/index.d.ts +0 -217
  150. package/index.js +0 -12
  151. package/lib/config.js +0 -85
  152. package/lib/constants.js +0 -7
  153. package/lib/defaultConfig.js +0 -57
  154. package/lib/logger.js +0 -134
  155. package/lib/loggerCore.js +0 -105
  156. package/lib/stringFormatter.js +0 -4
  157. package/lib/timeFormatter.js +0 -3
@@ -0,0 +1,4 @@
1
+ import { ItemNlogsError } from './item.nlogs.error';
2
+ export declare class ItemNotFoundError extends ItemNlogsError {
3
+ constructor(name: string, id: string);
4
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ItemNotFoundError = void 0;
4
+ const item_nlogs_error_1 = require("./item.nlogs.error");
5
+ class ItemNotFoundError extends item_nlogs_error_1.ItemNlogsError {
6
+ constructor(name, id) {
7
+ const message = `${name} with id ${id} not found`;
8
+ super(message, { name, id });
9
+ }
10
+ }
11
+ exports.ItemNotFoundError = ItemNotFoundError;
12
+ //# sourceMappingURL=item.notfound.error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"item.notfound.error.js","sourceRoot":"","sources":["../../src/errors/item.notfound.error.ts"],"names":[],"mappings":";;;AAAA,yDAAmD;AAEnD,MAAa,iBAAkB,SAAQ,iCAAc;IACnD,YAAY,IAAY,EAAE,EAAU;QAClC,MAAM,OAAO,GAAG,GAAG,IAAI,YAAY,EAAE,YAAY,CAAA;QACjD,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;IAC9B,CAAC;CACF;AALD,8CAKC"}
@@ -0,0 +1,4 @@
1
+ import { NlogsError } from './nlogs.error';
2
+ export declare class MsgNlogsError extends NlogsError {
3
+ readonly code = "MSG_NLOGS_ERR";
4
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MsgNlogsError = void 0;
4
+ const nlogs_error_1 = require("./nlogs.error");
5
+ class MsgNlogsError extends nlogs_error_1.NlogsError {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.code = 'MSG_NLOGS_ERR';
9
+ }
10
+ }
11
+ exports.MsgNlogsError = MsgNlogsError;
12
+ //# sourceMappingURL=msg.nlogs.error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"msg.nlogs.error.js","sourceRoot":"","sources":["../../src/errors/msg.nlogs.error.ts"],"names":[],"mappings":";;;AAAA,+CAA0C;AAE1C,MAAa,aAAc,SAAQ,wBAAU;IAA7C;;QACW,SAAI,GAAG,eAAe,CAAA;IACjC,CAAC;CAAA;AAFD,sCAEC"}
@@ -0,0 +1,14 @@
1
+ export declare abstract class NlogsError<C = unknown> extends Error {
2
+ abstract readonly code: string;
3
+ constructor(message: string, cause?: C);
4
+ get cause(): C;
5
+ get name(): string;
6
+ toString(): string;
7
+ toJSON(): {
8
+ name: string;
9
+ code: string;
10
+ message: string;
11
+ cause: C;
12
+ stack: string;
13
+ } & Omit<this, "stack" | "name" | "message" | "cause" | "code" | "toString" | "toJSON">;
14
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NlogsError = void 0;
4
+ class NlogsError extends Error {
5
+ constructor(message, cause) {
6
+ super(message, cause !== undefined ? { cause } : undefined);
7
+ }
8
+ get cause() {
9
+ return super.cause;
10
+ }
11
+ get name() {
12
+ return this.constructor.name;
13
+ }
14
+ toString() {
15
+ return `${this.name}: ${this.message}`;
16
+ }
17
+ toJSON() {
18
+ const { name, message, cause, code, stack, ...obj } = this;
19
+ return {
20
+ name,
21
+ code,
22
+ message,
23
+ cause,
24
+ stack,
25
+ ...obj,
26
+ };
27
+ }
28
+ }
29
+ exports.NlogsError = NlogsError;
30
+ //# sourceMappingURL=nlogs.error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nlogs.error.js","sourceRoot":"","sources":["../../src/errors/nlogs.error.ts"],"names":[],"mappings":";;;AAAA,MAAsB,UAAwB,SAAQ,KAAK;IAEzD,YAAY,OAAe,EAAE,KAAS;QACpC,KAAK,CAAC,OAAO,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAC7D,CAAC;IAED,IAAI,KAAK;QACP,OAAO,KAAK,CAAC,KAAU,CAAA;IACzB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;IAED,QAAQ;QACN,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,EAAE,CAAA;IACxC,CAAC;IAED,MAAM;QACJ,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAA;QAC1D,OAAO;YACL,IAAI;YACJ,IAAI;YACJ,OAAO;YACP,KAAK;YACL,KAAK;YACL,GAAG,GAAG;SACP,CAAA;IACH,CAAC;CACF;AA7BD,gCA6BC"}
@@ -0,0 +1,6 @@
1
+ import { NlogsError } from './nlogs.error';
2
+ export declare class ParamNlogsError extends NlogsError<string | string[]> {
3
+ readonly source: string;
4
+ readonly code = "PARAM_NLOGS_ERR";
5
+ constructor(source: string, params: string | string[]);
6
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ParamNlogsError = void 0;
4
+ const string_1 = require("../helpers/string");
5
+ const nlogs_error_1 = require("./nlogs.error");
6
+ class ParamNlogsError extends nlogs_error_1.NlogsError {
7
+ constructor(source, params) {
8
+ super(`Not valid parameter ${(0, string_1.prettyList)(params)} for ${(0, string_1.prettyValue)(source)}.`, params);
9
+ this.source = source;
10
+ this.code = 'PARAM_NLOGS_ERR';
11
+ }
12
+ }
13
+ exports.ParamNlogsError = ParamNlogsError;
14
+ //# sourceMappingURL=param.error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"param.error.js","sourceRoot":"","sources":["../../src/errors/param.error.ts"],"names":[],"mappings":";;;AAAA,8CAA2D;AAC3D,+CAA0C;AAE1C,MAAa,eAAgB,SAAQ,wBAA6B;IAGhE,YAAqB,MAAc,EAAE,MAAyB;QAC5D,KAAK,CAAC,uBAAuB,IAAA,mBAAU,EAAC,MAAM,CAAC,QAAQ,IAAA,oBAAW,EAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QADnE,WAAM,GAAN,MAAM,CAAQ;QAF1B,SAAI,GAAG,iBAAiB,CAAA;IAIjC,CAAC;CACF;AAND,0CAMC"}
@@ -0,0 +1,55 @@
1
+ export declare const codes: {
2
+ readonly reset: readonly [0, 0];
3
+ readonly bold: readonly [1, 22];
4
+ readonly dim: readonly [2, 22];
5
+ readonly italic: readonly [3, 23];
6
+ readonly underline: readonly [4, 24];
7
+ readonly inverse: readonly [7, 27];
8
+ readonly hidden: readonly [8, 28];
9
+ readonly strikethrough: readonly [9, 29];
10
+ readonly black: readonly [30, 39];
11
+ readonly red: readonly [31, 39];
12
+ readonly green: readonly [32, 39];
13
+ readonly yellow: readonly [33, 39];
14
+ readonly blue: readonly [34, 39];
15
+ readonly magenta: readonly [35, 39];
16
+ readonly cyan: readonly [36, 39];
17
+ readonly white: readonly [37, 39];
18
+ readonly gray: readonly [90, 39];
19
+ readonly grey: readonly [90, 39];
20
+ readonly brightRed: readonly [91, 39];
21
+ readonly brightGreen: readonly [92, 39];
22
+ readonly brightYellow: readonly [93, 39];
23
+ readonly brightBlue: readonly [94, 39];
24
+ readonly brightMagenta: readonly [95, 39];
25
+ readonly brightCyan: readonly [96, 39];
26
+ readonly brightWhite: readonly [97, 39];
27
+ readonly bgBlack: readonly [40, 49];
28
+ readonly bgRed: readonly [41, 49];
29
+ readonly bgGreen: readonly [42, 49];
30
+ readonly bgYellow: readonly [43, 49];
31
+ readonly bgBlue: readonly [44, 49];
32
+ readonly bgMagenta: readonly [45, 49];
33
+ readonly bgCyan: readonly [46, 49];
34
+ readonly bgWhite: readonly [47, 49];
35
+ readonly bgGray: readonly [100, 49];
36
+ readonly bgGrey: readonly [100, 49];
37
+ readonly bgBrightRed: readonly [101, 49];
38
+ readonly bgBrightGreen: readonly [102, 49];
39
+ readonly bgBrightYellow: readonly [103, 49];
40
+ readonly bgBrightBlue: readonly [104, 49];
41
+ readonly bgBrightMagenta: readonly [105, 49];
42
+ readonly bgBrightCyan: readonly [106, 49];
43
+ readonly bgBrightWhite: readonly [107, 49];
44
+ readonly blackBG: readonly [40, 49];
45
+ readonly redBG: readonly [41, 49];
46
+ readonly greenBG: readonly [42, 49];
47
+ readonly yellowBG: readonly [43, 49];
48
+ readonly blueBG: readonly [44, 49];
49
+ readonly magentaBG: readonly [45, 49];
50
+ readonly cyanBG: readonly [46, 49];
51
+ readonly whiteBG: readonly [47, 49];
52
+ };
53
+ type Color = keyof typeof codes;
54
+ export declare const injectColor: (value: string, colors: Color | Color[]) => any;
55
+ export {};
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.injectColor = exports.codes = void 0;
4
+ exports.codes = {
5
+ reset: [0, 0],
6
+ bold: [1, 22],
7
+ dim: [2, 22],
8
+ italic: [3, 23],
9
+ underline: [4, 24],
10
+ inverse: [7, 27],
11
+ hidden: [8, 28],
12
+ strikethrough: [9, 29],
13
+ black: [30, 39],
14
+ red: [31, 39],
15
+ green: [32, 39],
16
+ yellow: [33, 39],
17
+ blue: [34, 39],
18
+ magenta: [35, 39],
19
+ cyan: [36, 39],
20
+ white: [37, 39],
21
+ gray: [90, 39],
22
+ grey: [90, 39],
23
+ brightRed: [91, 39],
24
+ brightGreen: [92, 39],
25
+ brightYellow: [93, 39],
26
+ brightBlue: [94, 39],
27
+ brightMagenta: [95, 39],
28
+ brightCyan: [96, 39],
29
+ brightWhite: [97, 39],
30
+ bgBlack: [40, 49],
31
+ bgRed: [41, 49],
32
+ bgGreen: [42, 49],
33
+ bgYellow: [43, 49],
34
+ bgBlue: [44, 49],
35
+ bgMagenta: [45, 49],
36
+ bgCyan: [46, 49],
37
+ bgWhite: [47, 49],
38
+ bgGray: [100, 49],
39
+ bgGrey: [100, 49],
40
+ bgBrightRed: [101, 49],
41
+ bgBrightGreen: [102, 49],
42
+ bgBrightYellow: [103, 49],
43
+ bgBrightBlue: [104, 49],
44
+ bgBrightMagenta: [105, 49],
45
+ bgBrightCyan: [106, 49],
46
+ bgBrightWhite: [107, 49],
47
+ blackBG: [40, 49],
48
+ redBG: [41, 49],
49
+ greenBG: [42, 49],
50
+ yellowBG: [43, 49],
51
+ blueBG: [44, 49],
52
+ magentaBG: [45, 49],
53
+ cyanBG: [46, 49],
54
+ whiteBG: [47, 49],
55
+ };
56
+ const injectColor = (value, colors) => {
57
+ if (!Array.isArray(colors))
58
+ return (0, exports.injectColor)(value, [colors]);
59
+ let str = value;
60
+ for (const color of colors)
61
+ str = `\u001b[${exports.codes[color][0]}m${str}\u001b[${exports.codes[color][1]}m`;
62
+ return str;
63
+ };
64
+ exports.injectColor = injectColor;
65
+ //# sourceMappingURL=color.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color.js","sourceRoot":"","sources":["../../src/helpers/color.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import debug from 'debug';
2
+ export declare const createDebug: (label: string) => debug.Debugger;
@@ -0,0 +1,11 @@
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.createDebug = void 0;
7
+ const debug_1 = __importDefault(require("debug"));
8
+ const debugLog = (0, debug_1.default)('nlogs');
9
+ const createDebug = (label) => debugLog.extend(label);
10
+ exports.createDebug = createDebug;
11
+ //# sourceMappingURL=debug.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/helpers/debug.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAyB;AAEzB,MAAM,QAAQ,GAAG,IAAA,eAAK,EAAC,OAAO,CAAC,CAAA;AAExB,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAAvD,QAAA,WAAW,eAA4C"}
@@ -0,0 +1,6 @@
1
+ import { Stats } from 'fs';
2
+ export declare const HOME: string;
3
+ export declare const exists: (pathname: string) => null | Stats;
4
+ export declare const existsDir: (dirname: string) => boolean;
5
+ export declare const existsFile: (filename: string) => boolean;
6
+ export declare const searchFileRecursive: (from: string, filename: string) => string | null;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.searchFileRecursive = exports.existsFile = exports.existsDir = exports.exists = exports.HOME = void 0;
4
+ const fs_1 = require("fs");
5
+ const path_1 = require("path");
6
+ const fs_nlogs_error_1 = require("../errors/fs.nlogs.error");
7
+ const debug_1 = require("../helpers/debug");
8
+ const debug = (0, debug_1.createDebug)('fs');
9
+ exports.HOME = process.env.HOME || '/';
10
+ const exists = (pathname) => {
11
+ try {
12
+ return (0, fs_1.statSync)(pathname);
13
+ }
14
+ catch (err) {
15
+ if (err?.code === 'ENOENT')
16
+ return null;
17
+ throw err;
18
+ }
19
+ };
20
+ exports.exists = exists;
21
+ const existsDir = (dirname) => !!(0, exports.exists)(dirname)?.isDirectory();
22
+ exports.existsDir = existsDir;
23
+ const existsFile = (filename) => !!(0, exports.exists)(filename)?.isFile();
24
+ exports.existsFile = existsFile;
25
+ const searchFileRecursive = (from, filename) => {
26
+ if (!from || from === '/' || from === exports.HOME)
27
+ return null;
28
+ if (/^\.{1,2}\//.test(from))
29
+ throw new fs_nlogs_error_1.FsNlogsError('Incorrect pathname', from);
30
+ if (from.startsWith('~'))
31
+ return (0, exports.searchFileRecursive)(from.replace(/^~/, process.env.HOME), filename);
32
+ const ex = (0, exports.exists)(from);
33
+ const parentPath = (0, path_1.join)(from, '..');
34
+ const fullPath = (0, path_1.join)(from, filename);
35
+ debug(`Find file "${filename}" by path "${from}". parentPath="${parentPath}"; fullPath=${fullPath}`);
36
+ if (!ex?.isDirectory())
37
+ return (0, exports.searchFileRecursive)(parentPath, filename);
38
+ if ((0, exports.exists)(fullPath))
39
+ return fullPath;
40
+ return (0, exports.searchFileRecursive)(parentPath, filename);
41
+ };
42
+ exports.searchFileRecursive = searchFileRecursive;
43
+ //# sourceMappingURL=fs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/helpers/fs.ts"],"names":[],"mappings":";;;AAAA,2BAAoC;AACpC,+BAA2B;AAC3B,6DAAuD;AACvD,4CAA8C;AAE9C,MAAM,KAAK,GAAG,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAA;AAClB,QAAA,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAA;AAEpC,MAAM,MAAM,GAAG,CAAC,QAAgB,EAAgB,EAAE;IACvD,IAAI;QACF,OAAO,IAAA,aAAQ,EAAC,QAAQ,CAAC,CAAA;KAC1B;IAAC,OAAO,GAAG,EAAE;QACZ,IAAI,GAAG,EAAE,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAA;QACvC,MAAM,GAAG,CAAA;KACV;AACH,CAAC,CAAA;AAPY,QAAA,MAAM,UAOlB;AAEM,MAAM,SAAS,GAAG,CAAC,OAAe,EAAW,EAAE,CAAC,CAAC,CAAC,IAAA,cAAM,EAAC,OAAO,CAAC,EAAE,WAAW,EAAE,CAAA;AAA1E,QAAA,SAAS,aAAiE;AAEhF,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAW,EAAE,CAAC,CAAC,CAAC,IAAA,cAAM,EAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;AAAxE,QAAA,UAAU,cAA8D;AAE9E,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAE,QAAgB,EAAiB,EAAE;IACnF,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,YAAI;QAAE,OAAO,IAAI,CAAA;IACvD,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,6BAAY,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAA;IAC/E,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAA,2BAAmB,EAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAA;IACpG,MAAM,EAAE,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,CAAA;IACvB,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACnC,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACrC,KAAK,CAAC,cAAc,QAAQ,cAAc,IAAI,kBAAkB,UAAU,eAAe,QAAQ,EAAE,CAAC,CAAA;IACpG,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE;QAAE,OAAO,IAAA,2BAAmB,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IACxE,IAAI,IAAA,cAAM,EAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAA;IAErC,OAAO,IAAA,2BAAmB,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;AAClD,CAAC,CAAA;AAZY,QAAA,mBAAmB,uBAY/B"}
@@ -0,0 +1,5 @@
1
+ export declare const getStackTrace: (fn?: any) => string;
2
+ export declare const filterNotInternalStack: (stack: any[]) => string[];
3
+ export declare const stackToArray: (stack: string | string[]) => string[];
4
+ export declare const clearStackPath: (str: string) => string;
5
+ export declare const getTopStackFile: (fn?: any) => string | null;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTopStackFile = exports.clearStackPath = exports.stackToArray = exports.filterNotInternalStack = exports.getStackTrace = void 0;
4
+ const rgx = /(node:)?internal\//;
5
+ const getStackTrace = (fn) => {
6
+ const originalLimit = Error.stackTraceLimit;
7
+ const originalPrepare = Error.prepareStackTrace;
8
+ const handleObject = { stack: '' };
9
+ Error.stackTraceLimit = Infinity;
10
+ Error.prepareStackTrace = function (_err, _cs) {
11
+ return handleObject.stack;
12
+ };
13
+ Error.captureStackTrace(handleObject, fn || exports.getStackTrace);
14
+ const stack = handleObject.stack;
15
+ Error.stackTraceLimit = originalLimit;
16
+ Error.prepareStackTrace = originalPrepare;
17
+ return stack;
18
+ };
19
+ exports.getStackTrace = getStackTrace;
20
+ const filterNotInternalStack = (stack) => {
21
+ return stack
22
+ .map(s => `${s}`.trim())
23
+ .filter(s => s.startsWith('at') && !rgx.test(s))
24
+ .reduce((acc, cur) => {
25
+ if (cur === acc.last) {
26
+ acc.count++;
27
+ acc.stack[acc.stack.length - 1] = `${acc.last} (...x${acc.count})`;
28
+ }
29
+ else {
30
+ acc.stack.push(cur);
31
+ acc.count = 1;
32
+ }
33
+ acc.last = cur;
34
+ return acc;
35
+ }, { stack: [], last: '', count: 0 }).stack;
36
+ };
37
+ exports.filterNotInternalStack = filterNotInternalStack;
38
+ const stackToArray = (stack) => (Array.isArray(stack) ? stack : `${stack}`.split('\n'));
39
+ exports.stackToArray = stackToArray;
40
+ const clearStackPath = (str) => str
41
+ .replace(/^(.*)\((.*)\)/, '$2')
42
+ ?.replace(/([:0-9]+)$/, '')
43
+ ?.replace(/^at\s?/, '');
44
+ exports.clearStackPath = clearStackPath;
45
+ const getTopStackFile = (fn) => {
46
+ const stack = (0, exports.filterNotInternalStack)((0, exports.stackToArray)((0, exports.getStackTrace)(fn)));
47
+ if (!stack.length)
48
+ return null;
49
+ return (0, exports.clearStackPath)(stack[0]);
50
+ };
51
+ exports.getTopStackFile = getTopStackFile;
52
+ //# sourceMappingURL=stack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stack.js","sourceRoot":"","sources":["../../src/helpers/stack.ts"],"names":[],"mappings":";;;AAIA,MAAM,GAAG,GAAG,oBAAoB,CAAA;AAEzB,MAAM,aAAa,GAAG,CAAC,EAAQ,EAAE,EAAE;IACxC,MAAM,aAAa,GAAG,KAAK,CAAC,eAAe,CAAA;IAC3C,MAAM,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAA;IAC/C,MAAM,YAAY,GAAa,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;IAC5C,KAAK,CAAC,eAAe,GAAG,QAAQ,CAAA;IAChC,KAAK,CAAC,iBAAiB,GAAG,UAAU,IAAS,EAAE,GAAQ;QACrD,OAAO,YAAY,CAAC,KAAK,CAAA;IAC3B,CAAC,CAAA;IAED,KAAK,CAAC,iBAAiB,CAAC,YAAY,EAAE,EAAE,IAAI,qBAAa,CAAC,CAAA;IAC1D,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAA;IAChC,KAAK,CAAC,eAAe,GAAG,aAAa,CAAA;IACrC,KAAK,CAAC,iBAAiB,GAAG,eAAe,CAAA;IACzC,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAdY,QAAA,aAAa,iBAczB;AAEM,MAAM,sBAAsB,GAAG,CAAC,KAAY,EAAY,EAAE;IAC/D,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;SACvB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SAC/C,MAAM,CACL,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACX,IAAI,GAAG,KAAK,GAAG,CAAC,IAAI,EAAE;YACpB,GAAG,CAAC,KAAK,EAAE,CAAA;YACX,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,KAAK,GAAG,CAAA;SACnE;aAAM;YACL,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACnB,GAAG,CAAC,KAAK,GAAG,CAAC,CAAA;SACd;QACD,GAAG,CAAC,IAAI,GAAG,GAAG,CAAA;QACd,OAAO,GAAG,CAAA;IACZ,CAAC,EACD,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAClC,CAAC,KAAK,CAAA;AACX,CAAC,CAAA;AAlBY,QAAA,sBAAsB,0BAkBlC;AAEM,MAAM,YAAY,GAAG,CAAC,KAAwB,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;AAApG,QAAA,YAAY,gBAAwF;AAE1G,MAAM,cAAc,GAAG,CAAC,GAAW,EAAU,EAAE,CACpD,GAAG;KACA,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC;IAC/B,EAAE,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;IAC3B,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;AAJd,QAAA,cAAc,kBAIA;AAEpB,MAAM,eAAe,GAAG,CAAC,EAAQ,EAAiB,EAAE;IACzD,MAAM,KAAK,GAAG,IAAA,8BAAsB,EAAC,IAAA,oBAAY,EAAC,IAAA,qBAAa,EAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACrE,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IAC9B,OAAO,IAAA,sBAAc,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AACjC,CAAC,CAAA;AAJY,QAAA,eAAe,mBAI3B"}
@@ -0,0 +1,9 @@
1
+ export declare const uuid: () => `${string}-${string}-${string}-${string}-${string}`;
2
+ export declare const clearString: (base: string, ...patterns: (string | RegExp)[]) => string;
3
+ export declare const TRUE_VARIANTS: string[];
4
+ export declare const FALSE_VARIANTS: string[];
5
+ export declare const stringToBoolean: (str?: string | undefined, def?: boolean) => boolean;
6
+ export declare const toString: (value: any) => string;
7
+ export declare const prettyValue: (value: any, wrap?: boolean) => string;
8
+ export declare const prettyArray: (arr: any[], wrap?: boolean, wrapItem?: boolean) => string;
9
+ export declare const prettyList: (list: any | any[], wrap?: boolean, wrapItem?: boolean) => string;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.prettyList = exports.prettyArray = exports.prettyValue = exports.toString = exports.stringToBoolean = exports.FALSE_VARIANTS = exports.TRUE_VARIANTS = exports.clearString = exports.uuid = void 0;
4
+ const crypto_1 = require("crypto");
5
+ const uuid = () => (0, crypto_1.randomUUID)();
6
+ exports.uuid = uuid;
7
+ const clearString = (base, ...patterns) => {
8
+ let res = base;
9
+ for (const subs of patterns)
10
+ res = res.replace(subs, '');
11
+ return res;
12
+ };
13
+ exports.clearString = clearString;
14
+ exports.TRUE_VARIANTS = ['1', 'true', 'yes', 't', 'y'];
15
+ exports.FALSE_VARIANTS = ['0', 'false', 'no', 'f', 'n'];
16
+ const stringToBoolean = (str, def) => {
17
+ if (!str)
18
+ return !!def;
19
+ if (exports.TRUE_VARIANTS.includes(str.trim().toLowerCase()))
20
+ return true;
21
+ if (exports.FALSE_VARIANTS.includes(str.trim().toLowerCase()))
22
+ return false;
23
+ return !!def;
24
+ };
25
+ exports.stringToBoolean = stringToBoolean;
26
+ const toString = (value) => {
27
+ if (value instanceof Date)
28
+ return value.toJSON();
29
+ if (typeof value === 'string' ||
30
+ typeof value === 'symbol' ||
31
+ (value && typeof value === 'object' && 'toString' in value && typeof value.toString === 'function'))
32
+ return value.toString().trim();
33
+ return `${value}`.trim();
34
+ };
35
+ exports.toString = toString;
36
+ const prettyValue = (value, wrap) => {
37
+ const str = (0, exports.toString)(value);
38
+ const mw = /( |\s)/.test(str);
39
+ return mw || wrap ? `"${str}"` : str;
40
+ };
41
+ exports.prettyValue = prettyValue;
42
+ const prettyArray = (arr, wrap, wrapItem) => {
43
+ const list = arr.map(value => (0, exports.prettyValue)(value, wrapItem)).join(', ');
44
+ return wrap || arr.length ? `[${list}]` : list;
45
+ };
46
+ exports.prettyArray = prettyArray;
47
+ const prettyList = (list, wrap, wrapItem) => {
48
+ if (!Array.isArray(list))
49
+ return (0, exports.prettyValue)(list, wrapItem);
50
+ return (0, exports.prettyArray)(list, wrap, wrapItem);
51
+ };
52
+ exports.prettyList = prettyList;
53
+ //# sourceMappingURL=string.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.js","sourceRoot":"","sources":["../../src/helpers/string.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { MetaInfo } from './types';
2
+ export declare const IS_META: unique symbol;
3
+ export declare const IS_META_INFO: unique symbol;
4
+ export declare const META_VALUE: unique symbol;
5
+ export declare const TIME: unique symbol;
6
+ export declare const TIMERANGE: unique symbol;
7
+ export declare const HIGHLIGHT: unique symbol;
8
+ export declare const STACKTRACE: unique symbol;
9
+ export declare const MODULE: unique symbol;
10
+ export declare const PROJECT: unique symbol;
11
+ export declare const SERVICE: unique symbol;
12
+ export declare const CATEGORY: unique symbol;
13
+ export declare const LEVEL: unique symbol;
14
+ export declare const TRACE_ID: unique symbol;
15
+ export declare const INDEX: unique symbol;
16
+ export declare const TIMESTAMP: unique symbol;
17
+ export declare const DETAILS: unique symbol;
18
+ export declare const NO_CONSOLE: unique symbol;
19
+ export declare const HIDDEN_DETAILS: unique symbol;
20
+ export declare const DEPTH: unique symbol;
21
+ export declare const SHOW: unique symbol;
22
+ export declare const INTERPOLATE: unique symbol;
23
+ export declare const EMPTY: unique symbol;
24
+ export declare const toMetaInfo: (name: symbol, value: any) => MetaInfo;
25
+ export declare const isMetaInfo: (info: any) => info is MetaInfo;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isMetaInfo = exports.toMetaInfo = exports.EMPTY = exports.INTERPOLATE = exports.SHOW = exports.DEPTH = exports.HIDDEN_DETAILS = exports.NO_CONSOLE = exports.DETAILS = exports.TIMESTAMP = exports.INDEX = exports.TRACE_ID = exports.LEVEL = exports.CATEGORY = exports.SERVICE = exports.PROJECT = exports.MODULE = exports.STACKTRACE = exports.HIGHLIGHT = exports.TIMERANGE = exports.TIME = exports.META_VALUE = exports.IS_META_INFO = exports.IS_META = void 0;
4
+ exports.IS_META = Symbol('nlogs(is meta)');
5
+ exports.IS_META_INFO = Symbol('nlogs(is meta info)');
6
+ exports.META_VALUE = Symbol('nlogs(meta value)');
7
+ exports.TIME = Symbol('nlogs(message:time)');
8
+ exports.TIMERANGE = Symbol('nlogs(time range)');
9
+ exports.HIGHLIGHT = Symbol('nlogs(message:highlight)');
10
+ exports.STACKTRACE = Symbol('nlogs(message:stacktrace)');
11
+ exports.MODULE = Symbol('nlogs(meta:module)');
12
+ exports.PROJECT = Symbol('nlogs(meta:project)');
13
+ exports.SERVICE = Symbol('nlogs(meta:service)');
14
+ exports.CATEGORY = Symbol('nlogs(meta:category)');
15
+ exports.LEVEL = Symbol('nlogs(meta:level)');
16
+ exports.TRACE_ID = Symbol('nlogs(meta:traceId)');
17
+ exports.INDEX = Symbol('nlogs(meta:index)');
18
+ exports.TIMESTAMP = Symbol('nlogs(meta:timestamp)');
19
+ exports.DETAILS = Symbol('nlogs(details)');
20
+ exports.NO_CONSOLE = Symbol('nlogs(no console)');
21
+ exports.HIDDEN_DETAILS = Symbol('nlogs(no console)');
22
+ exports.DEPTH = Symbol('nlogs(depth)');
23
+ exports.SHOW = Symbol('nlogs(show)');
24
+ exports.INTERPOLATE = Symbol('nlogs(interpolate)');
25
+ exports.EMPTY = Symbol('nlogs(empty)');
26
+ const toMetaInfo = (name, value) => ({ [exports.IS_META_INFO]: name, [exports.META_VALUE]: value });
27
+ exports.toMetaInfo = toMetaInfo;
28
+ const isMetaInfo = (info) => {
29
+ return info && typeof info === 'object' && info[exports.IS_META_INFO];
30
+ };
31
+ exports.isMetaInfo = isMetaInfo;
32
+ //# sourceMappingURL=symbols.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbols.js","sourceRoot":"","sources":["../../src/helpers/symbols.ts"],"names":[],"mappings":";;;AAEa,QAAA,OAAO,GAAkB,MAAM,CAAC,gBAAgB,CAAC,CAAA;AACjD,QAAA,YAAY,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAA;AAC5C,QAAA,UAAU,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAA;AAGxC,QAAA,IAAI,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAA;AACpC,QAAA,SAAS,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAA;AACvC,QAAA,SAAS,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAA;AAC9C,QAAA,UAAU,GAAG,MAAM,CAAC,2BAA2B,CAAC,CAAA;AAGhD,QAAA,MAAM,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAA;AACrC,QAAA,OAAO,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAA;AACvC,QAAA,OAAO,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAA;AACvC,QAAA,QAAQ,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAA;AACzC,QAAA,KAAK,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAA;AACnC,QAAA,QAAQ,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAA;AACxC,QAAA,KAAK,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAA;AACnC,QAAA,SAAS,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAA;AAG3C,QAAA,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAA;AAClC,QAAA,UAAU,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAA;AACxC,QAAA,cAAc,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAA;AAE5C,QAAA,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,CAAA;AAC9B,QAAA,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,CAAA;AAC5B,QAAA,WAAW,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAA;AAC1C,QAAA,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,CAAA;AAEpC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,KAAU,EAAY,EAAE,CAAC,CAAC,EAAE,CAAC,oBAAY,CAAC,EAAE,IAAI,EAAE,CAAC,kBAAU,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;AAApG,QAAA,UAAU,cAA0F;AAE1G,MAAM,UAAU,GAAG,CAAC,IAAS,EAAoB,EAAE;IACxD,OAAO,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,oBAAY,CAAC,CAAA;AAC/D,CAAC,CAAA;AAFY,QAAA,UAAU,cAEtB"}
@@ -0,0 +1,4 @@
1
+ export type Template<T = any> = [a: TemplateStringsArray, ...b: T[]];
2
+ export declare const interleave: (strings: readonly string[], interpolations: any[]) => any[];
3
+ export declare const transformTemplate: ([tmp, ...args]: Template<any>) => any[];
4
+ export declare const maybeTemplate: (data: any[]) => any[];
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.maybeTemplate = exports.transformTemplate = exports.interleave = void 0;
4
+ const symbols_1 = require("./symbols");
5
+ const showMetaInfo = [symbols_1.INTERPOLATE, symbols_1.TIMERANGE, symbols_1.TIME, symbols_1.HIGHLIGHT];
6
+ const isMeta = (val) => (0, symbols_1.isMetaInfo)(val) && !showMetaInfo.includes(val[symbols_1.IS_META_INFO]);
7
+ const isTemplateStringsArray = (arr) => arr && Array.isArray(arr) && 'raw' in arr && Array.isArray(arr.raw) && Object.isFrozen(arr);
8
+ const isTemplate = (args) => args && Array.isArray(args) && isTemplateStringsArray(args[0]) && args[0].length === args.length;
9
+ const interleave = (strings, interpolations) => {
10
+ const result = [strings[0]];
11
+ for (let i = 0, len = interpolations.length; i < len; i += 1) {
12
+ result.push(interpolations[i], strings[i + 1]);
13
+ }
14
+ return result;
15
+ };
16
+ exports.interleave = interleave;
17
+ const transformTemplate = ([tmp, ...args]) => {
18
+ const arr = (0, exports.interleave)(tmp, args);
19
+ const { messages, meta } = arr.reduce((acc, cur, idx) => {
20
+ if (idx === arr.length - 1 && typeof cur === 'string') {
21
+ const lastStr = cur.replace(/[\s\n]+$/, '');
22
+ if (lastStr)
23
+ acc.messages.push(lastStr);
24
+ return acc;
25
+ }
26
+ if (!idx && typeof cur === 'string') {
27
+ acc.messages.push(cur.replace(/^([\s]+)?\n(\s+)?/, ''));
28
+ return acc;
29
+ }
30
+ if (!isMeta(cur)) {
31
+ acc.messages.push(cur);
32
+ return acc;
33
+ }
34
+ acc.meta.push(cur);
35
+ const prevIdx = acc.messages.length - 1;
36
+ const nextIdx = idx + 1;
37
+ if (prevIdx >= 0 && typeof acc.messages[prevIdx] === 'string') {
38
+ acc.messages[prevIdx] = acc.messages[prevIdx].replace(/ +$/, '');
39
+ }
40
+ if (nextIdx < arr.length && typeof arr[nextIdx] === 'string') {
41
+ arr[nextIdx] = arr[nextIdx].replace(/^\n/, '');
42
+ }
43
+ return acc;
44
+ }, { messages: [], meta: [] });
45
+ if (messages.length && typeof messages[messages.length - 1] === 'string' && !messages[messages.length - 1])
46
+ messages.pop();
47
+ if (messages.length && typeof messages[messages.length - 1] === 'string' && messages[messages.length - 1].endsWith('\n'))
48
+ messages[messages.length - 1] = messages[messages.length - 1].replace(/[\n\s]+$/, '');
49
+ return [...messages, ...meta];
50
+ };
51
+ exports.transformTemplate = transformTemplate;
52
+ const maybeTemplate = (data) => {
53
+ if (isTemplate(data))
54
+ return (0, exports.transformTemplate)(data);
55
+ return data;
56
+ };
57
+ exports.maybeTemplate = maybeTemplate;
58
+ //# sourceMappingURL=template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/helpers/template.ts"],"names":[],"mappings":"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"}