@leyyo/common 1.3.5 → 1.3.7

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 (228) hide show
  1. package/dist/base/index.d.ts +3 -0
  2. package/dist/base/index.js +20 -0
  3. package/dist/base/index.js.map +1 -0
  4. package/dist/base/index.types.d.ts +196 -0
  5. package/dist/{type/index.js → base/index.types.js} +2 -3
  6. package/dist/base/index.types.js.map +1 -0
  7. package/dist/base/leyyo.d.ts +5 -0
  8. package/dist/base/leyyo.js +85 -0
  9. package/dist/base/leyyo.js.map +1 -0
  10. package/dist/base/leyyo.types.d.ts +18 -0
  11. package/dist/base/leyyo.types.js +3 -0
  12. package/dist/base/leyyo.types.js.map +1 -0
  13. package/dist/class/index.d.ts +1 -1
  14. package/dist/class/index.js +1 -1
  15. package/dist/class/index.js.map +1 -1
  16. package/dist/class/index.types.d.ts +30 -0
  17. package/dist/class/index.types.js +3 -0
  18. package/dist/class/index.types.js.map +1 -0
  19. package/dist/class/list.d.ts +1 -1
  20. package/dist/class/logger.instance.d.ts +14 -10
  21. package/dist/class/logger.instance.js +34 -72
  22. package/dist/class/logger.instance.js.map +1 -1
  23. package/dist/common/deploy.common.d.ts +26 -0
  24. package/dist/common/deploy.common.js +74 -0
  25. package/dist/common/deploy.common.js.map +1 -0
  26. package/dist/common/enum.pool.d.ts +23 -0
  27. package/dist/common/enum.pool.js +100 -0
  28. package/dist/common/enum.pool.js.map +1 -0
  29. package/dist/common/error.common.d.ts +48 -0
  30. package/dist/common/error.common.js +328 -0
  31. package/dist/common/error.common.js.map +1 -0
  32. package/dist/common/error.pool.d.ts +20 -0
  33. package/dist/common/error.pool.js +54 -0
  34. package/dist/common/error.pool.js.map +1 -0
  35. package/dist/common/event.common.d.ts +24 -0
  36. package/dist/common/event.common.js +135 -0
  37. package/dist/common/event.common.js.map +1 -0
  38. package/dist/common/index.d.ts +11 -17
  39. package/dist/common/index.js +11 -17
  40. package/dist/common/index.js.map +1 -1
  41. package/dist/common/index.types.d.ts +561 -0
  42. package/dist/common/index.types.js +4 -0
  43. package/dist/common/index.types.js.map +1 -0
  44. package/dist/common/inert.d.ts +74 -0
  45. package/dist/common/inert.js +302 -0
  46. package/dist/common/inert.js.map +1 -0
  47. package/dist/common/lifecycle.common.d.ts +26 -0
  48. package/dist/common/lifecycle.common.js +124 -0
  49. package/dist/common/lifecycle.common.js.map +1 -0
  50. package/dist/common/literal.pool.d.ts +23 -0
  51. package/dist/common/literal.pool.js +100 -0
  52. package/dist/common/literal.pool.js.map +1 -0
  53. package/dist/common/log.common.d.ts +81 -0
  54. package/dist/common/log.common.js +375 -0
  55. package/dist/common/log.common.js.map +1 -0
  56. package/dist/common/repo.common.d.ts +225 -0
  57. package/dist/common/repo.common.js +474 -0
  58. package/dist/common/repo.common.js.map +1 -0
  59. package/dist/const/index.d.ts +24 -19
  60. package/dist/const/index.js +25 -20
  61. package/dist/const/index.js.map +1 -1
  62. package/dist/error/caused.error.d.ts +1 -1
  63. package/dist/error/developer.error.d.ts +7 -7
  64. package/dist/error/developer.error.js +11 -29
  65. package/dist/error/developer.error.js.map +1 -1
  66. package/dist/error/http.error.d.ts +1 -1
  67. package/dist/error/http.error.js +3 -3
  68. package/dist/error/http.error.js.map +1 -1
  69. package/dist/error/index.d.ts +1 -0
  70. package/dist/error/index.js +1 -0
  71. package/dist/error/index.js.map +1 -1
  72. package/dist/error/index.types.d.ts +195 -0
  73. package/dist/error/index.types.js +3 -0
  74. package/dist/error/index.types.js.map +1 -0
  75. package/dist/error/invalid-value.error.js +1 -1
  76. package/dist/error/invalid-value.error.js.map +1 -1
  77. package/dist/error/leyyo.error.d.ts +9 -5
  78. package/dist/error/leyyo.error.js +37 -32
  79. package/dist/error/leyyo.error.js.map +1 -1
  80. package/dist/error/multiple.error.d.ts +1 -1
  81. package/dist/error/multiple.error.js.map +1 -1
  82. package/dist/function/define-loader.d.ts +8 -0
  83. package/dist/function/define-loader.js +23 -0
  84. package/dist/function/define-loader.js.map +1 -0
  85. package/dist/function/delete-prop.d.ts +24 -0
  86. package/dist/function/delete-prop.js +76 -0
  87. package/dist/function/delete-prop.js.map +1 -0
  88. package/dist/function/empty.fn.d.ts +1 -2
  89. package/dist/function/empty.fn.js.map +1 -1
  90. package/dist/function/extended-type.d.ts +1 -1
  91. package/dist/function/extended-type.js +8 -5
  92. package/dist/function/extended-type.js.map +1 -1
  93. package/dist/function/get-fqn.d.ts +8 -0
  94. package/dist/function/get-fqn.js +33 -0
  95. package/dist/function/get-fqn.js.map +1 -0
  96. package/dist/function/get-prop.d.ts +24 -0
  97. package/dist/function/get-prop.js +63 -0
  98. package/dist/function/get-prop.js.map +1 -0
  99. package/dist/function/has-fqn.d.ts +8 -0
  100. package/dist/function/has-fqn.js +32 -0
  101. package/dist/function/has-fqn.js.map +1 -0
  102. package/dist/function/index.d.ts +21 -3
  103. package/dist/function/index.js +21 -3
  104. package/dist/function/index.js.map +1 -1
  105. package/dist/function/index.types.d.ts +35 -0
  106. package/dist/function/index.types.js +4 -0
  107. package/dist/function/index.types.js.map +1 -0
  108. package/dist/function/is-anonymous-name.d.ts +1 -0
  109. package/dist/function/is-anonymous-name.js +11 -0
  110. package/dist/function/is-anonymous-name.js.map +1 -0
  111. package/dist/function/is-test.d.ts +10 -0
  112. package/dist/function/is-test.js +37 -0
  113. package/dist/function/is-test.js.map +1 -0
  114. package/dist/function/{is.js → is.fn.js} +1 -1
  115. package/dist/function/is.fn.js.map +1 -0
  116. package/dist/function/leyyo-fn.d.ts +3 -0
  117. package/dist/function/leyyo-fn.js +14 -0
  118. package/dist/function/leyyo-fn.js.map +1 -0
  119. package/dist/function/on-fqn-set.d.ts +2 -0
  120. package/dist/function/on-fqn-set.js +40 -0
  121. package/dist/function/on-fqn-set.js.map +1 -0
  122. package/dist/function/one-or-more.d.ts +1 -1
  123. package/dist/{common → function}/opt.fn.d.ts +2 -1
  124. package/dist/{common → function}/opt.fn.js +15 -10
  125. package/dist/function/opt.fn.js.map +1 -0
  126. package/dist/function/random-test-no.d.ts +6 -0
  127. package/dist/function/random-test-no.js +12 -0
  128. package/dist/function/random-test-no.js.map +1 -0
  129. package/dist/function/remove-fqn.d.ts +10 -0
  130. package/dist/function/remove-fqn.js +44 -0
  131. package/dist/function/remove-fqn.js.map +1 -0
  132. package/dist/{common/exporter.fn.d.ts → function/run-exporter.d.ts} +1 -1
  133. package/dist/{common/exporter.fn.js → function/run-exporter.js} +7 -3
  134. package/dist/function/run-exporter.js.map +1 -0
  135. package/dist/function/secure-clone.d.ts +1 -1
  136. package/dist/function/set-anonymous-fqn.d.ts +2 -0
  137. package/dist/function/set-anonymous-fqn.js +44 -0
  138. package/dist/function/set-anonymous-fqn.js.map +1 -0
  139. package/dist/function/set-anonymous-name.d.ts +2 -0
  140. package/dist/function/set-anonymous-name.js +66 -0
  141. package/dist/function/set-anonymous-name.js.map +1 -0
  142. package/dist/function/set-fqn.d.ts +9 -0
  143. package/dist/function/set-fqn.js +69 -0
  144. package/dist/function/set-fqn.js.map +1 -0
  145. package/dist/function/set-prop.d.ts +27 -0
  146. package/dist/function/set-prop.js +71 -0
  147. package/dist/function/set-prop.js.map +1 -0
  148. package/dist/function/stamp-loader.d.ts +8 -0
  149. package/dist/function/stamp-loader.js +18 -0
  150. package/dist/function/stamp-loader.js.map +1 -0
  151. package/dist/function/test-case.d.ts +8 -0
  152. package/dist/function/test-case.js +27 -0
  153. package/dist/function/test-case.js.map +1 -0
  154. package/dist/function/test-name.d.ts +8 -0
  155. package/dist/function/test-name.js +18 -0
  156. package/dist/function/test-name.js.map +1 -0
  157. package/dist/function/trigger-fqn.d.ts +2 -0
  158. package/dist/function/trigger-fqn.js +25 -0
  159. package/dist/function/trigger-fqn.js.map +1 -0
  160. package/dist/index.d.ts +12 -2
  161. package/dist/index.foretell.js +8 -8
  162. package/dist/index.foretell.js.map +1 -1
  163. package/dist/index.js +15 -3
  164. package/dist/index.js.map +1 -1
  165. package/dist/index.loader.d.ts +1 -1
  166. package/dist/index.loader.js +3 -3
  167. package/dist/index.loader.js.map +1 -1
  168. package/dist/init/index.d.ts +1 -1
  169. package/dist/init/index.js +4 -3
  170. package/dist/init/index.js.map +1 -1
  171. package/package.json +2 -1
  172. package/dist/common/array.fn.d.ts +0 -46
  173. package/dist/common/array.fn.js +0 -131
  174. package/dist/common/array.fn.js.map +0 -1
  175. package/dist/common/deploy.fn.d.ts +0 -18
  176. package/dist/common/deploy.fn.js +0 -74
  177. package/dist/common/deploy.fn.js.map +0 -1
  178. package/dist/common/enum.fn.d.ts +0 -48
  179. package/dist/common/enum.fn.js +0 -133
  180. package/dist/common/enum.fn.js.map +0 -1
  181. package/dist/common/error.fn.d.ts +0 -100
  182. package/dist/common/error.fn.js +0 -401
  183. package/dist/common/error.fn.js.map +0 -1
  184. package/dist/common/event.fn.d.ts +0 -45
  185. package/dist/common/event.fn.js +0 -161
  186. package/dist/common/event.fn.js.map +0 -1
  187. package/dist/common/exporter.fn.js.map +0 -1
  188. package/dist/common/fqn.fn.d.ts +0 -31
  189. package/dist/common/fqn.fn.js +0 -197
  190. package/dist/common/fqn.fn.js.map +0 -1
  191. package/dist/common/inert.fn.d.ts +0 -69
  192. package/dist/common/inert.fn.js +0 -368
  193. package/dist/common/inert.fn.js.map +0 -1
  194. package/dist/common/lifecycle.fn.d.ts +0 -24
  195. package/dist/common/lifecycle.fn.js +0 -136
  196. package/dist/common/lifecycle.fn.js.map +0 -1
  197. package/dist/common/list.fn.d.ts +0 -47
  198. package/dist/common/list.fn.js +0 -132
  199. package/dist/common/list.fn.js.map +0 -1
  200. package/dist/common/loader.fn.d.ts +0 -15
  201. package/dist/common/loader.fn.js +0 -38
  202. package/dist/common/loader.fn.js.map +0 -1
  203. package/dist/common/log.fn.d.ts +0 -42
  204. package/dist/common/log.fn.js +0 -333
  205. package/dist/common/log.fn.js.map +0 -1
  206. package/dist/common/map.fn.d.ts +0 -46
  207. package/dist/common/map.fn.js +0 -131
  208. package/dist/common/map.fn.js.map +0 -1
  209. package/dist/common/name.fn.d.ts +0 -5
  210. package/dist/common/name.fn.js +0 -69
  211. package/dist/common/name.fn.js.map +0 -1
  212. package/dist/common/opt.fn.js.map +0 -1
  213. package/dist/common/set.fn.d.ts +0 -46
  214. package/dist/common/set.fn.js +0 -131
  215. package/dist/common/set.fn.js.map +0 -1
  216. package/dist/common/test.fn.d.ts +0 -26
  217. package/dist/common/test.fn.js +0 -81
  218. package/dist/common/test.fn.js.map +0 -1
  219. package/dist/function/error-obj.d.ts +0 -8
  220. package/dist/function/error-obj.js +0 -25
  221. package/dist/function/error-obj.js.map +0 -1
  222. package/dist/function/error-text.d.ts +0 -10
  223. package/dist/function/error-text.js +0 -43
  224. package/dist/function/error-text.js.map +0 -1
  225. package/dist/function/is.js.map +0 -1
  226. package/dist/type/index.d.ts +0 -551
  227. package/dist/type/index.js.map +0 -1
  228. /package/dist/function/{is.d.ts → is.fn.d.ts} +0 -0
@@ -0,0 +1,81 @@
1
+ import { ClassLike, Fnc, LeyyoLike, Obj } from "../base";
2
+ import { LogLevel } from "../enum";
3
+ import { Opt } from "../function";
4
+ import { ContextFinderLambda, LogCommonLike, LogFormatterLambda, Logger, LogStylerLambda } from "./index.types";
5
+ export declare class LogCommon implements LogCommonLike {
6
+ private leyyo;
7
+ /**
8
+ * Loggers
9
+ * */
10
+ private _loggers;
11
+ /**
12
+ * Local console colors
13
+ *
14
+ * @type {LocalColorLike}
15
+ * */
16
+ private _localColor;
17
+ private _logFormatter;
18
+ private _logDeploymentStyler;
19
+ private _logLocalStyler;
20
+ private _logStyler;
21
+ private _contextFinder;
22
+ constructor(leyyo: LeyyoLike);
23
+ /**
24
+ * Set formatter
25
+ *
26
+ * @param {function} fn - lambda for formatter
27
+ * */
28
+ setLogFormatter(fn: LogFormatterLambda): void;
29
+ /**
30
+ * Set deployment styler
31
+ *
32
+ * @param {function} fn - lambda for styler
33
+ * */
34
+ setLogDeploymentStyler(fn: LogStylerLambda): void;
35
+ /**
36
+ * Set local style
37
+ *
38
+ * @param {function} fn - lambda for styler
39
+ * */
40
+ setLogLocalStyler(fn: LogStylerLambda): void;
41
+ /**
42
+ * Set local style
43
+ *
44
+ * @param {function} fn - lambda for styler
45
+ * */
46
+ setContextFinder(fn: ContextFinderLambda): void;
47
+ private _defaults;
48
+ /**
49
+ * Build short style of logger name
50
+ *
51
+ * @param {string} where - original logger name
52
+ * @param {string} - short style
53
+ * */
54
+ private _shortenWhere;
55
+ /**
56
+ * Log consumer
57
+ *
58
+ * @param {LogItem} item
59
+ * */
60
+ private _consumeLog;
61
+ /**
62
+ * Generate random logger name
63
+ *
64
+ * @return {string}
65
+ * */
66
+ private _randomLoggerName;
67
+ /**
68
+ * Check logger name's uniqueness, and loop till unique name
69
+ *
70
+ * @param {string} name - base name
71
+ * @param {number} index - try count
72
+ * @return {string}
73
+ * */
74
+ private _checkLoggerName;
75
+ /** @inheritDoc */
76
+ of(value: ClassLike | Fnc | Obj | string): Logger;
77
+ /** @inheritDoc */
78
+ initConsume(): void;
79
+ /** @inheritDoc */
80
+ emitLog(level: LogLevel, where: string, message: any, params?: any | Opt): void;
81
+ }
@@ -0,0 +1,375 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LogCommon = void 0;
4
+ const internal_1 = require("../internal");
5
+ const function_1 = require("../function");
6
+ const const_1 = require("../const");
7
+ const where = `${internal_1.FQN}.LogCommon`;
8
+ const emptyWhere = ''.padStart(20);
9
+ // noinspection JSUnusedGlobalSymbols
10
+ class LogCommon {
11
+ // endregion properties
12
+ constructor(leyyo) {
13
+ this.leyyo = leyyo;
14
+ /**
15
+ * Local console colors
16
+ *
17
+ * @type {LocalColorLike}
18
+ * */
19
+ this._localColor = {
20
+ bold: '\x1b[1m',
21
+ normal: '\x1b[21m',
22
+ end: '\x1b[0m',
23
+ param: '\x1b[90m',
24
+ levels: {
25
+ fatal: [true, '\x1b[31m', '\x1b[91m'], // bold red
26
+ error: [false, '\x1b[31m', '\x1b[91m'], // red
27
+ warn: [false, '\x1b[35m', '\x1b[95m'], // magenta
28
+ info: [false, '\x1b[32m', '\x1b[92m'], // green
29
+ debug: [false, '\x1b[33m', '\x1b[93m'], // yellow
30
+ trace: [false, '\x1b[36m', '\x1b[96m'], // yellow
31
+ }
32
+ };
33
+ this._loggers = this.leyyo.repoCommon.newMap(`${where}.loggers`);
34
+ this._defaults();
35
+ }
36
+ // region setters
37
+ /**
38
+ * Set formatter
39
+ *
40
+ * @param {function} fn - lambda for formatter
41
+ * */
42
+ setLogFormatter(fn) {
43
+ if (typeof fn !== 'function') {
44
+ throw new this.leyyo.developerError('Invalid log formatter', (0, function_1.testCase)(internal_1.FQN, 200), where);
45
+ }
46
+ this._logFormatter = fn;
47
+ }
48
+ /**
49
+ * Set deployment styler
50
+ *
51
+ * @param {function} fn - lambda for styler
52
+ * */
53
+ setLogDeploymentStyler(fn) {
54
+ if (typeof fn !== 'function') {
55
+ throw new this.leyyo.developerError('Invalid log styler', (0, function_1.testCase)(internal_1.FQN, 201), where);
56
+ }
57
+ this._logDeploymentStyler = fn;
58
+ if (process.env['NODE_ENV'] !== 'local') {
59
+ this._logStyler = this._logDeploymentStyler;
60
+ }
61
+ }
62
+ /**
63
+ * Set local style
64
+ *
65
+ * @param {function} fn - lambda for styler
66
+ * */
67
+ setLogLocalStyler(fn) {
68
+ if (typeof fn !== 'function') {
69
+ throw new this.leyyo.developerError('Invalid log local styler', (0, function_1.testCase)(internal_1.FQN, 202), where);
70
+ }
71
+ this._logLocalStyler = fn;
72
+ if (process.env['NODE_ENV'] === 'local') {
73
+ this._logStyler = this._logLocalStyler;
74
+ }
75
+ }
76
+ /**
77
+ * Set local style
78
+ *
79
+ * @param {function} fn - lambda for styler
80
+ * */
81
+ setContextFinder(fn) {
82
+ if (typeof fn !== 'function') {
83
+ throw new this.leyyo.developerError('Invalid log local styler', (0, function_1.testCase)(internal_1.FQN, 202), where);
84
+ }
85
+ this._contextFinder = fn;
86
+ }
87
+ // endregion setters
88
+ // region private
89
+ _defaults() {
90
+ /**
91
+ * Default log formatter
92
+ *
93
+ * @param {LogItem} item
94
+ * */
95
+ this._logFormatter = (item) => {
96
+ var _a, _b;
97
+ if (item === null || item === void 0 ? void 0 : item.ctx) {
98
+ const ctx = item.ctx;
99
+ item.ctx = {
100
+ tid: ctx === null || ctx === void 0 ? void 0 : ctx.id,
101
+ cid: ((_a = ctx === null || ctx === void 0 ? void 0 : ctx.req) === null || _a === void 0 ? void 0 : _a.headers) ? (_b = ctx === null || ctx === void 0 ? void 0 : ctx.req) === null || _b === void 0 ? void 0 : _b.headers["correlation-id"] : undefined,
102
+ };
103
+ }
104
+ item.paramStr = item.params ? (0, function_1.secureJson)(item.params) : undefined;
105
+ delete item.params;
106
+ if (item.paramStr && ['{}', '[]'].includes(item.paramStr)) {
107
+ delete item.paramStr;
108
+ }
109
+ };
110
+ /**
111
+ * Default log deployment styler (on server)
112
+ *
113
+ * @param {LogItem} item
114
+ * @return {string}
115
+ * */
116
+ this._logDeploymentStyler = (item) => {
117
+ let message = item.now;
118
+ if (item === null || item === void 0 ? void 0 : item.ctx) {
119
+ if (item.ctx['pid']) {
120
+ message += ` [p:${item.ctx['pid']}]`;
121
+ }
122
+ else {
123
+ message += ` [p:]`;
124
+ }
125
+ if (item.ctx['tid']) {
126
+ message += ` [t:${item.ctx['tid']}]`;
127
+ }
128
+ else {
129
+ message += ` [t:]`;
130
+ }
131
+ if (item.ctx['cid']) {
132
+ message += ` [c:${item.ctx['cid']}]`;
133
+ }
134
+ else {
135
+ message += ` [c:]`;
136
+ }
137
+ }
138
+ if (item.where) {
139
+ message += ` [w:${item.where}]`;
140
+ }
141
+ else {
142
+ message += ` [w:]`;
143
+ }
144
+ message += ' ' + item.message;
145
+ return message + (item.paramStr ? ' ~^~ ' + item.paramStr : '');
146
+ };
147
+ /**
148
+ * Default log locale styler (on local computer)
149
+ *
150
+ * @param {LogItem} item
151
+ * @return {string}
152
+ * */
153
+ this._logLocalStyler = (item) => {
154
+ var _a;
155
+ const { bold, end, param } = this._localColor;
156
+ const [isBold, regular, light] = (_a = this._localColor.levels[item.level]) !== null && _a !== void 0 ? _a : this._localColor.levels.debug;
157
+ let message = item.now.substring(10, 11) + ` ${param}[p:${process.pid}]${end}`;
158
+ if (item === null || item === void 0 ? void 0 : item.ctx) {
159
+ if (item.ctx['tid']) {
160
+ message += ` ${regular}[t:${item.ctx['tid']}]`;
161
+ }
162
+ else {
163
+ message += ` ${param}[t:]`;
164
+ }
165
+ if (item.ctx['cid']) {
166
+ message += ` ${light}[c:${item.ctx['cid']}]`;
167
+ }
168
+ else {
169
+ message += ` ${param}[c:]`;
170
+ }
171
+ }
172
+ if (item.where) {
173
+ message += ` ${regular}[${item.where}]`;
174
+ }
175
+ else {
176
+ message += ` ${param}[${emptyWhere}]`;
177
+ }
178
+ message += ` ${isBold ? bold : ''}${light}${item.message}${end}`;
179
+ return message + (item.paramStr ? ` ~^~ ${param}${item.paramStr}${end}` : '');
180
+ };
181
+ /**
182
+ * Set current styler by environment
183
+ * */
184
+ if (process.env['NODE_ENV'] === 'local') {
185
+ this._logStyler = this._logLocalStyler;
186
+ }
187
+ else {
188
+ this._logStyler = this._logDeploymentStyler;
189
+ }
190
+ }
191
+ /**
192
+ * Build short style of logger name
193
+ *
194
+ * @param {string} where - original logger name
195
+ * @param {string} - short style
196
+ * */
197
+ _shortenWhere(where) {
198
+ if (!where) {
199
+ return undefined;
200
+ }
201
+ if (!where.includes('.')) {
202
+ return where;
203
+ }
204
+ const parts = where.split('.');
205
+ where = parts.pop();
206
+ if (parts.length > 0) {
207
+ where = parts.map(w => w.slice(0, 1)).join('.') + '.' + where;
208
+ }
209
+ return where;
210
+ }
211
+ /**
212
+ * Log consumer
213
+ *
214
+ * @param {LogItem} item
215
+ * */
216
+ _consumeLog(item) {
217
+ if (!(0, function_1.isObj)(item)) {
218
+ return;
219
+ }
220
+ item.where = this._shortenWhere(item.where);
221
+ try {
222
+ this._logFormatter(item);
223
+ }
224
+ catch (e) {
225
+ }
226
+ let message;
227
+ try {
228
+ message = this._logStyler(item);
229
+ }
230
+ catch (e) {
231
+ }
232
+ if (typeof message !== 'string') {
233
+ message = `${item === null || item === void 0 ? void 0 : item.now} - ${typeof item.message === 'string' ? item.message : (0, function_1.secureJson)(item.message)}`;
234
+ if (item.params) {
235
+ message += ` ~^~ ${(0, function_1.secureJson)(item.params)}`;
236
+ }
237
+ }
238
+ console[item.level](message);
239
+ }
240
+ /**
241
+ * Generate random logger name
242
+ *
243
+ * @return {string}
244
+ * */
245
+ _randomLoggerName() {
246
+ return this._checkLoggerName('Logger', Math.floor(Math.random() * 1000));
247
+ }
248
+ /**
249
+ * Check logger name's uniqueness, and loop till unique name
250
+ *
251
+ * @param {string} name - base name
252
+ * @param {number} index - try count
253
+ * @return {string}
254
+ * */
255
+ _checkLoggerName(name, index) {
256
+ if (this._loggers.has(name)) {
257
+ return this._checkLoggerName(name, index + 1);
258
+ }
259
+ return name + (index === 0) ? '' : `(#${index})`;
260
+ }
261
+ // endregion private
262
+ // region public
263
+ /** @inheritDoc */
264
+ of(value) {
265
+ let name;
266
+ let fqn;
267
+ switch (typeof value) {
268
+ case "function":
269
+ fqn = (0, function_1.hasFqn)(value);
270
+ name = this._checkLoggerName((0, function_1.getFqn)(value), 0);
271
+ break;
272
+ case "object":
273
+ fqn = (0, function_1.hasFqn)(value);
274
+ name = this._checkLoggerName((0, function_1.getFqn)(value), 0);
275
+ break;
276
+ case "string":
277
+ fqn = true;
278
+ name = this._checkLoggerName(value, 0);
279
+ break;
280
+ default:
281
+ fqn = true;
282
+ name = this._randomLoggerName();
283
+ }
284
+ const ins = new this.leyyo.loggerInstance(name);
285
+ if (!fqn) {
286
+ (0, function_1.onFqnSet)(value, f => ins.$secure.$refreshName(f));
287
+ }
288
+ this._loggers.set(name, ins);
289
+ return ins;
290
+ }
291
+ /** @inheritDoc */
292
+ initConsume() {
293
+ // bind to context finder
294
+ this.leyyo.eventCommon.listen('context:set-finder', (v) => {
295
+ if (typeof v === 'function') {
296
+ this._contextFinder = v;
297
+ }
298
+ });
299
+ // bind to event emitter
300
+ this.leyyo.eventCommon.listen('log', (v) => this._consumeLog(v));
301
+ this.initConsume = () => {
302
+ };
303
+ }
304
+ /** @inheritDoc */
305
+ emitLog(level, where, message, params) {
306
+ var _a;
307
+ const item = {
308
+ level,
309
+ where,
310
+ now: new Date().toISOString(),
311
+ message: undefined,
312
+ params: undefined,
313
+ };
314
+ if (message instanceof Error) {
315
+ const err = message;
316
+ try {
317
+ if (err[const_1.KEY_LOG_ALREADY]) {
318
+ return;
319
+ }
320
+ err[const_1.KEY_LOG_ALREADY] = true;
321
+ }
322
+ catch (e) {
323
+ }
324
+ item.message = this.leyyo.errorCommon.text(message);
325
+ item.params = this.leyyo.errorCommon.toJsonBasic(message, params);
326
+ }
327
+ else {
328
+ if (typeof message !== 'string') {
329
+ if ((0, function_1.isEmpty)(message)) {
330
+ message = '??';
331
+ }
332
+ else {
333
+ if (typeof message === 'object') {
334
+ try {
335
+ if (message[const_1.KEY_LOG_ALREADY]) {
336
+ return;
337
+ }
338
+ message[const_1.KEY_LOG_ALREADY] = true;
339
+ }
340
+ catch (e) {
341
+ }
342
+ }
343
+ message = (0, function_1.secureJson)(message);
344
+ }
345
+ }
346
+ item.message = message;
347
+ item.params = (0, function_1.isFilledObj)(params) ? params : {};
348
+ }
349
+ if (!item.where && (params === null || params === void 0 ? void 0 : params.where)) {
350
+ try {
351
+ if (typeof params.where === 'string') {
352
+ item.where = params.where;
353
+ delete params.where;
354
+ }
355
+ else if (params.where instanceof Set) {
356
+ const whereList = Array.from(params.where.values());
357
+ item.where = whereList[0];
358
+ params.where.delete(item.where);
359
+ }
360
+ }
361
+ catch (e) {
362
+ }
363
+ }
364
+ if (this._contextFinder) {
365
+ try {
366
+ item.ctx = this._contextFinder((_a = item.params) === null || _a === void 0 ? void 0 : _a.req);
367
+ }
368
+ catch (e) {
369
+ }
370
+ }
371
+ this.leyyo.eventCommon.emit('log', item);
372
+ }
373
+ }
374
+ exports.LogCommon = LogCommon;
375
+ //# sourceMappingURL=log.common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.common.js","sourceRoot":"","sources":["../../src/common/log.common.ts"],"names":[],"mappings":";;;AAAA,0CAAgC;AAGhC,0CAA6G;AAC7G,oCAAyC;AAWzC,MAAM,KAAK,GAAG,GAAG,cAAG,YAAY,CAAC;AACjC,MAAM,UAAU,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAEnC,qCAAqC;AACrC,MAAa,SAAS;IAiClB,uBAAuB;IAEvB,YAAoB,KAAgB;QAAhB,UAAK,GAAL,KAAK,CAAW;QA5BpC;;;;aAIK;QACG,gBAAW,GAAmB;YAClC,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,UAAU;YAClB,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE;gBACJ,KAAK,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,WAAW;gBAClD,KAAK,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,MAAM;gBAC9C,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,UAAU;gBACjD,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,QAAQ;gBAC/C,KAAK,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,SAAS;gBACjD,KAAK,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,SAAS;aACpD;SACJ,CAAC;QAWE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,KAAK,UAAU,CAAC,CAAC;QACjE,IAAI,CAAC,SAAS,EAAE,CAAC;IACrB,CAAC;IAED,iBAAiB;IACjB;;;;SAIK;IACL,eAAe,CAAC,EAAsB;QAClC,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,CAAC;YAC3B,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,uBAAuB,EAAE,IAAA,mBAAQ,EAAC,cAAG,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5F,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;IAC5B,CAAC;IAED;;;;SAIK;IACL,sBAAsB,CAAC,EAAmB;QACtC,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,CAAC;YAC3B,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,oBAAoB,EAAE,IAAA,mBAAQ,EAAC,cAAG,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QACzF,CAAC;QACD,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAE/B,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,OAAO,EAAE,CAAC;YACtC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC;QAChD,CAAC;IACL,CAAC;IAED;;;;SAIK;IACL,iBAAiB,CAAC,EAAmB;QACjC,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,CAAC;YAC3B,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,0BAA0B,EAAE,IAAA,mBAAQ,EAAC,cAAG,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QAC/F,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAE1B,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,OAAO,EAAE,CAAC;YACtC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC;QAC3C,CAAC;IACL,CAAC;IAED;;;;SAIK;IACL,gBAAgB,CAAC,EAAuB;QACpC,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,CAAC;YAC3B,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,0BAA0B,EAAE,IAAA,mBAAQ,EAAC,cAAG,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QAC/F,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;IAC7B,CAAC;IAED,oBAAoB;IAEpB,iBAAiB;IACT,SAAS;QACb;;;;aAIK;QACL,IAAI,CAAC,aAAa,GAAG,CAAC,IAAa,EAAQ,EAAE;;YACzC,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,EAAE,CAAC;gBACZ,MAAM,GAAG,GAAG,IAAI,CAAC,GAAqE,CAAC;gBACvF,IAAI,CAAC,GAAG,GAAG;oBACP,GAAG,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,EAAE;oBACZ,GAAG,EAAE,CAAA,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,GAAG,0CAAE,OAAO,EAAC,CAAC,CAAC,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,GAAG,0CAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS;iBAC3E,CAAA;YACL,CAAC;YACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,qBAAU,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,OAAO,IAAI,CAAC,MAAM,CAAC;YACnB,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAkB,CAAC,EAAE,CAAC;gBAClE,OAAO,IAAI,CAAC,QAAQ,CAAC;YACzB,CAAC;QACL,CAAC,CAAA;QAED;;;;;aAKK;QACL,IAAI,CAAC,oBAAoB,GAAG,CAAC,IAAa,EAAU,EAAE;YAClD,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC;YACvB,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,EAAE,CAAC;gBACZ,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClB,OAAO,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;gBACzC,CAAC;qBACI,CAAC;oBACF,OAAO,IAAI,OAAO,CAAC;gBACvB,CAAC;gBACD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClB,OAAO,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;gBACzC,CAAC;qBACI,CAAC;oBACF,OAAO,IAAI,OAAO,CAAC;gBACvB,CAAC;gBACD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClB,OAAO,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;gBACzC,CAAC;qBACI,CAAC;oBACF,OAAO,IAAI,OAAO,CAAC;gBACvB,CAAC;YACL,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,OAAO,IAAI,OAAO,IAAI,CAAC,KAAK,GAAG,CAAC;YACpC,CAAC;iBACI,CAAC;gBACF,OAAO,IAAI,OAAO,CAAC;YACvB,CAAC;YACD,OAAO,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;YAC9B,OAAO,OAAO,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpE,CAAC,CAAA;QAED;;;;;aAKK;QACL,IAAI,CAAC,eAAe,GAAG,CAAC,IAAa,EAAU,EAAE;;YAC7C,MAAM,EAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAC,GAAG,IAAI,CAAC,WAAW,CAAC;YAC5C,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,MAAA,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,mCAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;YACtG,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,MAAM,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;YAC/E,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,EAAE,CAAC;gBACZ,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClB,OAAO,IAAI,IAAI,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;gBACnD,CAAC;qBACI,CAAC;oBACF,OAAO,IAAI,IAAI,KAAK,MAAM,CAAC;gBAC/B,CAAC;gBACD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClB,OAAO,IAAI,IAAI,KAAK,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;gBACjD,CAAC;qBACI,CAAC;oBACF,OAAO,IAAI,IAAI,KAAK,MAAM,CAAC;gBAC/B,CAAC;YACL,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,OAAO,IAAI,IAAI,OAAO,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC;YAC5C,CAAC;iBACI,CAAC;gBACF,OAAO,IAAI,IAAI,KAAK,IAAI,UAAU,GAAG,CAAC;YAC1C,CAAC;YACD,OAAO,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC;YACjE,OAAO,OAAO,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,KAAK,GAAG,IAAI,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC,CAAA;QAED;;aAEK;QACL,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,OAAO,EAAE,CAAC;YACtC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC;QAC3C,CAAC;aACI,CAAC;YACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC;QAChD,CAAC;IACL,CAAC;IAED;;;;;SAKK;IACG,aAAa,CAAC,KAAa;QAC/B,IAAK,CAAC,KAAK,EAAE,CAAC;YACV,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,IAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QACpB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC;QAClE,CAAC;QACD,OAAO,KAAK,CAAA;IAChB,CAAC;IAED;;;;SAIK;IACG,WAAW,CAAC,IAAa;QAC7B,IAAK,CAAC,IAAA,gBAAK,EAAC,IAAI,CAAC,EAAE,CAAC;YAChB,OAAO;QACX,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;QACb,CAAC;QACD,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACD,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;QACb,CAAC;QACD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,GAAG,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,MAAM,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,qBAAU,EAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACzG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACd,OAAO,IAAI,QAAQ,IAAA,qBAAU,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACjD,CAAC;QACL,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED;;;;SAIK;IACG,iBAAiB;QACrB,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED;;;;;;SAMK;IACG,gBAAgB,CAAC,IAAY,EAAE,KAAa;QAChD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC;IACrD,CAAC;IAED,oBAAoB;IAEpB,gBAAgB;IAChB,kBAAkB;IAClB,EAAE,CAAC,KAAqC;QACpC,IAAI,IAAY,CAAC;QACjB,IAAI,GAAY,CAAC;QACjB,QAAQ,OAAO,KAAK,EAAE,CAAC;YACnB,KAAK,UAAU;gBACX,GAAG,GAAG,IAAA,iBAAM,EAAC,KAAK,CAAC,CAAC;gBACpB,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAA,iBAAM,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC/C,MAAM;YACV,KAAK,QAAQ;gBACT,GAAG,GAAG,IAAA,iBAAM,EAAC,KAAK,CAAC,CAAC;gBACpB,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAA,iBAAM,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC/C,MAAM;YACV,KAAK,QAAQ;gBACT,GAAG,GAAG,IAAI,CAAC;gBACX,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACvC,MAAM;YACV;gBACI,GAAG,GAAG,IAAI,CAAC;gBACX,IAAI,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACxC,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAChD,IAAK,CAAC,GAAG,EAAE,CAAC;YACR,IAAA,mBAAQ,EAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC7B,OAAO,GAAG,CAAC;IACf,CAAC;IAED,kBAAkB;IAClB,WAAW;QACP,yBAAyB;QACzB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAsB,EAAE,EAAE;YAC3E,IAAI,OAAO,CAAC,KAAK,UAAU,EAAE,CAAC;gBAC1B,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;YAC5B,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,wBAAwB;QACxB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAU,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QAE1E,IAAI,CAAC,WAAW,GAAG,GAAG,EAAE;QACxB,CAAC,CAAC;IACN,CAAC;IAED,kBAAkB;IAClB,OAAO,CAAC,KAAe,EAAE,KAAa,EAAE,OAAY,EAAE,MAAkB;;QACpE,MAAM,IAAI,GAAY;YAClB,KAAK;YACL,KAAK;YACL,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC7B,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,SAAS;SACpB,CAAA;QACD,IAAI,OAAO,YAAY,KAAK,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,OAAgB,CAAC;YAC7B,IAAI,CAAC;gBACD,IAAI,GAAG,CAAC,uBAAe,CAAC,EAAE,CAAC;oBACvB,OAAO;gBACX,CAAC;gBACD,GAAG,CAAC,uBAAe,CAAC,GAAG,IAAI,CAAC;YAChC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;YACb,CAAC;YACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACtE,CAAC;aACI,CAAC;YACF,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC9B,IAAI,IAAA,kBAAO,EAAC,OAAO,CAAC,EAAE,CAAC;oBACnB,OAAO,GAAG,IAAI,CAAC;gBACnB,CAAC;qBACI,CAAC;oBACF,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;wBAC9B,IAAI,CAAC;4BACD,IAAI,OAAO,CAAC,uBAAe,CAAC,EAAE,CAAC;gCAC3B,OAAO;4BACX,CAAC;4BACD,OAAO,CAAC,uBAAe,CAAC,GAAG,IAAI,CAAC;wBACpC,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;wBACb,CAAC;oBACL,CAAC;oBACD,OAAO,GAAG,IAAA,qBAAU,EAAC,OAAO,CAAC,CAAC;gBAClC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,MAAM,GAAG,IAAA,sBAAW,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,CAAC;QAED,IAAK,CAAC,IAAI,CAAC,KAAK,KAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAA,EAAE,CAAC;YAChC,IAAI,CAAC;gBACD,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACnC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;oBAC1B,OAAO,MAAM,CAAC,KAAK,CAAC;gBACxB,CAAC;qBACI,IAAI,MAAM,CAAC,KAAK,YAAY,GAAG,EAAE,CAAC;oBACnC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;oBACpD,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,CAAW,CAAC;oBACpC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACpC,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;YACb,CAAC;QACL,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC;gBACD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,MAAC,IAAI,CAAC,MAAc,0CAAE,GAAG,CAAC,CAAC;YAC9D,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;YACb,CAAC;QACL,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;CAKJ;AAzYD,8BAyYC"}
@@ -0,0 +1,225 @@
1
+ import { List } from "../class";
2
+ import { RepoCommonLike } from "./index.types";
3
+ import { LeyyoLike } from "../base";
4
+ export declare class RepoCommon implements RepoCommonLike {
5
+ private leyyo;
6
+ private static _created;
7
+ /**
8
+ * Internal items which stores arrays
9
+ * */
10
+ private _arrayItems;
11
+ /**
12
+ * Internal array volatile repo which could be cleared after lifecycle run
13
+ * */
14
+ private _arrayVolatiles;
15
+ /**
16
+ * Internal items which stores lists
17
+ * */
18
+ private _listItems;
19
+ /**
20
+ * Internal list volatiles repo which could be cleared after lifecycle run
21
+ * */
22
+ private _listVolatiles;
23
+ /**
24
+ * Internal items which stores maps
25
+ * */
26
+ private _mapItems;
27
+ /**
28
+ * Internal map volatile repo which could be cleared after lifecycle run
29
+ * */
30
+ private _mapVolatiles;
31
+ /**
32
+ * Internal items which stores sets
33
+ * */
34
+ private _setItems;
35
+ /**
36
+ * Internal set volatiles repo which could be cleared after lifecycle run
37
+ * */
38
+ private _setVolatiles;
39
+ constructor(leyyo: LeyyoLike);
40
+ /**
41
+ * Create new array
42
+ *
43
+ * @param {string} name - name of collection
44
+ * @param {boolean} volatile - if yes: it will be removed after lifecycle run
45
+ * @return {Array<any>}
46
+ * */
47
+ newArray<V>(name: string, volatile?: boolean): Array<V>;
48
+ /**
49
+ * Remove array by given key
50
+ *
51
+ * @param {symbol} key - key of collection
52
+ * @return {number}
53
+ *
54
+ * Return possibilities:
55
+ * - `-2`: key is not valid symbol
56
+ * - `-1`: key does not exist
57
+ * - `>= 0`: length of removed items in collection
58
+ * */
59
+ removeArray(key: symbol): number;
60
+ /**
61
+ * Clear array by given key
62
+ *
63
+ * @param {symbol} key - key of collection
64
+ * @return {number}
65
+ *
66
+ * Return possibilities:
67
+ * - `-2`: key is not valid symbol
68
+ * - `-1`: key does not exist
69
+ * - `>= 0`: length of cleared items in collection
70
+ * */
71
+ clearArray(key: symbol): number;
72
+ /**
73
+ * List all array keys
74
+ *
75
+ * @return {Array<symbol>}
76
+ * */
77
+ listArrays(): Array<symbol>;
78
+ /**
79
+ * Print all arrays
80
+ *
81
+ * @return {Record} - as {key: length of collection}
82
+ *
83
+ * Note: if stringified symbol is duplicated, add index postfix with `#` symbol
84
+ * */
85
+ printArrays(): Record<string, number>;
86
+ /**
87
+ * Create new list
88
+ *
89
+ * @param {string} name - name of collection
90
+ * @param {boolean} volatile - if yes: it will be removed after lifecycle run
91
+ * @return {List<any>}
92
+ * */
93
+ newList<V>(name: string, volatile?: boolean): List<V>;
94
+ /**
95
+ * Remove list by given key
96
+ *
97
+ * @param {symbol} key - key of collection
98
+ * @return {number}
99
+ *
100
+ * Return possibilities:
101
+ * - `-2`: key is not valid symbol
102
+ * - `-1`: key does not exist
103
+ * - `>= 0`: length of removed items in collection
104
+ * */
105
+ removeList(key: symbol): number;
106
+ /**
107
+ * Clear list by given key
108
+ *
109
+ * @param {symbol} key - key of collection
110
+ * @return {number}
111
+ *
112
+ * Return possibilities:
113
+ * - `-2`: key is not valid symbol
114
+ * - `-1`: key does not exist
115
+ * - `>= 0`: length of cleared items in collection
116
+ * */
117
+ clearList(key: symbol): number;
118
+ /**
119
+ * List all list keys
120
+ *
121
+ * @return {Array<symbol>}
122
+ * */
123
+ listLists(): Array<symbol>;
124
+ /**
125
+ * Print all lists
126
+ *
127
+ * @return {Record} - as {key: length of collection}
128
+ *
129
+ * Note: if stringified symbol is duplicated, add index postfix with `#` symbol
130
+ * */
131
+ printLists(): Record<string, number>;
132
+ /**
133
+ * Create new map
134
+ *
135
+ * @param {string} name - name of collection
136
+ * @param {boolean} volatile - if yes: it will be removed after lifecycle run
137
+ * @return {Map<any, any>}
138
+ * */
139
+ newMap<K, V>(name: string, volatile?: boolean): Map<K, V>;
140
+ /**
141
+ * Remove map by given key
142
+ *
143
+ * @param {symbol} key - key of collection
144
+ * @return {number}
145
+ *
146
+ * Return possibilities:
147
+ * - `-2`: key is not valid symbol
148
+ * - `-1`: key does not exist
149
+ * - `>= 0`: length of removed items in collection
150
+ * */
151
+ removeMap(key: symbol): number;
152
+ /**
153
+ * Clear map by given key
154
+ *
155
+ * @param {symbol} key - key of collection
156
+ * @return {number}
157
+ *
158
+ * Return possibilities:
159
+ * - `-2`: key is not valid symbol
160
+ * - `-1`: key does not exist
161
+ * - `>= 0`: length of cleared items in collection
162
+ * */
163
+ clearMap(key: symbol): number;
164
+ /**
165
+ * List all map keys
166
+ *
167
+ * @return {Array<symbol>}
168
+ * */
169
+ listMaps(): Array<symbol>;
170
+ /**
171
+ * Print all maps
172
+ *
173
+ * @return {Record} - as {key: length of collection}
174
+ *
175
+ * Note: if stringified symbol is duplicated, add index postfix with `#` symbol
176
+ * */
177
+ printMaps(): Record<string, number>;
178
+ /**
179
+ * Create new set
180
+ *
181
+ * @param {string} name - name of collection
182
+ * @param {boolean} volatile - if yes: it will be removed after lifecycle run
183
+ * @return {Set<any>}
184
+ * */
185
+ newSet<V>(name: string, volatile?: boolean): Set<V>;
186
+ /**
187
+ * Remove set by given key
188
+ *
189
+ * @param {symbol} key - key of collection
190
+ * @return {number}
191
+ *
192
+ * Return possibilities:
193
+ * - `-2`: key is not valid symbol
194
+ * - `-1`: key does not exist
195
+ * - `>= 0`: length of removed items in collection
196
+ * */
197
+ removeSet(key: symbol): number;
198
+ /**
199
+ * Clear set by given key
200
+ *
201
+ * @param {symbol} key - key of collection
202
+ * @return {number}
203
+ *
204
+ * Return possibilities:
205
+ * - `-2`: key is not valid symbol
206
+ * - `-1`: key does not exist
207
+ * - `>= 0`: length of cleared items in collection
208
+ * */
209
+ clearSet(key: symbol): number;
210
+ /**
211
+ * List all set keys
212
+ *
213
+ * @return {Array<symbol>}
214
+ * */
215
+ listSets(): Array<symbol>;
216
+ /**
217
+ * Print all sets
218
+ *
219
+ * @return {Record} - as {key: length of collection}
220
+ *
221
+ * Note: if stringified symbol is duplicated, add index postfix with `#` symbol
222
+ * */
223
+ printSets(): Record<string, number>;
224
+ init(): void;
225
+ }