@leyyo/common 1.2.6 → 1.3.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 (282) hide show
  1. package/README.md +395 -3
  2. package/dist/class/index.d.ts +2 -0
  3. package/dist/{opt → class}/index.js +2 -1
  4. package/dist/class/index.js.map +1 -0
  5. package/dist/class/list.d.ts +13 -0
  6. package/dist/class/list.js +37 -0
  7. package/dist/class/list.js.map +1 -0
  8. package/dist/{log → class}/logger.instance.d.ts +10 -12
  9. package/dist/class/logger.instance.js +150 -0
  10. package/dist/class/logger.instance.js.map +1 -0
  11. package/dist/common/array.fn.d.ts +46 -0
  12. package/dist/common/array.fn.js +123 -0
  13. package/dist/common/array.fn.js.map +1 -0
  14. package/dist/common/deploy.fn.d.ts +18 -0
  15. package/dist/common/deploy.fn.js +73 -0
  16. package/dist/common/deploy.fn.js.map +1 -0
  17. package/dist/common/enum.fn.d.ts +63 -0
  18. package/dist/common/enum.fn.js +191 -0
  19. package/dist/common/enum.fn.js.map +1 -0
  20. package/dist/common/error.fn.d.ts +91 -0
  21. package/dist/common/error.fn.js +400 -0
  22. package/dist/common/error.fn.js.map +1 -0
  23. package/dist/common/event.fn.d.ts +45 -0
  24. package/dist/common/event.fn.js +160 -0
  25. package/dist/common/event.fn.js.map +1 -0
  26. package/dist/common/exporter.fn.d.ts +7 -0
  27. package/dist/common/exporter.fn.js +49 -0
  28. package/dist/common/exporter.fn.js.map +1 -0
  29. package/dist/common/fqn.fn.d.ts +27 -0
  30. package/dist/common/fqn.fn.js +104 -0
  31. package/dist/common/fqn.fn.js.map +1 -0
  32. package/dist/common/index.d.ts +14 -0
  33. package/dist/{hub → common}/index.js +14 -1
  34. package/dist/common/index.js.map +1 -0
  35. package/dist/common/lifecycle.fn.d.ts +24 -0
  36. package/dist/common/lifecycle.fn.js +135 -0
  37. package/dist/common/lifecycle.fn.js.map +1 -0
  38. package/dist/common/list.fn.d.ts +47 -0
  39. package/dist/common/list.fn.js +122 -0
  40. package/dist/common/list.fn.js.map +1 -0
  41. package/dist/common/loader.fn.d.ts +15 -0
  42. package/dist/common/loader.fn.js +38 -0
  43. package/dist/common/loader.fn.js.map +1 -0
  44. package/dist/common/log.fn.d.ts +21 -0
  45. package/dist/common/log.fn.js +321 -0
  46. package/dist/common/log.fn.js.map +1 -0
  47. package/dist/common/map.fn.d.ts +46 -0
  48. package/dist/common/map.fn.js +123 -0
  49. package/dist/common/map.fn.js.map +1 -0
  50. package/dist/common/opt.fn.d.ts +48 -0
  51. package/dist/common/opt.fn.js +137 -0
  52. package/dist/common/opt.fn.js.map +1 -0
  53. package/dist/common/set.fn.d.ts +46 -0
  54. package/dist/common/set.fn.js +123 -0
  55. package/dist/common/set.fn.js.map +1 -0
  56. package/dist/common/test.fn.d.ts +26 -0
  57. package/dist/common/test.fn.js +81 -0
  58. package/dist/common/test.fn.js.map +1 -0
  59. package/dist/const/index.d.ts +23 -0
  60. package/dist/const/index.js +28 -0
  61. package/dist/const/index.js.map +1 -0
  62. package/dist/enum/index.d.ts +1 -0
  63. package/dist/{deploy → enum}/index.js +1 -1
  64. package/dist/enum/index.js.map +1 -0
  65. package/dist/{log → enum}/log-level.js +2 -2
  66. package/dist/enum/log-level.js.map +1 -0
  67. package/dist/error/caused.error.d.ts +15 -0
  68. package/dist/error/caused.error.js +24 -0
  69. package/dist/error/caused.error.js.map +1 -0
  70. package/dist/error/developer.error.d.ts +24 -0
  71. package/dist/error/developer.error.js +69 -0
  72. package/dist/error/developer.error.js.map +1 -0
  73. package/dist/error/{items/http.error.d.ts → http.error.d.ts} +1 -1
  74. package/dist/error/http.error.js +31 -0
  75. package/dist/error/http.error.js.map +1 -0
  76. package/dist/error/index.d.ts +6 -3
  77. package/dist/error/index.js +6 -3
  78. package/dist/error/index.js.map +1 -1
  79. package/dist/error/{items/invalid-value.error.js → invalid-value.error.js} +6 -2
  80. package/dist/error/invalid-value.error.js.map +1 -0
  81. package/dist/error/leyyo.error.d.ts +87 -0
  82. package/dist/error/leyyo.error.js +259 -0
  83. package/dist/error/leyyo.error.js.map +1 -0
  84. package/dist/error/{items/multiple.error.d.ts → multiple.error.d.ts} +1 -1
  85. package/dist/error/{items/multiple.error.js → multiple.error.js} +5 -4
  86. package/dist/error/multiple.error.js.map +1 -0
  87. package/dist/{util → function}/delay.js +1 -0
  88. package/dist/function/delay.js.map +1 -0
  89. package/dist/function/empty.fn.d.ts +8 -0
  90. package/dist/{util → function}/empty.fn.js +3 -2
  91. package/dist/function/empty.fn.js.map +1 -0
  92. package/dist/function/error-obj.d.ts +8 -0
  93. package/dist/function/error-obj.js +25 -0
  94. package/dist/function/error-obj.js.map +1 -0
  95. package/dist/function/error-text.d.ts +7 -0
  96. package/dist/function/error-text.js +18 -0
  97. package/dist/function/error-text.js.map +1 -0
  98. package/dist/function/extended-type.d.ts +8 -0
  99. package/dist/function/extended-type.js +56 -0
  100. package/dist/function/extended-type.js.map +1 -0
  101. package/dist/{util → function}/index.d.ts +4 -4
  102. package/dist/{util → function}/index.js +4 -4
  103. package/dist/function/index.js.map +1 -0
  104. package/dist/{util → function}/is.d.ts +12 -13
  105. package/dist/function/is.js +89 -0
  106. package/dist/function/is.js.map +1 -0
  107. package/dist/{util → function}/jitter-interval.js +1 -0
  108. package/dist/function/jitter-interval.js.map +1 -0
  109. package/dist/{util → function}/one-or-more.d.ts +1 -1
  110. package/dist/{util → function}/one-or-more.js +1 -0
  111. package/dist/function/one-or-more.js.map +1 -0
  112. package/dist/{util → function}/secure-clone.d.ts +1 -1
  113. package/dist/function/secure-clone.js.map +1 -0
  114. package/dist/function/secure-json.js.map +1 -0
  115. package/dist/index.d.ts +7 -19
  116. package/dist/index.js +7 -21
  117. package/dist/index.js.map +1 -1
  118. package/dist/index.types.d.ts +510 -0
  119. package/dist/{shared/index.types.js → index.types.js} +1 -1
  120. package/dist/index.types.js.map +1 -0
  121. package/dist/loader.d.ts +2 -0
  122. package/dist/loader.js +98 -0
  123. package/dist/loader.js.map +1 -0
  124. package/package.json +5 -3
  125. package/dist/$$leyyo-loader.d.ts +0 -1
  126. package/dist/$$leyyo-loader.js +0 -40
  127. package/dist/$$leyyo-loader.js.map +0 -1
  128. package/dist/deploy/deploy.common.d.ts +0 -34
  129. package/dist/deploy/deploy.common.js +0 -125
  130. package/dist/deploy/deploy.common.js.map +0 -1
  131. package/dist/deploy/index.d.ts +0 -1
  132. package/dist/deploy/index.js.map +0 -1
  133. package/dist/deploy/index.types.d.ts +0 -29
  134. package/dist/deploy/index.types.js +0 -3
  135. package/dist/deploy/index.types.js.map +0 -1
  136. package/dist/error/error.common.d.ts +0 -34
  137. package/dist/error/error.common.js +0 -220
  138. package/dist/error/error.common.js.map +0 -1
  139. package/dist/error/index.const.d.ts +0 -4
  140. package/dist/error/index.const.js +0 -8
  141. package/dist/error/index.const.js.map +0 -1
  142. package/dist/error/index.types.d.ts +0 -109
  143. package/dist/error/index.types.js +0 -3
  144. package/dist/error/index.types.js.map +0 -1
  145. package/dist/error/items/caused.error.d.ts +0 -6
  146. package/dist/error/items/caused.error.js +0 -11
  147. package/dist/error/items/caused.error.js.map +0 -1
  148. package/dist/error/items/developer.error.d.ts +0 -4
  149. package/dist/error/items/developer.error.js +0 -11
  150. package/dist/error/items/developer.error.js.map +0 -1
  151. package/dist/error/items/http.error.js +0 -37
  152. package/dist/error/items/http.error.js.map +0 -1
  153. package/dist/error/items/index.d.ts +0 -6
  154. package/dist/error/items/index.js +0 -23
  155. package/dist/error/items/index.js.map +0 -1
  156. package/dist/error/items/invalid-value.error.js.map +0 -1
  157. package/dist/error/items/leyyo.error.d.ts +0 -60
  158. package/dist/error/items/leyyo.error.js +0 -144
  159. package/dist/error/items/leyyo.error.js.map +0 -1
  160. package/dist/error/items/multiple.error.js.map +0 -1
  161. package/dist/event/event.common.d.ts +0 -80
  162. package/dist/event/event.common.js +0 -308
  163. package/dist/event/event.common.js.map +0 -1
  164. package/dist/event/event.error.d.ts +0 -3
  165. package/dist/event/event.error.js +0 -9
  166. package/dist/event/event.error.js.map +0 -1
  167. package/dist/event/index.d.ts +0 -2
  168. package/dist/event/index.js +0 -19
  169. package/dist/event/index.js.map +0 -1
  170. package/dist/event/index.types.d.ts +0 -265
  171. package/dist/event/index.types.js +0 -3
  172. package/dist/event/index.types.js.map +0 -1
  173. package/dist/hub/hub.channel.d.ts +0 -27
  174. package/dist/hub/hub.channel.js +0 -83
  175. package/dist/hub/hub.channel.js.map +0 -1
  176. package/dist/hub/hub.common.d.ts +0 -27
  177. package/dist/hub/hub.common.js +0 -92
  178. package/dist/hub/hub.common.js.map +0 -1
  179. package/dist/hub/index.d.ts +0 -1
  180. package/dist/hub/index.js.map +0 -1
  181. package/dist/hub/index.types.d.ts +0 -105
  182. package/dist/hub/index.types.js +0 -3
  183. package/dist/hub/index.types.js.map +0 -1
  184. package/dist/leyyo/index.d.ts +0 -1
  185. package/dist/leyyo/index.js +0 -18
  186. package/dist/leyyo/index.js.map +0 -1
  187. package/dist/leyyo/index.types.d.ts +0 -21
  188. package/dist/leyyo/index.types.js +0 -3
  189. package/dist/leyyo/index.types.js.map +0 -1
  190. package/dist/leyyo/leyyo.d.ts +0 -25
  191. package/dist/leyyo/leyyo.js +0 -62
  192. package/dist/leyyo/leyyo.js.map +0 -1
  193. package/dist/log/index.d.ts +0 -4
  194. package/dist/log/index.js +0 -21
  195. package/dist/log/index.js.map +0 -1
  196. package/dist/log/index.types.d.ts +0 -47
  197. package/dist/log/index.types.js +0 -3
  198. package/dist/log/index.types.js.map +0 -1
  199. package/dist/log/log-level.js.map +0 -1
  200. package/dist/log/log.common.d.ts +0 -15
  201. package/dist/log/log.common.js +0 -135
  202. package/dist/log/log.common.js.map +0 -1
  203. package/dist/log/logger.error.d.ts +0 -3
  204. package/dist/log/logger.error.js +0 -9
  205. package/dist/log/logger.error.js.map +0 -1
  206. package/dist/log/logger.instance.js +0 -139
  207. package/dist/log/logger.instance.js.map +0 -1
  208. package/dist/name/index.d.ts +0 -2
  209. package/dist/name/index.js +0 -19
  210. package/dist/name/index.js.map +0 -1
  211. package/dist/name/index.types.d.ts +0 -21
  212. package/dist/name/index.types.js +0 -3
  213. package/dist/name/index.types.js.map +0 -1
  214. package/dist/name/name.common.d.ts +0 -16
  215. package/dist/name/name.common.js +0 -109
  216. package/dist/name/name.common.js.map +0 -1
  217. package/dist/name/name.error.d.ts +0 -3
  218. package/dist/name/name.error.js +0 -9
  219. package/dist/name/name.error.js.map +0 -1
  220. package/dist/opt/index.d.ts +0 -1
  221. package/dist/opt/index.js.map +0 -1
  222. package/dist/opt/index.types.d.ts +0 -33
  223. package/dist/opt/index.types.js +0 -3
  224. package/dist/opt/index.types.js.map +0 -1
  225. package/dist/opt/opt.common.d.ts +0 -15
  226. package/dist/opt/opt.common.js +0 -93
  227. package/dist/opt/opt.common.js.map +0 -1
  228. package/dist/repo/index.d.ts +0 -1
  229. package/dist/repo/index.js +0 -18
  230. package/dist/repo/index.js.map +0 -1
  231. package/dist/repo/index.types.d.ts +0 -104
  232. package/dist/repo/index.types.js +0 -3
  233. package/dist/repo/index.types.js.map +0 -1
  234. package/dist/repo/repo.common.d.ts +0 -41
  235. package/dist/repo/repo.common.js +0 -146
  236. package/dist/repo/repo.common.js.map +0 -1
  237. package/dist/server.d.ts +0 -1
  238. package/dist/server.js +0 -5
  239. package/dist/server.js.map +0 -1
  240. package/dist/shared/index.d.ts +0 -5
  241. package/dist/shared/index.enum.d.ts +0 -7
  242. package/dist/shared/index.enum.js +0 -3
  243. package/dist/shared/index.enum.js.map +0 -1
  244. package/dist/shared/index.fqn.d.ts +0 -3
  245. package/dist/shared/index.fqn.js +0 -3
  246. package/dist/shared/index.fqn.js.map +0 -1
  247. package/dist/shared/index.js +0 -22
  248. package/dist/shared/index.js.map +0 -1
  249. package/dist/shared/index.json.d.ts +0 -33
  250. package/dist/shared/index.json.js +0 -3
  251. package/dist/shared/index.json.js.map +0 -1
  252. package/dist/shared/index.loader.d.ts +0 -5
  253. package/dist/shared/index.loader.js +0 -3
  254. package/dist/shared/index.loader.js.map +0 -1
  255. package/dist/shared/index.types.d.ts +0 -168
  256. package/dist/shared/index.types.js.map +0 -1
  257. package/dist/util/$define-error.d.ts +0 -9
  258. package/dist/util/$define-error.js +0 -25
  259. package/dist/util/$define-error.js.map +0 -1
  260. package/dist/util/$enum-name.d.ts +0 -16
  261. package/dist/util/$enum-name.js +0 -18
  262. package/dist/util/$enum-name.js.map +0 -1
  263. package/dist/util/$loader.d.ts +0 -18
  264. package/dist/util/$loader.js +0 -40
  265. package/dist/util/$loader.js.map +0 -1
  266. package/dist/util/delay.js.map +0 -1
  267. package/dist/util/empty.fn.d.ts +0 -8
  268. package/dist/util/empty.fn.js.map +0 -1
  269. package/dist/util/index.js.map +0 -1
  270. package/dist/util/is.js +0 -68
  271. package/dist/util/is.js.map +0 -1
  272. package/dist/util/jitter-interval.js.map +0 -1
  273. package/dist/util/one-or-more.js.map +0 -1
  274. package/dist/util/secure-clone.js.map +0 -1
  275. package/dist/util/secure-json.js.map +0 -1
  276. /package/dist/{log → enum}/log-level.d.ts +0 -0
  277. /package/dist/error/{items/invalid-value.error.d.ts → invalid-value.error.d.ts} +0 -0
  278. /package/dist/{util → function}/delay.d.ts +0 -0
  279. /package/dist/{util → function}/jitter-interval.d.ts +0 -0
  280. /package/dist/{util → function}/secure-clone.js +0 -0
  281. /package/dist/{util → function}/secure-json.d.ts +0 -0
  282. /package/dist/{util → function}/secure-json.js +0 -0
@@ -0,0 +1,321 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setLogFormatter = setLogFormatter;
4
+ exports.setLogDeploymentStylerLog = setLogDeploymentStylerLog;
5
+ exports.setLogLocalStylerLog = setLogLocalStylerLog;
6
+ exports.emitLog = emitLog;
7
+ const event_fn_1 = require("./event.fn");
8
+ const error_1 = require("../error");
9
+ const internal_1 = require("../internal");
10
+ const test_fn_1 = require("./test.fn");
11
+ const function_1 = require("../function");
12
+ const const_1 = require("../const");
13
+ const error_fn_1 = require("./error.fn");
14
+ // region properties
15
+ const where = `${internal_1.FQN}.LogFn`;
16
+ let logFormatter;
17
+ let logDeploymentStyler;
18
+ let logLocalStyler;
19
+ let logStyler;
20
+ const emptyWhere = ''.padStart(20);
21
+ let contextFinder;
22
+ // endregion properties
23
+ /**
24
+ * Local console colors
25
+ *
26
+ * @type {LocalColorLike}
27
+ * */
28
+ const localColor = {
29
+ bold: '\x1b[1m',
30
+ normal: '\x1b[21m',
31
+ end: '\x1b[0m',
32
+ param: '\x1b[90m',
33
+ levels: {
34
+ fatal: [true, '\x1b[31m', '\x1b[91m'], // bold red
35
+ error: [false, '\x1b[31m', '\x1b[91m'], // red
36
+ warn: [false, '\x1b[35m', '\x1b[95m'], // magenta
37
+ info: [false, '\x1b[32m', '\x1b[92m'], // green
38
+ debug: [false, '\x1b[33m', '\x1b[93m'], // yellow
39
+ trace: [false, '\x1b[36m', '\x1b[96m'], // yellow
40
+ }
41
+ };
42
+ // region setters
43
+ // noinspection JSUnusedGlobalSymbols
44
+ /**
45
+ * Set formatter
46
+ *
47
+ * @param {function} fn - lambda for formatter
48
+ * */
49
+ function setLogFormatter(fn) {
50
+ if (typeof fn !== 'function') {
51
+ throw new error_1.DeveloperError('Invalid log formatter', (0, test_fn_1.testCase)(internal_1.FQN, 161), where);
52
+ }
53
+ logFormatter = fn;
54
+ }
55
+ // noinspection JSUnusedGlobalSymbols
56
+ /**
57
+ * Set deployment styler
58
+ *
59
+ * @param {function} fn - lambda for styler
60
+ * */
61
+ function setLogDeploymentStylerLog(fn) {
62
+ if (typeof fn !== 'function') {
63
+ throw new error_1.DeveloperError('Invalid log styler', (0, test_fn_1.testCase)(internal_1.FQN, 162), where);
64
+ }
65
+ logDeploymentStyler = fn;
66
+ if (process.env['NODE_ENV'] !== 'local') {
67
+ logStyler = logDeploymentStyler;
68
+ }
69
+ }
70
+ // noinspection JSUnusedGlobalSymbols
71
+ /**
72
+ * Set local style
73
+ *
74
+ * @param {function} fn - lambda for styler
75
+ * */
76
+ function setLogLocalStylerLog(fn) {
77
+ if (typeof fn !== 'function') {
78
+ throw new error_1.DeveloperError('Invalid log local styler', (0, test_fn_1.testCase)(internal_1.FQN, 162), where);
79
+ }
80
+ logLocalStyler = fn;
81
+ if (process.env['NODE_ENV'] === 'local') {
82
+ logStyler = logLocalStyler;
83
+ }
84
+ }
85
+ // endregion setters
86
+ // region local-functions
87
+ /**
88
+ * Build short style of logger name
89
+ *
90
+ * @param {string} where - original logger name
91
+ * @param {string} - short style
92
+ * */
93
+ function shortenWhere(where) {
94
+ if (!where) {
95
+ return undefined;
96
+ }
97
+ if (!where.includes('.')) {
98
+ return where;
99
+ }
100
+ const parts = where.split('.');
101
+ where = parts.pop();
102
+ if (parts.length > 0) {
103
+ where = parts.map(w => w.slice(0, 1)).join('.') + '.' + where;
104
+ }
105
+ return where;
106
+ }
107
+ /**
108
+ * Log consumer
109
+ *
110
+ * @param {LogItem} item
111
+ * */
112
+ function consumeLog(item) {
113
+ if (!(0, function_1.isObj)(item)) {
114
+ return;
115
+ }
116
+ item.where = shortenWhere(item.where);
117
+ try {
118
+ logFormatter(item);
119
+ }
120
+ catch (e) {
121
+ }
122
+ let message;
123
+ try {
124
+ message = logStyler(item);
125
+ }
126
+ catch (e) {
127
+ }
128
+ if (typeof message !== 'string') {
129
+ message = `${item === null || item === void 0 ? void 0 : item.now} - ${typeof item.message === 'string' ? item.message : (0, function_1.secureJson)(item.message)}`;
130
+ if (item.params) {
131
+ message += ` ~^~ ${(0, function_1.secureJson)(item.params)}`;
132
+ }
133
+ }
134
+ console[item.level](message);
135
+ }
136
+ // endregion local-functions
137
+ // region defaults
138
+ /**
139
+ * Default log formatter
140
+ *
141
+ * @param {LogItem} item
142
+ * */
143
+ logFormatter = (item) => {
144
+ var _a, _b;
145
+ if (item === null || item === void 0 ? void 0 : item.ctx) {
146
+ const ctx = item.ctx;
147
+ item.ctx = {
148
+ tid: ctx === null || ctx === void 0 ? void 0 : ctx.id,
149
+ 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,
150
+ };
151
+ }
152
+ item.paramStr = item.params ? (0, function_1.secureJson)(item.params) : undefined;
153
+ delete item.params;
154
+ if (item.paramStr && ['{}', '[]'].includes(item.paramStr)) {
155
+ delete item.paramStr;
156
+ }
157
+ };
158
+ /**
159
+ * Default log deployment styler (on server)
160
+ *
161
+ * @param {LogItem} item
162
+ * @return {string}
163
+ * */
164
+ logDeploymentStyler = (item) => {
165
+ let message = item.now;
166
+ if (item === null || item === void 0 ? void 0 : item.ctx) {
167
+ if (item.ctx['pid']) {
168
+ message += ` [p:${item.ctx['pid']}]`;
169
+ }
170
+ else {
171
+ message += ` [p:]`;
172
+ }
173
+ if (item.ctx['tid']) {
174
+ message += ` [t:${item.ctx['tid']}]`;
175
+ }
176
+ else {
177
+ message += ` [t:]`;
178
+ }
179
+ if (item.ctx['cid']) {
180
+ message += ` [c:${item.ctx['cid']}]`;
181
+ }
182
+ else {
183
+ message += ` [c:]`;
184
+ }
185
+ }
186
+ if (item.where) {
187
+ message += ` [w:${item.where}]`;
188
+ }
189
+ else {
190
+ message += ` [w:]`;
191
+ }
192
+ message += ' ' + item.message;
193
+ return message + (item.paramStr ? ' ~^~ ' + item.paramStr : '');
194
+ };
195
+ /**
196
+ * Default log locale styler (on local computer)
197
+ *
198
+ * @param {LogItem} item
199
+ * @return {string}
200
+ * */
201
+ logLocalStyler = (item) => {
202
+ var _a;
203
+ const { bold, end, param } = localColor;
204
+ const [isBold, regular, light] = (_a = localColor.levels[item.level]) !== null && _a !== void 0 ? _a : localColor.levels.debug;
205
+ let message = item.now.substring(10, 11) + ` ${param}[p:${process.pid}]${end}`;
206
+ if (item === null || item === void 0 ? void 0 : item.ctx) {
207
+ if (item.ctx['tid']) {
208
+ message += ` ${regular}[t:${item.ctx['tid']}]`;
209
+ }
210
+ else {
211
+ message += ` ${param}[t:]`;
212
+ }
213
+ if (item.ctx['cid']) {
214
+ message += ` ${light}[c:${item.ctx['cid']}]`;
215
+ }
216
+ else {
217
+ message += ` ${param}[c:]`;
218
+ }
219
+ }
220
+ if (item.where) {
221
+ message += ` ${regular}[${item.where}]`;
222
+ }
223
+ else {
224
+ message += ` ${param}[${emptyWhere}]`;
225
+ }
226
+ message += ` ${isBold ? bold : ''}${light}${item.message}${end}`;
227
+ return message + (item.paramStr ? ` ~^~ ${param}${item.paramStr}${end}` : '');
228
+ };
229
+ /**
230
+ * Set current styler by environment
231
+ * */
232
+ if (process.env['NODE_ENV'] === 'local') {
233
+ logStyler = logLocalStyler;
234
+ }
235
+ else {
236
+ logStyler = logDeploymentStyler;
237
+ }
238
+ // endregion defaults
239
+ function emitLog(level, where, message, params) {
240
+ var _a;
241
+ const item = {
242
+ level,
243
+ where,
244
+ now: new Date().toISOString(),
245
+ message: undefined,
246
+ params: undefined,
247
+ };
248
+ if (message instanceof Error) {
249
+ const err = message;
250
+ try {
251
+ if (err[const_1.LY_LOG_ALREADY]) {
252
+ return;
253
+ }
254
+ err[const_1.LY_LOG_ALREADY] = true;
255
+ }
256
+ catch (e) {
257
+ }
258
+ item.message = (0, function_1.errorText)(message);
259
+ item.params = (0, error_fn_1.toErrorJsonBasic)(message, params);
260
+ }
261
+ else {
262
+ if (typeof message !== 'string') {
263
+ if ((0, function_1.isEmpty)(message)) {
264
+ message = '??';
265
+ }
266
+ else {
267
+ if (typeof message === 'object') {
268
+ try {
269
+ if (message[const_1.LY_LOG_ALREADY]) {
270
+ return;
271
+ }
272
+ message[const_1.LY_LOG_ALREADY] = true;
273
+ }
274
+ catch (e) {
275
+ }
276
+ }
277
+ message = (0, function_1.secureJson)(message);
278
+ }
279
+ }
280
+ item.message = message;
281
+ item.params = (0, function_1.isFilledObj)(params) ? params : {};
282
+ }
283
+ if (!item.where && (params === null || params === void 0 ? void 0 : params.where)) {
284
+ try {
285
+ if (typeof params.where === 'string') {
286
+ item.where = params.where;
287
+ delete params.where;
288
+ }
289
+ else if (params.where instanceof Set) {
290
+ const whereList = Array.from(params.where.values());
291
+ item.where = whereList[0];
292
+ params.where.delete(item.where);
293
+ }
294
+ }
295
+ catch (e) {
296
+ }
297
+ }
298
+ if (contextFinder) {
299
+ try {
300
+ item.ctx = contextFinder((_a = item.params) === null || _a === void 0 ? void 0 : _a.req);
301
+ }
302
+ catch (e) {
303
+ }
304
+ }
305
+ (0, event_fn_1.emitEvent)('log', item);
306
+ }
307
+ // region binding
308
+ (0, event_fn_1.listenEvent)('context:finder', (v) => {
309
+ if (typeof v === 'function') {
310
+ contextFinder = v;
311
+ }
312
+ else {
313
+ new error_1.DeveloperError('Invalid context finder lambda', (0, test_fn_1.testCase)(internal_1.FQN, '150'), where).log();
314
+ }
315
+ });
316
+ // bind to event emitter
317
+ (0, event_fn_1.listenEvent)('log', consumeLog);
318
+ // bind to developer error
319
+ error_1.DeveloperError.boundLog(consumeLog);
320
+ // endregion binding
321
+ //# sourceMappingURL=log.fn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.fn.js","sourceRoot":"","sources":["../../src/common/log.fn.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Create new map
3
+ *
4
+ * @param {string} name - name of collection
5
+ * @param {boolean} volatile - if yes: it will be removed after lifecycle run
6
+ * @return {Map<any, any>}
7
+ * */
8
+ export declare function newRepoMap<K, V>(name: string, volatile?: boolean): Map<K, V>;
9
+ /**
10
+ * Remove map by given key
11
+ *
12
+ * @param {symbol} key - key of collection
13
+ * @return {number}
14
+ *
15
+ * Return possibilities:
16
+ * - `-2`: key is not valid symbol
17
+ * - `-1`: key does not exist
18
+ * - `>= 0`: length of removed items in collection
19
+ * */
20
+ export declare function removeRepoMap(key: symbol): number;
21
+ /**
22
+ * Clear map by given key
23
+ *
24
+ * @param {symbol} key - key of collection
25
+ * @return {number}
26
+ *
27
+ * Return possibilities:
28
+ * - `-2`: key is not valid symbol
29
+ * - `-1`: key does not exist
30
+ * - `>= 0`: length of cleared items in collection
31
+ * */
32
+ export declare function clearRepoMap(key: symbol): number;
33
+ /**
34
+ * List all map keys
35
+ *
36
+ * @return {Array<symbol>}
37
+ * */
38
+ export declare function listRepoMaps(): Array<symbol>;
39
+ /**
40
+ * Print all maps
41
+ *
42
+ * @return {Record} - as {key: length of collection}
43
+ *
44
+ * Note: if stringified symbol is duplicated, add index postfix with `#` symbol
45
+ * */
46
+ export declare function printMaps(): Record<string, number>;
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.newRepoMap = newRepoMap;
4
+ exports.removeRepoMap = removeRepoMap;
5
+ exports.clearRepoMap = clearRepoMap;
6
+ exports.listRepoMaps = listRepoMaps;
7
+ exports.printMaps = printMaps;
8
+ const function_1 = require("../function");
9
+ const error_1 = require("../error");
10
+ const internal_1 = require("../internal");
11
+ // region properties
12
+ /**
13
+ * Internal items which stores collections
14
+ * */
15
+ const items = new Map();
16
+ /**
17
+ * Internal volatiles repo which could be cleared after lifecycle run
18
+ * */
19
+ const volatiles = new Set();
20
+ /**
21
+ * Identifier of file
22
+ * */
23
+ const where = `${internal_1.FQN}.MapFn`;
24
+ // endregion properties
25
+ // noinspection JSUnusedGlobalSymbols
26
+ /**
27
+ * Create new map
28
+ *
29
+ * @param {string} name - name of collection
30
+ * @param {boolean} volatile - if yes: it will be removed after lifecycle run
31
+ * @return {Map<any, any>}
32
+ * */
33
+ function newRepoMap(name, volatile) {
34
+ if (!(0, function_1.isText)(name)) {
35
+ throw new error_1.DeveloperError('Invalid new map name', 'newMap#01', where);
36
+ }
37
+ const item = new Map();
38
+ const code = Symbol.for(name.split('#').join(''));
39
+ items.set(code, item);
40
+ if (volatile) {
41
+ volatiles.add(code);
42
+ }
43
+ return item;
44
+ }
45
+ // noinspection JSUnusedGlobalSymbols
46
+ /**
47
+ * Remove map by given key
48
+ *
49
+ * @param {symbol} key - key of collection
50
+ * @return {number}
51
+ *
52
+ * Return possibilities:
53
+ * - `-2`: key is not valid symbol
54
+ * - `-1`: key does not exist
55
+ * - `>= 0`: length of removed items in collection
56
+ * */
57
+ function removeRepoMap(key) {
58
+ const cleared = clearRepoMap(key);
59
+ if (cleared >= 0) {
60
+ items.delete(key);
61
+ if (volatiles.has(key)) {
62
+ volatiles.delete(key);
63
+ }
64
+ }
65
+ return cleared;
66
+ }
67
+ /**
68
+ * Clear map by given key
69
+ *
70
+ * @param {symbol} key - key of collection
71
+ * @return {number}
72
+ *
73
+ * Return possibilities:
74
+ * - `-2`: key is not valid symbol
75
+ * - `-1`: key does not exist
76
+ * - `>= 0`: length of cleared items in collection
77
+ * */
78
+ function clearRepoMap(key) {
79
+ if (typeof key !== 'symbol') {
80
+ return -2;
81
+ }
82
+ if (!items.has(key)) {
83
+ return -1;
84
+ }
85
+ const item = items.get(key);
86
+ const length = item.size;
87
+ item.clear();
88
+ return length;
89
+ }
90
+ // noinspection JSUnusedGlobalSymbols
91
+ /**
92
+ * List all map keys
93
+ *
94
+ * @return {Array<symbol>}
95
+ * */
96
+ function listRepoMaps() {
97
+ return Array.from(items.keys());
98
+ }
99
+ // noinspection JSUnusedGlobalSymbols
100
+ /**
101
+ * Print all maps
102
+ *
103
+ * @return {Record} - as {key: length of collection}
104
+ *
105
+ * Note: if stringified symbol is duplicated, add index postfix with `#` symbol
106
+ * */
107
+ function printMaps() {
108
+ const result = {};
109
+ let index = 0;
110
+ for (const [sym, item] of items.entries()) {
111
+ const key = sym.description;
112
+ if (result[key] === undefined) {
113
+ result[key] = item.size;
114
+ index = 0;
115
+ }
116
+ else {
117
+ index++;
118
+ result[`${key}#${index}`] = item.size;
119
+ }
120
+ }
121
+ return result;
122
+ }
123
+ //# sourceMappingURL=map.fn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map.fn.js","sourceRoot":"","sources":["../../src/common/map.fn.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import { KeyValue, Opt, OptFn } from "../index.types";
2
+ /**
3
+ * It's used to easy arrow function usage for lazy evaluation of options
4
+ *
5
+ * @param {Opt} options - options
6
+ * @return {Opt} - options
7
+ * */
8
+ export declare function optFn<O extends Opt = Opt>(options: O | Opt): O;
9
+ /**
10
+ * Check option, if it's invalid, create empty options
11
+ *
12
+ * @param {(Opt|OptFn)} options - options or options callback
13
+ * @return {Opt} - checked options
14
+ * */
15
+ export declare function optCheck<O extends Opt = Opt>(options: O | OptFn<O> | Opt): O;
16
+ /**
17
+ * Clone existing option
18
+ *
19
+ * @param {Opt} options - source options
20
+ * @return {Opt} - cloned options
21
+ * */
22
+ export declare function optClone<O extends Opt = Opt>(options: O | Opt): O;
23
+ /**
24
+ * Merge two options
25
+ *
26
+ * @param {Opt} options - source options
27
+ * @param {Opt} appended - appended options
28
+ * @return {Opt} - merged options
29
+ * */
30
+ export declare function optAppend<O extends Opt = Opt>(options: O | Opt, appended: O | Opt): O;
31
+ /**
32
+ * Add key=value into options
33
+ *
34
+ * @param {Opt} options - source options
35
+ * @param {string} key - key
36
+ * @param {any} value - value
37
+ * @return {Opt} - added options
38
+ * */
39
+ export declare function optAdd<O extends Opt = Opt>(options: O | OptFn<O> | Opt, key: keyof O | string, value: unknown): O;
40
+ /**
41
+ * Add field into options
42
+ * Note: field could not be multiple in option
43
+ *
44
+ * @param {Opt} options - source options
45
+ * @param {KeyValue} field - value
46
+ * @return {Opt} - added options
47
+ * */
48
+ export declare function optField<O extends Opt = Opt>(options: O | OptFn<O> | Opt, field: KeyValue): O;
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.optFn = optFn;
4
+ exports.optCheck = optCheck;
5
+ exports.optClone = optClone;
6
+ exports.optAppend = optAppend;
7
+ exports.optAdd = optAdd;
8
+ exports.optField = optField;
9
+ const function_1 = require("../function");
10
+ const error_1 = require("../error");
11
+ const internal_1 = require("../internal");
12
+ // region properties
13
+ const where = `${internal_1.FQN}.OptFn`;
14
+ // endregion properties
15
+ // noinspection JSUnusedGlobalSymbols
16
+ /**
17
+ * It's used to easy arrow function usage for lazy evaluation of options
18
+ *
19
+ * @param {Opt} options - options
20
+ * @return {Opt} - options
21
+ * */
22
+ function optFn(options) {
23
+ return ((0, function_1.isObj)(options) ? options : {});
24
+ }
25
+ // noinspection JSUnusedGlobalSymbols
26
+ /**
27
+ * Check option, if it's invalid, create empty options
28
+ *
29
+ * @param {(Opt|OptFn)} options - options or options callback
30
+ * @return {Opt} - checked options
31
+ * */
32
+ function optCheck(options) {
33
+ let o = options;
34
+ if (typeof options === 'function') {
35
+ try {
36
+ o = options();
37
+ }
38
+ catch (e) {
39
+ o = {};
40
+ new error_1.DeveloperError('Raised callback run', 'optCheck#01', where).log(e);
41
+ }
42
+ }
43
+ else if (!(0, function_1.isObj)(options)) {
44
+ o = {};
45
+ }
46
+ return o;
47
+ }
48
+ // noinspection JSUnusedGlobalSymbols
49
+ /**
50
+ * Clone existing option
51
+ *
52
+ * @param {Opt} options - source options
53
+ * @return {Opt} - cloned options
54
+ * */
55
+ function optClone(options) {
56
+ return (0, function_1.secureClone)((0, function_1.isObj)(options) ? options : {});
57
+ }
58
+ /**
59
+ * Merge two options
60
+ *
61
+ * @param {Opt} options - source options
62
+ * @param {Opt} appended - appended options
63
+ * @return {Opt} - merged options
64
+ * */
65
+ function optAppend(options, appended) {
66
+ const o = ((0, function_1.isObj)(options) ? options : {});
67
+ if (!(0, function_1.isObj)(appended)) {
68
+ return o;
69
+ }
70
+ for (const [k, v] of Object.entries(appended)) {
71
+ if (o[k] === undefined) {
72
+ o[k] = v;
73
+ }
74
+ else {
75
+ optAdd(o, k, v);
76
+ }
77
+ }
78
+ return o;
79
+ }
80
+ /**
81
+ * Add key=value into options
82
+ *
83
+ * @param {Opt} options - source options
84
+ * @param {string} key - key
85
+ * @param {any} value - value
86
+ * @return {Opt} - added options
87
+ * */
88
+ function optAdd(options, key, value) {
89
+ const o = ((0, function_1.isObj)(options) ? options : {});
90
+ if (value === undefined || typeof key !== 'string') {
91
+ return o;
92
+ }
93
+ if (key === 'field') {
94
+ return optField(o, value);
95
+ }
96
+ if (o[key] === undefined) {
97
+ o[key] = value;
98
+ }
99
+ else if (o[key] instanceof Set) {
100
+ o[key].add(value);
101
+ }
102
+ else {
103
+ o[key] = new Set([o[key], value]);
104
+ }
105
+ return o;
106
+ }
107
+ /**
108
+ * Add field into options
109
+ * Note: field could not be multiple in option
110
+ *
111
+ * @param {Opt} options - source options
112
+ * @param {KeyValue} field - value
113
+ * @return {Opt} - added options
114
+ * */
115
+ function optField(options, field) {
116
+ const o = ((0, function_1.isObj)(options) ? options : {});
117
+ const t = typeof field;
118
+ if (!['string', 'number'].includes(t)) {
119
+ return o;
120
+ }
121
+ if (o.field !== undefined) {
122
+ if (typeof o.field !== 'string') {
123
+ o.field = '';
124
+ }
125
+ }
126
+ else {
127
+ o.field = '';
128
+ }
129
+ if (o.field === '') {
130
+ o.field = (t === 'string') ? field : `$.[${field}]`;
131
+ }
132
+ else {
133
+ o.field += (t === 'string') ? `.${field}` : `[${field}]`;
134
+ }
135
+ return o;
136
+ }
137
+ //# sourceMappingURL=opt.fn.js.map