topkat-utils 1.2.1 → 1.2.3

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 (46) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/index.js +8 -12
  3. package/dist/index.js.map +1 -1
  4. package/dist/src/array-utils.js +23 -45
  5. package/dist/src/array-utils.js.map +1 -1
  6. package/dist/src/clean-stack-trace.js +7 -7
  7. package/dist/src/clean-stack-trace.js.map +1 -1
  8. package/dist/src/config.js +6 -17
  9. package/dist/src/config.js.map +1 -1
  10. package/dist/src/date-utils.js +89 -139
  11. package/dist/src/date-utils.js.map +1 -1
  12. package/dist/src/env-utils.js +4 -4
  13. package/dist/src/env-utils.js.map +1 -1
  14. package/dist/src/error-utils.js +39 -116
  15. package/dist/src/error-utils.js.map +1 -1
  16. package/dist/src/isset.js +2 -6
  17. package/dist/src/isset.js.map +1 -1
  18. package/dist/src/logger-utils.js +138 -267
  19. package/dist/src/logger-utils.js.map +1 -1
  20. package/dist/src/loop-utils.js +35 -121
  21. package/dist/src/loop-utils.js.map +1 -1
  22. package/dist/src/math-utils.js +8 -24
  23. package/dist/src/math-utils.js.map +1 -1
  24. package/dist/src/mongo-utils.js +6 -20
  25. package/dist/src/mongo-utils.js.map +1 -1
  26. package/dist/src/object-utils.js +74 -114
  27. package/dist/src/object-utils.js.map +1 -1
  28. package/dist/src/regexp-utils.js +6 -7
  29. package/dist/src/regexp-utils.js.map +1 -1
  30. package/dist/src/remove-circular-json-stringify.js +4 -5
  31. package/dist/src/remove-circular-json-stringify.js.map +1 -1
  32. package/dist/src/string-utils.js +49 -107
  33. package/dist/src/string-utils.js.map +1 -1
  34. package/dist/src/tests-utils.js +19 -22
  35. package/dist/src/tests-utils.js.map +1 -1
  36. package/dist/src/timer-utils.js +37 -121
  37. package/dist/src/timer-utils.js.map +1 -1
  38. package/dist/src/transaction-utils.js +44 -129
  39. package/dist/src/transaction-utils.js.map +1 -1
  40. package/dist/src/validation-utils.js +79 -133
  41. package/dist/src/validation-utils.js.map +1 -1
  42. package/dist/src/wtf-utils.js +35 -40
  43. package/dist/src/wtf-utils.js.map +1 -1
  44. package/package.json +4 -4
  45. package/src/config.ts +1 -1
  46. package/tsconfig.json +1 -1
@@ -1,37 +1,16 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
14
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
15
- if (ar || !(i in from)) {
16
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
17
- ar[i] = from[i];
18
- }
19
- }
20
- return to.concat(ar || Array.prototype.slice.call(from));
21
- };
22
2
  Object.defineProperty(exports, "__esModule", { value: true });
23
3
  exports.dim = exports.cliProgressBar = exports.stringifyExtraInfos = exports.stringifyInstanceOfError = exports.logErrPrivate = exports.C = exports.logger = void 0;
24
4
  //----------------------------------------
25
5
  // LOGGER
26
6
  //----------------------------------------
27
- var config_1 = require("./config");
28
- var isset_1 = require("./isset");
29
- var remove_circular_json_stringify_1 = require("./remove-circular-json-stringify");
30
- var clean_stack_trace_1 = require("./clean-stack-trace");
7
+ const config_1 = require("./config");
8
+ const isset_1 = require("./isset");
9
+ const remove_circular_json_stringify_1 = require("./remove-circular-json-stringify");
10
+ const clean_stack_trace_1 = require("./clean-stack-trace");
31
11
  exports.logger = {
32
- log: function (str, type) {
33
- if (type === void 0) { type = 'log'; }
34
- var preprocessLog = (0, config_1.configFn)().preprocessLog;
12
+ log(str, type = 'log') {
13
+ const { preprocessLog } = (0, config_1.configFn)();
35
14
  if (typeof preprocessLog === 'function')
36
15
  str = preprocessLog(str) || str;
37
16
  if ((0, isset_1.isset)(console[type]))
@@ -40,45 +19,43 @@ exports.logger = {
40
19
  console.warn(str);
41
20
  else
42
21
  console.log(str);
43
- exports.logger.raw.push(str + "\n");
22
+ exports.logger.raw.push(str + `\n`);
44
23
  exports.logger.raw = exports.logger.raw.slice(exports.logger.raw.length - (0, config_1.configFn)().nbOfLogsToKeep, exports.logger.raw.length);
45
24
  },
46
25
  /**
47
26
  * @param {String[]|String} inputLogs
48
27
  */
49
- toHtml: function (inputLogs) {
50
- if (inputLogs === void 0) { inputLogs = __spreadArray([], exports.logger.raw, true); }
28
+ toHtml(inputLogs = [...exports.logger.raw]) {
51
29
  if (!Array.isArray(inputLogs))
52
30
  inputLogs = [inputLogs];
53
- var code2css = {
54
- 2: "opacity:.5",
55
- 32: "color:#679933",
56
- 31: "color:#A8383B",
57
- 33: "color:#D7941C",
58
- 35: "color:#C21949",
59
- 36: "color:#128C6D",
60
- 34: "color:#1B568B", // blue
31
+ const code2css = {
32
+ 2: `opacity:.5`,
33
+ 32: `color:#679933`,
34
+ 31: `color:#A8383B`,
35
+ 33: `color:#D7941C`,
36
+ 35: `color:#C21949`,
37
+ 36: `color:#128C6D`,
38
+ 34: `color:#1B568B`, // blue
61
39
  };
62
- var htmlLogs = '';
63
- inputLogs.join('<br/>').split('\x1b[').forEach(function (bit, i) {
40
+ let htmlLogs = '';
41
+ inputLogs.join('<br/>').split('\x1b[').forEach((bit, i) => {
64
42
  // the first doesn't have a preceding (may be undef)
65
43
  if (bit) {
66
44
  if (i !== 0) {
67
- var _a = bit.match(/(^\d\d?)(?:;|m)(?:\d;(\d+);(\d+);(\d+)m)?(.*$)/) || [], code = _a[1], R = _a[2], G = _a[3], B = _a[4], content = _a[5];
45
+ const [, code, R, G, B, content] = bit.match(/(^\d\d?)(?:;|m)(?:\d;(\d+);(\d+);(\d+)m)?(.*$)/) || [];
68
46
  if (content) {
69
- var style = !(0, isset_1.isset)(R) ? (0, isset_1.isset)(code) ? code2css[code] : undefined : "color:rgb(".concat(R, ",").concat(G, ",").concat(B, ")");
70
- htmlLogs += (0, isset_1.isset)(style) ? "<span style='".concat(style, "'>").concat(content.replace(/\n/g, '<br>'), "</span>") : content.replace(/\n/g, '<br>');
47
+ const style = !(0, isset_1.isset)(R) ? (0, isset_1.isset)(code) ? code2css[code] : undefined : `color:rgb(${R},${G},${B})`;
48
+ htmlLogs += (0, isset_1.isset)(style) ? `<span style='${style}'>${content.replace(/\n/g, '<br>')}</span>` : content.replace(/\n/g, '<br>');
71
49
  }
72
50
  }
73
51
  else
74
52
  htmlLogs += bit.replace(/\n/g, '<br>');
75
53
  }
76
54
  });
77
- return "<div style='color:#ccc'>".concat(htmlLogs, "<br></div>");
55
+ return `<div style='color:#ccc'>${htmlLogs}<br></div>`;
78
56
  },
79
- toText: function (inputLogs) {
80
- if (inputLogs === void 0) { inputLogs = __spreadArray([], exports.logger.raw, true); }
81
- var str = Array.isArray(inputLogs) ? inputLogs.join('\n') : inputLogs;
57
+ toText(inputLogs = [...exports.logger.raw]) {
58
+ const str = Array.isArray(inputLogs) ? inputLogs.join('\n') : inputLogs;
82
59
  return str.replace(/\x1b\[.*?m/g, '');
83
60
  },
84
61
  raw: [],
@@ -92,247 +69,153 @@ exports.logger = {
92
69
  // * or C.gradientize(myLongString)
93
70
  */
94
71
  exports.C = {
95
- dim: function (str) { return exports.C.output(2, str); },
96
- green: function (str) { return exports.C.output(32, str); },
97
- red: function (str) { return exports.C.output(31, str); },
98
- yellow: function (str) { return exports.C.output(33, str); },
99
- grey: function (str) { return exports.C.output(2, str); },
100
- magenta: function (str) { return exports.C.output(35, str); },
101
- cyan: function (str) { return exports.C.output(36, str); },
102
- blue: function (str) { return exports.C.output(34, str); },
103
- primary: function (str) {
104
- var primary = (0, config_1.configFn)().terminal.theme.primary;
105
- return exports.C.rgb.apply(exports.C, primary) + str + exports.C.reset;
72
+ dim: str => exports.C.output(2, str),
73
+ green: str => exports.C.output(32, str),
74
+ red: str => exports.C.output(31, str),
75
+ yellow: str => exports.C.output(33, str),
76
+ grey: str => exports.C.output(2, str),
77
+ magenta: str => exports.C.output(35, str),
78
+ cyan: str => exports.C.output(36, str),
79
+ blue: str => exports.C.output(34, str),
80
+ primary: str => {
81
+ const primary = (0, config_1.configFn)().terminal.theme.primary;
82
+ return exports.C.rgb(...primary) + str + exports.C.reset;
106
83
  },
107
84
  reset: '\x1b[0m',
108
- output: function (code, str) {
109
- if (str === void 0) { str = ''; }
110
- return (0, config_1.configFn)().terminal.noColor ? str : "\u001B[".concat(code, "m").concat(str, "\u001B[0m");
111
- },
85
+ output: (code, str = '') => (0, config_1.configFn)().terminal.noColor ? str : `\x1b[${code}m${str}\x1b[0m`,
112
86
  // true RGB colors B-*
113
- rgb: function (r, g, b) {
114
- if (g === void 0) { g = 0; }
115
- if (b === void 0) { b = 0; }
116
- return (0, config_1.configFn)().terminal.noColor || !(0, isset_1.isset)(r, g, b) ? '' : "\u001B[38;2;".concat(r, ";").concat(g, ";").concat(b, "m");
117
- },
118
- bg: function (r, g, b) { return (0, config_1.configFn)().terminal.noColor || !(0, isset_1.isset)(r, g, b) ? '' : "".concat('\x1b[', "48;2;").concat(r, ";").concat(g, ";").concat(b, "m"); },
87
+ rgb: (r, g = 0, b = 0) => (0, config_1.configFn)().terminal.noColor || !(0, isset_1.isset)(r, g, b) ? '' : `\x1b[38;2;${r};${g};${b}m`,
88
+ bg: (r, g, b) => (0, config_1.configFn)().terminal.noColor || !(0, isset_1.isset)(r, g, b) ? '' : `${'\x1b['}48;2;${r};${g};${b}m`,
119
89
  /** Output a line of title */
120
- line: function (title, length, clr, char, paddingX) {
121
- if (title === void 0) { title = ''; }
122
- if (length === void 0) { length = (0, config_1.configFn)().terminal.theme.pageWidth; }
123
- if (clr === void 0) { clr = (0, config_1.configFn)().terminal.theme.primary; }
124
- if (char === void 0) { char = '='; }
125
- if (paddingX === void 0) { paddingX = (0, config_1.configFn)().terminal.theme.paddingX; }
126
- var padX = ' '.repeat(paddingX);
127
- this.log('\u00A0\n' + padX + this.rgb.apply(this, clr) + (title + ' ').padEnd(length, char) + this.reset + padX + '\u00A0\n');
90
+ line(title = '', length = (0, config_1.configFn)().terminal.theme.pageWidth, clr = (0, config_1.configFn)().terminal.theme.primary, char = '=', paddingX = (0, config_1.configFn)().terminal.theme.paddingX) {
91
+ const padX = ' '.repeat(paddingX);
92
+ this.log('\u00A0\n' + padX + this.rgb(...clr) + (title + ' ').padEnd(length, char) + this.reset + padX + '\u00A0\n');
128
93
  },
129
94
  /** Eg: ['cell1', 'cell2', 'cell3'], [25, 15] will start cell2 at 25 and cell 3 at 25 + 15
130
95
  * @param {Array} limits default divide the viewport
131
96
  */
132
- cols: function (strings, limits, clr, paddingX) {
133
- if (limits === void 0) { limits = []; }
134
- if (clr === void 0) { clr = (0, config_1.configFn)().terminal.theme.fontColor; }
135
- if (paddingX === void 0) { paddingX = (0, config_1.configFn)().terminal.theme.paddingX; }
97
+ cols(strings, limits = [], clr = (0, config_1.configFn)().terminal.theme.fontColor, paddingX = (0, config_1.configFn)().terminal.theme.paddingX) {
136
98
  if (!limits.length) {
137
- var colWidth_1 = Math.round((0, config_1.configFn)().terminal.theme.pageWidth / strings.length);
138
- limits = Array(strings.length - 1).fill(2).map(function (itm, i) { return colWidth_1 * i + 1; });
99
+ const colWidth = Math.round((0, config_1.configFn)().terminal.theme.pageWidth / strings.length);
100
+ limits = Array(strings.length - 1).fill(2).map((itm, i) => colWidth * i + 1);
139
101
  }
140
- var str = strings.reduce(function (glob, str, i) {
141
- if (str === void 0) { str = ''; }
142
- var realCharLength = str.toString().replace(/\x1b\[.*?m/, '').length;
143
- var charLength = str.toString().length;
144
- var realLimit = limits[i] + charLength - realCharLength;
102
+ const str = strings.reduce((glob, str = '', i) => {
103
+ const realCharLength = str.toString().replace(/\x1b\[.*?m/, '').length;
104
+ const charLength = str.toString().length;
105
+ const realLimit = limits[i] + charLength - realCharLength;
145
106
  return glob + str.toString().substring(0, realLimit || 999).padEnd(realLimit || 0, ' ');
146
107
  }, '');
147
108
  this.logClr(str, clr, paddingX);
148
109
  },
149
110
  /** Console log alias */
150
- log: function () {
151
- var _this = this;
152
- var stringsCtxMayBeFirstParam = [];
153
- for (var _i = 0; _i < arguments.length; _i++) {
154
- stringsCtxMayBeFirstParam[_i] = arguments[_i];
155
- }
156
- stringsCtxMayBeFirstParam.forEach(function (str) { return _this.logClr(str, undefined, undefined); });
111
+ log(...stringsCtxMayBeFirstParam) {
112
+ stringsCtxMayBeFirstParam.forEach(str => this.logClr(str, undefined, undefined));
157
113
  },
158
- logClr: function (str, clr, paddingX) {
159
- if (clr === void 0) { clr = (0, config_1.configFn)().terminal.theme.fontColor; }
160
- if (paddingX === void 0) { paddingX = (0, config_1.configFn)().terminal.theme.paddingX; }
114
+ logClr(str, clr = (0, config_1.configFn)().terminal.theme.fontColor, paddingX = (0, config_1.configFn)().terminal.theme.paddingX) {
161
115
  if (!(0, isset_1.isset)(str))
162
116
  return;
163
- var padX = ' '.repeat(paddingX);
164
- str = padX + ((0, isset_1.isset)(clr) ? this.rgb.apply(this, clr) : '') + str.toString().replace(/\n/g, '\n' + padX + ((0, isset_1.isset)(clr) ? this.rgb.apply(this, clr) : ''));
117
+ const padX = ' '.repeat(paddingX);
118
+ str = padX + ((0, isset_1.isset)(clr) ? this.rgb(...clr) : '') + str.toString().replace(/\n/g, '\n' + padX + ((0, isset_1.isset)(clr) ? this.rgb(...clr) : ''));
165
119
  exports.logger.log(str + this.reset, 'log');
166
120
  },
167
- info: function () {
168
- var _this = this;
169
- var str = [];
170
- for (var _i = 0; _i < arguments.length; _i++) {
171
- str[_i] = arguments[_i];
172
- }
173
- str.forEach(function (s, i) {
121
+ info(...str) {
122
+ str.forEach((s, i) => {
174
123
  if (i === 0)
175
- _this.logClr('ⓘ ' + s, (0, config_1.configFn)().terminal.theme.primary);
124
+ this.logClr('ⓘ ' + s, (0, config_1.configFn)().terminal.theme.primary);
176
125
  else
177
- _this.log(_this.dimStrSplit(s));
126
+ this.log(this.dimStrSplit(s));
178
127
  });
179
128
  this.log(' ');
180
129
  },
181
- success: function () {
182
- var _this = this;
183
- var str = [];
184
- for (var _i = 0; _i < arguments.length; _i++) {
185
- str[_i] = arguments[_i];
186
- }
187
- str.forEach(function (s, i) {
130
+ success(...str) {
131
+ str.forEach((s, i) => {
188
132
  if (i === 0)
189
- _this.log(_this.green('✓ ' + s));
133
+ this.log(this.green('✓ ' + s));
190
134
  else
191
- _this.log(_this.dimStrSplit(s));
135
+ this.log(this.dimStrSplit(s));
192
136
  });
193
137
  },
194
138
  /** First param **false** to avoid logging stack trace */
195
- error: function () {
196
- var errors = [];
197
- for (var _i = 0; _i < arguments.length; _i++) {
198
- errors[_i] = arguments[_i];
199
- }
200
- return logErrPrivate.apply(void 0, __spreadArray(['error', [255, 0, 0]], errors, false));
201
- },
139
+ error: (...errors) => logErrPrivate('error', [255, 0, 0], ...errors),
202
140
  /** First param **false** to avoid logging stack trace */
203
- warning: function () {
204
- var str = [];
205
- for (var _i = 0; _i < arguments.length; _i++) {
206
- str[_i] = arguments[_i];
207
- }
208
- return logErrPrivate.apply(void 0, __spreadArray(['warn', [255, 122, 0]], str, false));
209
- },
210
- customError: function (color) {
211
- var str = [];
212
- for (var _i = 1; _i < arguments.length; _i++) {
213
- str[_i - 1] = arguments[_i];
214
- }
215
- return logErrPrivate.apply(void 0, __spreadArray(['error', color], str, false));
216
- },
217
- customWarning: function (color) {
218
- var str = [];
219
- for (var _i = 1; _i < arguments.length; _i++) {
220
- str[_i - 1] = arguments[_i];
221
- }
222
- return logErrPrivate.apply(void 0, __spreadArray(['warn', color], str, false));
223
- },
224
- applicationError: function (color) {
225
- var str = [];
226
- for (var _i = 1; _i < arguments.length; _i++) {
227
- str[_i - 1] = arguments[_i];
228
- }
229
- return logErrPrivate.apply(void 0, __spreadArray(['appError', color], str, false));
230
- },
231
- warningLight: function (color) {
232
- var str = [];
233
- for (var _i = 1; _i < arguments.length; _i++) {
234
- str[_i - 1] = arguments[_i];
235
- }
236
- return logErrPrivate.apply(void 0, __spreadArray(['warn', [196, 120, 52]], str, false));
237
- },
238
- dimStrSplit: function () {
239
- var _this = this;
240
- var logs = [];
241
- for (var _i = 0; _i < arguments.length; _i++) {
242
- logs[_i] = arguments[_i];
243
- }
244
- var logsStr = [];
245
- logs.filter(isset_1.isset).forEach(function (log) { return log.toString().split('\n').forEach(function (line) { return line && logsStr.push(_this.dim(" ".concat(line))); }); });
141
+ warning: (...str) => logErrPrivate('warn', [255, 122, 0], ...str),
142
+ customError: (color, ...str) => logErrPrivate('error', color, ...str),
143
+ customWarning: (color, ...str) => logErrPrivate('warn', color, ...str),
144
+ applicationError: (color, ...str) => logErrPrivate('appError', color, ...str),
145
+ warningLight: (color, ...str) => logErrPrivate('warn', [196, 120, 52], ...str),
146
+ dimStrSplit(...logs) {
147
+ let logsStr = [];
148
+ logs.filter(isset_1.isset).forEach(log => log.toString().split('\n').forEach(line => line && logsStr.push(this.dim(` ${line}`))));
246
149
  return logsStr.join('\n');
247
150
  },
248
- notifShow: function () {
151
+ notifShow() {
249
152
  console.log('\n\u00A0');
250
- this.notifications.forEach(function (fn) { return fn(); });
153
+ this.notifications.forEach(fn => fn());
251
154
  this.notifications = [];
252
155
  console.log('\n\u00A0');
253
156
  },
254
157
  /** Keep in memory the logs to show when needed with C.notifShow()
255
158
  * Ex: C.notification('info', str); */
256
- notification: function (type) {
257
- var _this = this;
258
- var messages = [];
259
- for (var _i = 1; _i < arguments.length; _i++) {
260
- messages[_i - 1] = arguments[_i];
261
- }
262
- this.notifications.push(function () {
263
- if ((0, isset_1.isset)(_this[type])) {
264
- _this[type].apply(_this, messages);
159
+ notification(type, ...messages) {
160
+ this.notifications.push(() => {
161
+ if ((0, isset_1.isset)(this[type])) {
162
+ this[type](...messages);
265
163
  }
266
164
  else {
267
- _this.warning('Wrong param for C.notification');
165
+ this.warning('Wrong param for C.notification');
268
166
  }
269
167
  });
270
168
  },
271
169
  notifications: [],
272
170
  /** Gratientize lines of text (separated by \n) */
273
- gradientize: function (str, rgb1, rgb2, bgRgb, paddingY, paddingX) {
274
- var _this = this;
275
- if (str === void 0) { str = ''; }
276
- if (rgb1 === void 0) { rgb1 = (0, config_1.configFn)().terminal.theme.shade1; }
277
- if (rgb2 === void 0) { rgb2 = (0, config_1.configFn)().terminal.theme.shade2; }
278
- if (bgRgb === void 0) { bgRgb = (0, config_1.configFn)().terminal.theme.bgColor; }
279
- if (paddingY === void 0) { paddingY = (0, config_1.configFn)().terminal.theme.paddingY; }
280
- if (paddingX === void 0) { paddingX = (0, config_1.configFn)().terminal.theme.paddingX; }
281
- var lines = str.split('\n');
282
- var largestLine = lines.reduce(function (sum, line) { return sum < line.length ? line.length : sum; }, 0);
283
- var rgbParts = rgb1.map(function (val, i) { return (val - rgb2[i]) / (lines.length); });
284
- var bg = bgRgb ? this.bg(bgRgb[0], bgRgb[1], bgRgb[2]) : '';
285
- var padX = ' '.repeat(paddingX);
286
- var padLine = bg + padX + ' '.padEnd(largestLine, ' ') + padX + '\x1b[0m\n';
171
+ gradientize(str = '', rgb1 = (0, config_1.configFn)().terminal.theme.shade1, rgb2 = (0, config_1.configFn)().terminal.theme.shade2, bgRgb = (0, config_1.configFn)().terminal.theme.bgColor, paddingY = (0, config_1.configFn)().terminal.theme.paddingY, paddingX = (0, config_1.configFn)().terminal.theme.paddingX) {
172
+ const lines = str.split('\n');
173
+ const largestLine = lines.reduce((sum, line) => sum < line.length ? line.length : sum, 0);
174
+ const rgbParts = rgb1.map((val, i) => (val - rgb2[i]) / (lines.length));
175
+ const bg = bgRgb ? this.bg(bgRgb[0], bgRgb[1], bgRgb[2]) : '';
176
+ const padX = ' '.repeat(paddingX);
177
+ const padLine = bg + padX + ' '.padEnd(largestLine, ' ') + padX + '\x1b[0m\n';
287
178
  console.log(padLine.repeat(paddingY) +
288
- lines.reduce(function (s, line, i) {
289
- return s + bg + padX + _this.rgb.apply(_this, rgb1.map(function (val, i2) { return Math.round(val - i * rgbParts[i2]); })) + line.padEnd(largestLine, ' ') + padX + '\x1b[0m\n';
179
+ lines.reduce((s, line, i) => {
180
+ return s + bg + padX + this.rgb(...rgb1.map((val, i2) => Math.round(val - i * rgbParts[i2]))) + line.padEnd(largestLine, ' ') + padX + '\x1b[0m\n';
290
181
  }, '') +
291
182
  padLine.repeat(paddingY));
292
183
  },
293
- debugModeLog: function (title) {
294
- var string = [];
295
- for (var _i = 1; _i < arguments.length; _i++) {
296
- string[_i - 1] = arguments[_i];
297
- }
184
+ debugModeLog(title, ...string) {
298
185
  this.logClr('🐞 ' + title, (0, config_1.configFn)().terminal.theme.debugModeColor, 0);
299
- this.log(this.dimStrSplit.apply(this, string));
186
+ this.log(this.dimStrSplit(...string));
300
187
  },
301
188
  // DEPRECATED
302
- useTheme: function () { },
189
+ useTheme() { },
303
190
  };
304
- function logErrPrivate(type, color) {
305
- var errors = [];
306
- for (var _i = 2; _i < arguments.length; _i++) {
307
- errors[_i - 2] = arguments[_i];
308
- }
309
- var isProd = (0, config_1.configFn)().isProd;
191
+ function logErrPrivate(type, color, ...errors) {
192
+ const { isProd } = (0, config_1.configFn)();
310
193
  if (errors.length === 1 && typeof errors[0].log === 'function')
311
194
  return errors[0].log();
312
- var stackTrace = (new Error('')).stack || '';
313
- var displayStack = errors[0] === false ? errors.shift() : true;
314
- var symbol = type === 'error' ? '✘ ' : '⚠ ';
195
+ let stackTrace = (new Error('')).stack || '';
196
+ const displayStack = errors[0] === false ? errors.shift() : true;
197
+ const symbol = type === 'error' ? '✘ ' : '⚠ ';
315
198
  if (errors.length > 1 && !(0, isset_1.isset)(errors[0]))
316
199
  errors.shift();
317
- var getStringFromErr = function (err, i) {
200
+ const getStringFromErr = (err, i) => {
318
201
  if (!(0, isset_1.isset)(err))
319
202
  return '';
320
203
  else if (typeof err === 'string') {
321
204
  if (i === 0)
322
- return exports.C.rgb.apply(exports.C, color) + symbol + err + exports.C.reset;
205
+ return exports.C.rgb(...color) + symbol + err + exports.C.reset;
323
206
  else
324
- return err.split('\n').map(function (val) { return exports.C.dim(val); }).join('\n');
207
+ return err.split('\n').map(val => exports.C.dim(val)).join('\n');
325
208
  }
326
209
  else if (err instanceof Error) {
327
- var _a = stringifyInstanceOfError(err, type, color), str = _a.str, stkTrc = _a.stackTrace;
210
+ const { str, stackTrace: stkTrc } = stringifyInstanceOfError(err, type, color);
328
211
  if (stkTrc)
329
212
  stackTrace = stkTrc;
330
213
  return str;
331
214
  }
332
215
  else if (typeof err === 'object') {
333
- var msg = '';
334
- msg += (0, remove_circular_json_stringify_1.removeCircularJSONstringify)(err, 2).split('\n').map(function (val) { return exports.C.dim(val); }).join('\n') + '\n';
335
- var _b = stringifyExtraInfos(err.extraInfo || err, type, color), str = _b.str, stkTrc = _b.stackTrace;
216
+ let msg = '';
217
+ msg += (0, remove_circular_json_stringify_1.removeCircularJSONstringify)(err, 2).split('\n').map(val => exports.C.dim(val)).join('\n') + '\n';
218
+ const { str, stackTrace: stkTrc } = stringifyExtraInfos(err.extraInfo || err, type, color);
336
219
  if (stkTrc)
337
220
  stackTrace = stkTrc;
338
221
  msg += str;
@@ -342,7 +225,7 @@ function logErrPrivate(type, color) {
342
225
  return '';
343
226
  };
344
227
  if (errors.length && errors[0]) {
345
- var messages = errors.map(function (e, i) {
228
+ const messages = errors.map((e, i) => {
346
229
  if (typeof e.log === 'function') {
347
230
  e.log();
348
231
  return '';
@@ -358,44 +241,40 @@ function logErrPrivate(type, color) {
358
241
  }
359
242
  }
360
243
  exports.logErrPrivate = logErrPrivate;
361
- function stringifyInstanceOfError(err, type, color, level) {
362
- if (type === void 0) { type = 'error'; }
363
- if (color === void 0) { color = [255, 0, 0]; }
364
- if (level === void 0) { level = 0; }
244
+ function stringifyInstanceOfError(err, type = 'error', color = [255, 0, 0], level = 0) {
365
245
  if (level > 5)
366
246
  return { str: '' };
367
- var str = '';
368
- var stackTrace;
369
- var symbol = type === 'error' ? '✘ ' : '⚠ ';
370
- var title = err.msg || err.message || err.id || (err.stack ? err.stack.split('\n')[0] : 'Error');
247
+ let str = '';
248
+ let stackTrace;
249
+ const symbol = type === 'error' ? '✘ ' : '⚠ ';
250
+ const title = err.msg || err.message || err.id || (err.stack ? err.stack.split('\n')[0] : 'Error');
371
251
  // Err mess
372
- str += exports.C.rgb.apply(exports.C, color) + symbol + title + exports.C.reset + '\n';
252
+ str += exports.C.rgb(...color) + symbol + title + exports.C.reset + '\n';
373
253
  if (err.stack)
374
254
  stackTrace = err.stack; // more relevant
375
255
  // ExtraInfos
376
256
  if ((0, isset_1.isset)(err.extraInfo)) {
377
- var _a = stringifyExtraInfos(err.extraInfo, type, color, level++), str2 = _a.str, stkTrc = _a.stackTrace;
257
+ const { str: str2, stackTrace: stkTrc } = stringifyExtraInfos(err.extraInfo, type, color, level++);
378
258
  if (stkTrc)
379
259
  stackTrace = stkTrc;
380
260
  str += str2;
381
261
  }
382
- return { str: str, stackTrace: stackTrace };
262
+ return { str, stackTrace };
383
263
  }
384
264
  exports.stringifyInstanceOfError = stringifyInstanceOfError;
385
- function stringifyExtraInfos(extraInfoOriginal, type, color, level) {
386
- if (level === void 0) { level = 0; }
387
- var stackTrace;
388
- var originalError = [exports.C.dim("ORIGINAL ERROR ".concat('-'.repeat(39), "\n"))];
265
+ function stringifyExtraInfos(extraInfoOriginal, type, color, level = 0) {
266
+ let stackTrace;
267
+ const originalError = [exports.C.dim(`ORIGINAL ERROR ${'-'.repeat(39)}\n`)];
389
268
  if (extraInfoOriginal instanceof Error) { // case where error is passed directly to extraInfos
390
269
  return stringifyInstanceOfError(extraInfoOriginal, type, color);
391
270
  }
392
271
  else {
393
- var extraInfo = __assign({}, extraInfoOriginal);
394
- var extraInfos = [exports.C.dim("EXTRA INFOS ".concat('-'.repeat(41), "\n"))];
272
+ const extraInfo = Object.assign({}, extraInfoOriginal);
273
+ const extraInfos = [exports.C.dim(`EXTRA INFOS ${'-'.repeat(41)}\n`)];
395
274
  if (typeof extraInfo === 'object' && Object.keys(extraInfo).length) {
396
- for (var itemName in extraInfo) {
275
+ for (const itemName in extraInfo) {
397
276
  if (extraInfo[itemName] instanceof Error) {
398
- var _a = stringifyInstanceOfError(extraInfo[itemName], type, color, level++), str = _a.str, stkTrc = _a.stackTrace;
277
+ const { str, stackTrace: stkTrc } = stringifyInstanceOfError(extraInfo[itemName], type, color, level++);
399
278
  originalError.push(str);
400
279
  stackTrace = stkTrc;
401
280
  delete extraInfo[itemName];
@@ -407,11 +286,11 @@ function stringifyExtraInfos(extraInfoOriginal, type, color, level) {
407
286
  .replace(/(?:^\s*{(?:\n {2})?|}\s*$)/g, '')
408
287
  .replace(/\n {2}/g, '\n')
409
288
  .split('\n')
410
- .map(function (val) { return exports.C.dim(val); }).join('\n') + '\n');
289
+ .map(val => exports.C.dim(val)).join('\n') + '\n');
411
290
  }
412
291
  return {
413
292
  str: (extraInfos.length > 1 ? extraInfos.join('') : '') + (originalError.length > 1 ? originalError.join('') + '\n' : ''),
414
- stackTrace: stackTrace
293
+ stackTrace
415
294
  };
416
295
  }
417
296
  }
@@ -422,22 +301,18 @@ exports.stringifyExtraInfos = stringifyExtraInfos;
422
301
  * @param {String} char Default: '.'
423
302
  * @param {String} msg String before char. Final output will be `${str}${char.repeat(step)}`
424
303
  */
425
- function cliProgressBar(step, char, msg) {
426
- if (char === void 0) { char = '.'; }
427
- if (msg === void 0) { msg = "\u001B[2m\u24D8 Waiting response"; }
304
+ function cliProgressBar(step, char = '.', msg = `\x1b[2mⓘ Waiting response`) {
428
305
  if ((0, isset_1.isset)(process) && (0, isset_1.isset)(process.stdout) && (0, isset_1.isset)(process.stdout.clearLine)) {
429
306
  process.stdout.clearLine(0);
430
307
  process.stdout.cursorTo(0);
431
- process.stdout.write("".concat(msg).concat(char.repeat(step), "\u001B[0m")); // \x1b[0m == reset color
308
+ process.stdout.write(`${msg}${char.repeat(step)}\x1b[0m`); // \x1b[0m == reset color
432
309
  }
433
310
  }
434
311
  exports.cliProgressBar = cliProgressBar;
435
312
  /** This allow an intuitive inline loading spinner with a check mark when loading as finished or a red cross for errors */
436
- var cliLoadingSpinner = /** @class */ (function () {
437
- function cliLoadingSpinner(type, activeProcess) {
438
- if (type === void 0) { type = 'dots'; }
439
- if (activeProcess === void 0) { activeProcess = process; }
440
- var anims = {
313
+ class cliLoadingSpinner {
314
+ constructor(type = 'dots', activeProcess = process) {
315
+ const anims = {
441
316
  arrow: {
442
317
  interval: 120,
443
318
  frames: ['▹▹▹▹▹', '▸▹▹▹▹', '▹▸▹▹▹', '▹▹▸▹▹', '▹▹▹▸▹', '▹▹▹▹▸']
@@ -451,34 +326,30 @@ var cliLoadingSpinner = /** @class */ (function () {
451
326
  this.animFrames = anims[type].frames;
452
327
  this.activeProcess = activeProcess;
453
328
  }
454
- cliLoadingSpinner.prototype.start = function (msg) {
455
- var _this = this;
329
+ start(msg) {
456
330
  this.frameNb = 0;
457
331
  this.progressMessage = msg;
458
- this.interval = setInterval(function () {
459
- _this.activeProcess.stdout.clearLine();
460
- _this.activeProcess.stdout.cursorTo(0);
461
- var symbol = _this.animFrames[_this.frameNb++ % _this.animFrames.length];
462
- _this.activeProcess.stdout.write(exports.C.primary(symbol) + ' ' + _this.progressMessage);
332
+ this.interval = setInterval(() => {
333
+ this.activeProcess.stdout.clearLine();
334
+ this.activeProcess.stdout.cursorTo(0);
335
+ const symbol = this.animFrames[this.frameNb++ % this.animFrames.length];
336
+ this.activeProcess.stdout.write(exports.C.primary(symbol) + ' ' + this.progressMessage);
463
337
  }, this.frameRate);
464
- };
465
- cliLoadingSpinner.prototype.end = function (error) {
466
- if (error === void 0) { error = false; }
338
+ }
339
+ end(error = false) {
467
340
  clearInterval(this.interval);
468
341
  this.activeProcess.stdout.clearLine();
469
342
  this.activeProcess.stdout.cursorTo(0);
470
343
  this.activeProcess.stdout.write(error ? exports.C.red('✘ ' + this.progressMessage + '\n\n')
471
344
  : '\x1b[32m✓ ' + this.progressMessage + '\n\n');
472
345
  this.progressMessage = '';
473
- };
474
- cliLoadingSpinner.prototype.error = function () {
346
+ }
347
+ error() {
475
348
  return this.end(true);
476
- };
477
- return cliLoadingSpinner;
478
- }());
479
- function dim(str) {
480
- if (str === void 0) { str = ''; }
481
- return (0, config_1.configFn)().terminal.noColor ? str : "\u001B[2m".concat(str.toString().split('\n').join('\x1b[0m\n\x1b[2m'), "\u001B[0m");
349
+ }
350
+ }
351
+ function dim(str = '') {
352
+ return (0, config_1.configFn)().terminal.noColor ? str : `\x1b[2m${str.toString().split('\n').join('\x1b[0m\n\x1b[2m')}\x1b[0m`;
482
353
  }
483
354
  exports.dim = dim;
484
355
  //# sourceMappingURL=logger-utils.js.map