topkat-utils 1.3.9 → 1.3.11

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 (37) hide show
  1. package/coverage/clover.xml +150 -158
  2. package/coverage/coverage-final.json +4 -4
  3. package/coverage/lcov-report/clean-stack-trace.ts.html +1 -1
  4. package/coverage/lcov-report/config.ts.html +7 -19
  5. package/coverage/lcov-report/error-utils.ts.html +15 -6
  6. package/coverage/lcov-report/index.html +35 -35
  7. package/coverage/lcov-report/is-empty.ts.html +1 -1
  8. package/coverage/lcov-report/is-nodejs.ts.html +1 -1
  9. package/coverage/lcov-report/is-object.ts.html +1 -1
  10. package/coverage/lcov-report/isset.ts.html +1 -1
  11. package/coverage/lcov-report/logger-utils.ts.html +22 -43
  12. package/coverage/lcov-report/loop-utils.ts.html +1 -1
  13. package/coverage/lcov-report/math-utils.ts.html +1 -1
  14. package/coverage/lcov-report/object-utils.ts.html +15 -15
  15. package/coverage/lcov-report/regexp-utils.ts.html +1 -1
  16. package/coverage/lcov-report/remove-circular-json-stringify.ts.html +1 -1
  17. package/coverage/lcov-report/string-utils.ts.html +1 -1
  18. package/coverage/lcov-report/timer-utils.ts.html +1 -1
  19. package/coverage/lcov-report/transaction-utils.ts.html +1 -1
  20. package/coverage/lcov.info +200 -210
  21. package/dist/src/config.d.ts +0 -2
  22. package/dist/src/config.js +0 -2
  23. package/dist/src/config.js.map +1 -1
  24. package/dist/src/error-utils.d.ts +1 -0
  25. package/dist/src/error-utils.js +3 -0
  26. package/dist/src/error-utils.js.map +1 -1
  27. package/dist/src/logger-utils.d.ts +5 -5
  28. package/dist/src/logger-utils.js +14 -20
  29. package/dist/src/logger-utils.js.map +1 -1
  30. package/dist/src/object-utils.d.ts +1 -1
  31. package/dist/src/object-utils.js +1 -1
  32. package/dist/src/object-utils.js.map +1 -1
  33. package/package.json +2 -1
  34. package/src/config.ts +0 -4
  35. package/src/error-utils.ts +3 -0
  36. package/src/logger-utils.ts +14 -21
  37. package/src/object-utils.ts +2 -2
@@ -184,7 +184,7 @@ export function cleanStackTrace(stack) {
184
184
  <div class='footer quiet pad2 space-top1 center small'>
185
185
  Code coverage generated by
186
186
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
187
- at 2025-03-18T22:01:30.043Z
187
+ at 2025-03-19T11:41:20.328Z
188
188
  </div>
189
189
  <script src="prettify.js"></script>
190
190
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">72.34% </span>
26
+ <span class="strong">71.11% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>68/94</span>
28
+ <span class='fraction'>64/90</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">72.34% </span>
47
+ <span class="strong">71.11% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>68/94</span>
49
+ <span class='fraction'>64/90</span>
50
50
  </div>
51
51
 
52
52
 
@@ -152,11 +152,7 @@
152
152
  <a name='L87'></a><a href='#L87'>87</a>
153
153
  <a name='L88'></a><a href='#L88'>88</a>
154
154
  <a name='L89'></a><a href='#L89'>89</a>
155
- <a name='L90'></a><a href='#L90'>90</a>
156
- <a name='L91'></a><a href='#L91'>91</a>
157
- <a name='L92'></a><a href='#L92'>92</a>
158
- <a name='L93'></a><a href='#L93'>93</a>
159
- <a name='L94'></a><a href='#L94'>94</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
155
+ <a name='L90'></a><a href='#L90'>90</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
160
156
  <span class="cline-any cline-yes">2x</span>
161
157
  <span class="cline-any cline-yes">2x</span>
162
158
  <span class="cline-any cline-yes">2x</span>
@@ -210,11 +206,7 @@
210
206
  <span class="cline-any cline-yes">2x</span>
211
207
  <span class="cline-any cline-yes">2x</span>
212
208
  <span class="cline-any cline-yes">2x</span>
213
- <span class="cline-any cline-yes">2x</span>
214
- <span class="cline-any cline-yes">2x</span>
215
- <span class="cline-any cline-yes">2x</span>
216
- <span class="cline-any cline-yes">2x</span>
217
- <span class="cline-any cline-yes">10x</span>
209
+ <span class="cline-any cline-yes">8x</span>
218
210
  <span class="cline-any cline-yes">2x</span>
219
211
  <span class="cline-any cline-no">&nbsp;</span>
220
212
  <span class="cline-any cline-no">&nbsp;</span>
@@ -260,8 +252,6 @@ type TerminalTheme = {
260
252
  shade1?: Color,
261
253
  shade2?: Color,
262
254
  bgColor?: Color
263
- paddingX?: number
264
- paddingY?: number
265
255
  fontColor?: Color
266
256
  pageWidth?: number
267
257
  debugModeColor?: Color,
@@ -298,8 +288,6 @@ let config = {
298
288
  primary: [0, 149, 250], // blue theme
299
289
  shade1: [0, 90, 250],
300
290
  shade2: [0, 208, 245],
301
- paddingX: 2,
302
- paddingY: 2,
303
291
  pageWidth: 53,
304
292
  debugModeColor: [201, 27, 169],
305
293
  }
@@ -349,7 +337,7 @@ type RecursivePartial&lt;T&gt; = {
349
337
  <div class='footer quiet pad2 space-top1 center small'>
350
338
  Code coverage generated by
351
339
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
352
- at 2025-03-18T22:01:30.043Z
340
+ at 2025-03-19T11:41:20.328Z
353
341
  </div>
354
342
  <script src="prettify.js"></script>
355
343
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">13.42% </span>
26
+ <span class="strong">13.24% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>29/216</span>
28
+ <span class='fraction'>29/219</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">13.42% </span>
47
+ <span class="strong">13.24% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>29/216</span>
49
+ <span class='fraction'>29/219</span>
50
50
  </div>
51
51
 
52
52
 
@@ -278,7 +278,10 @@
278
278
  <a name='L213'></a><a href='#L213'>213</a>
279
279
  <a name='L214'></a><a href='#L214'>214</a>
280
280
  <a name='L215'></a><a href='#L215'>215</a>
281
- <a name='L216'></a><a href='#L216'>216</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
281
+ <a name='L216'></a><a href='#L216'>216</a>
282
+ <a name='L217'></a><a href='#L217'>217</a>
283
+ <a name='L218'></a><a href='#L218'>218</a>
284
+ <a name='L219'></a><a href='#L219'>219</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
282
285
  <span class="cline-any cline-yes">2x</span>
283
286
  <span class="cline-any cline-yes">2x</span>
284
287
  <span class="cline-any cline-yes">2x</span>
@@ -490,6 +493,9 @@
490
493
  <span class="cline-any cline-no">&nbsp;</span>
491
494
  <span class="cline-any cline-no">&nbsp;</span>
492
495
  <span class="cline-any cline-no">&nbsp;</span>
496
+ <span class="cline-any cline-no">&nbsp;</span>
497
+ <span class="cline-any cline-no">&nbsp;</span>
498
+ <span class="cline-any cline-no">&nbsp;</span>
493
499
  <span class="cline-any cline-yes">2x</span>
494
500
  <span class="cline-any cline-no">&nbsp;</span>
495
501
  <span class="cline-any cline-no">&nbsp;</span>
@@ -704,6 +710,9 @@ export const failSafe = tryCatch // ALIAS
704
710
  <span class="cstat-no" title="statement not covered" > toString() {</span>
705
711
  <span class="cstat-no" title="statement not covered" > return this.logs.join('\n')</span>
706
712
  <span class="cstat-no" title="statement not covered" > }</span>
713
+ <span class="cstat-no" title="statement not covered" > toJSON() {</span>
714
+ <span class="cstat-no" title="statement not covered" > return this.toString()</span>
715
+ <span class="cstat-no" title="statement not covered" > }</span>
707
716
  <span class="cstat-no" title="statement not covered" >}</span>
708
717
  &nbsp;
709
718
  <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >function computeErrorMessage(err) {</span></span>
@@ -715,7 +724,7 @@ export const failSafe = tryCatch // ALIAS
715
724
  <div class='footer quiet pad2 space-top1 center small'>
716
725
  Code coverage generated by
717
726
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
718
- at 2025-03-18T22:01:30.043Z
727
+ at 2025-03-19T11:41:20.328Z
719
728
  </div>
720
729
  <script src="prettify.js"></script>
721
730
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">39.46% </span>
26
+ <span class="strong">39.05% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>764/1936</span>
28
+ <span class='fraction'>753/1928</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">57.69% </span>
33
+ <span class="strong">59.61% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>30/52</span>
35
+ <span class='fraction'>31/52</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">9.48% </span>
40
+ <span class="strong">9.55% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>13/137</span>
42
+ <span class='fraction'>13/136</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">39.46% </span>
47
+ <span class="strong">39.05% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>764/1936</span>
49
+ <span class='fraction'>753/1928</span>
50
50
  </div>
51
51
 
52
52
 
@@ -95,32 +95,32 @@
95
95
 
96
96
  <tr>
97
97
  <td class="file medium" data-value="config.ts"><a href="config.ts.html">config.ts</a></td>
98
- <td data-value="72.34" class="pic medium">
99
- <div class="chart"><div class="cover-fill" style="width: 72%"></div><div class="cover-empty" style="width: 28%"></div></div>
98
+ <td data-value="71.11" class="pic medium">
99
+ <div class="chart"><div class="cover-fill" style="width: 71%"></div><div class="cover-empty" style="width: 29%"></div></div>
100
100
  </td>
101
- <td data-value="72.34" class="pct medium">72.34%</td>
102
- <td data-value="94" class="abs medium">68/94</td>
101
+ <td data-value="71.11" class="pct medium">71.11%</td>
102
+ <td data-value="90" class="abs medium">64/90</td>
103
103
  <td data-value="100" class="pct high">100%</td>
104
104
  <td data-value="1" class="abs high">1/1</td>
105
105
  <td data-value="50" class="pct medium">50%</td>
106
106
  <td data-value="2" class="abs medium">1/2</td>
107
- <td data-value="72.34" class="pct medium">72.34%</td>
108
- <td data-value="94" class="abs medium">68/94</td>
107
+ <td data-value="71.11" class="pct medium">71.11%</td>
108
+ <td data-value="90" class="abs medium">64/90</td>
109
109
  </tr>
110
110
 
111
111
  <tr>
112
112
  <td class="file low" data-value="error-utils.ts"><a href="error-utils.ts.html">error-utils.ts</a></td>
113
- <td data-value="13.42" class="pic low">
113
+ <td data-value="13.24" class="pic low">
114
114
  <div class="chart"><div class="cover-fill" style="width: 13%"></div><div class="cover-empty" style="width: 87%"></div></div>
115
115
  </td>
116
- <td data-value="13.42" class="pct low">13.42%</td>
117
- <td data-value="216" class="abs low">29/216</td>
116
+ <td data-value="13.24" class="pct low">13.24%</td>
117
+ <td data-value="219" class="abs low">29/219</td>
118
118
  <td data-value="0" class="pct low">0%</td>
119
119
  <td data-value="1" class="abs low">0/1</td>
120
120
  <td data-value="0" class="pct low">0%</td>
121
121
  <td data-value="10" class="abs low">0/10</td>
122
- <td data-value="13.42" class="pct low">13.42%</td>
123
- <td data-value="216" class="abs low">29/216</td>
122
+ <td data-value="13.24" class="pct low">13.24%</td>
123
+ <td data-value="219" class="abs low">29/219</td>
124
124
  </tr>
125
125
 
126
126
  <tr>
@@ -185,17 +185,17 @@
185
185
 
186
186
  <tr>
187
187
  <td class="file low" data-value="logger-utils.ts"><a href="logger-utils.ts.html">logger-utils.ts</a></td>
188
- <td data-value="41.2" class="pic low">
189
- <div class="chart"><div class="cover-fill" style="width: 41%"></div><div class="cover-empty" style="width: 59%"></div></div>
188
+ <td data-value="40.89" class="pic low">
189
+ <div class="chart"><div class="cover-fill" style="width: 40%"></div><div class="cover-empty" style="width: 60%"></div></div>
190
190
  </td>
191
- <td data-value="41.2" class="pct low">41.2%</td>
192
- <td data-value="364" class="abs low">150/364</td>
193
- <td data-value="27.27" class="pct low">27.27%</td>
194
- <td data-value="22" class="abs low">6/22</td>
191
+ <td data-value="40.89" class="pct low">40.89%</td>
192
+ <td data-value="357" class="abs low">146/357</td>
193
+ <td data-value="31.81" class="pct low">31.81%</td>
194
+ <td data-value="22" class="abs low">7/22</td>
195
195
  <td data-value="12.5" class="pct low">12.5%</td>
196
196
  <td data-value="40" class="abs low">5/40</td>
197
- <td data-value="41.2" class="pct low">41.2%</td>
198
- <td data-value="364" class="abs low">150/364</td>
197
+ <td data-value="40.89" class="pct low">40.89%</td>
198
+ <td data-value="357" class="abs low">146/357</td>
199
199
  </tr>
200
200
 
201
201
  <tr>
@@ -230,17 +230,17 @@
230
230
 
231
231
  <tr>
232
232
  <td class="file low" data-value="object-utils.ts"><a href="object-utils.ts.html">object-utils.ts</a></td>
233
- <td data-value="29.37" class="pic low">
234
- <div class="chart"><div class="cover-fill" style="width: 29%"></div><div class="cover-empty" style="width: 71%"></div></div>
233
+ <td data-value="28.72" class="pic low">
234
+ <div class="chart"><div class="cover-fill" style="width: 28%"></div><div class="cover-empty" style="width: 72%"></div></div>
235
235
  </td>
236
- <td data-value="29.37" class="pct low">29.37%</td>
237
- <td data-value="463" class="abs low">136/463</td>
236
+ <td data-value="28.72" class="pct low">28.72%</td>
237
+ <td data-value="463" class="abs low">133/463</td>
238
238
  <td data-value="100" class="pct high">100%</td>
239
239
  <td data-value="0" class="abs high">0/0</td>
240
240
  <td data-value="0" class="pct low">0%</td>
241
- <td data-value="29" class="abs low">0/29</td>
242
- <td data-value="29.37" class="pct low">29.37%</td>
243
- <td data-value="463" class="abs low">136/463</td>
241
+ <td data-value="28" class="abs low">0/28</td>
242
+ <td data-value="28.72" class="pct low">28.72%</td>
243
+ <td data-value="463" class="abs low">133/463</td>
244
244
  </tr>
245
245
 
246
246
  <tr>
@@ -326,7 +326,7 @@
326
326
  <div class='footer quiet pad2 space-top1 center small'>
327
327
  Code coverage generated by
328
328
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
329
- at 2025-03-18T22:01:30.043Z
329
+ at 2025-03-19T11:41:20.328Z
330
330
  </div>
331
331
  <script src="prettify.js"></script>
332
332
  <script>
@@ -88,7 +88,7 @@
88
88
  <div class='footer quiet pad2 space-top1 center small'>
89
89
  Code coverage generated by
90
90
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
91
- at 2025-03-18T22:01:30.043Z
91
+ at 2025-03-19T11:41:20.328Z
92
92
  </div>
93
93
  <script src="prettify.js"></script>
94
94
  <script>
@@ -94,7 +94,7 @@ export function isNodeJs(): boolean {
94
94
  <div class='footer quiet pad2 space-top1 center small'>
95
95
  Code coverage generated by
96
96
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
97
- at 2025-03-18T22:01:30.043Z
97
+ at 2025-03-19T11:41:20.328Z
98
98
  </div>
99
99
  <script src="prettify.js"></script>
100
100
  <script>
@@ -76,7 +76,7 @@
76
76
  <div class='footer quiet pad2 space-top1 center small'>
77
77
  Code coverage generated by
78
78
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
79
- at 2025-03-18T22:01:30.043Z
79
+ at 2025-03-19T11:41:20.328Z
80
80
  </div>
81
81
  <script src="prettify.js"></script>
82
82
  <script>
@@ -76,7 +76,7 @@
76
76
  <div class='footer quiet pad2 space-top1 center small'>
77
77
  Code coverage generated by
78
78
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
79
- at 2025-03-18T22:01:30.043Z
79
+ at 2025-03-19T11:41:20.328Z
80
80
  </div>
81
81
  <script src="prettify.js"></script>
82
82
  <script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">41.2% </span>
26
+ <span class="strong">40.89% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>150/364</span>
28
+ <span class='fraction'>146/357</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">27.27% </span>
33
+ <span class="strong">31.81% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>6/22</span>
35
+ <span class='fraction'>7/22</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">41.2% </span>
47
+ <span class="strong">40.89% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>150/364</span>
49
+ <span class='fraction'>146/357</span>
50
50
  </div>
51
51
 
52
52
 
@@ -421,18 +421,7 @@
421
421
  <a name='L356'></a><a href='#L356'>356</a>
422
422
  <a name='L357'></a><a href='#L357'>357</a>
423
423
  <a name='L358'></a><a href='#L358'>358</a>
424
- <a name='L359'></a><a href='#L359'>359</a>
425
- <a name='L360'></a><a href='#L360'>360</a>
426
- <a name='L361'></a><a href='#L361'>361</a>
427
- <a name='L362'></a><a href='#L362'>362</a>
428
- <a name='L363'></a><a href='#L363'>363</a>
429
- <a name='L364'></a><a href='#L364'>364</a>
430
- <a name='L365'></a><a href='#L365'>365</a>
431
- <a name='L366'></a><a href='#L366'>366</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
432
- <span class="cline-any cline-yes">2x</span>
433
- <span class="cline-any cline-yes">2x</span>
434
- <span class="cline-any cline-yes">2x</span>
435
- <span class="cline-any cline-yes">2x</span>
424
+ <a name='L359'></a><a href='#L359'>359</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
436
425
  <span class="cline-any cline-yes">2x</span>
437
426
  <span class="cline-any cline-yes">2x</span>
438
427
  <span class="cline-any cline-yes">2x</span>
@@ -524,7 +513,6 @@
524
513
  <span class="cline-any cline-yes">2x</span>
525
514
  <span class="cline-any cline-yes">2x</span>
526
515
  <span class="cline-any cline-no">&nbsp;</span>
527
- <span class="cline-any cline-no">&nbsp;</span>
528
516
  <span class="cline-any cline-yes">2x</span>
529
517
  <span class="cline-any cline-yes">2x</span>
530
518
  <span class="cline-any cline-yes">2x</span>
@@ -551,7 +539,6 @@
551
539
  <span class="cline-any cline-no">&nbsp;</span>
552
540
  <span class="cline-any cline-no">&nbsp;</span>
553
541
  <span class="cline-any cline-no">&nbsp;</span>
554
- <span class="cline-any cline-no">&nbsp;</span>
555
542
  <span class="cline-any cline-yes">2x</span>
556
543
  <span class="cline-any cline-yes">2x</span>
557
544
  <span class="cline-any cline-no">&nbsp;</span>
@@ -612,7 +599,6 @@
612
599
  <span class="cline-any cline-no">&nbsp;</span>
613
600
  <span class="cline-any cline-no">&nbsp;</span>
614
601
  <span class="cline-any cline-no">&nbsp;</span>
615
- <span class="cline-any cline-no">&nbsp;</span>
616
602
  <span class="cline-any cline-yes">2x</span>
617
603
  <span class="cline-any cline-yes">2x</span>
618
604
  <span class="cline-any cline-no">&nbsp;</span>
@@ -812,10 +798,6 @@ export const logger = {
812
798
  log(str: string, level: LogLevels = 'info') {
813
799
  const { preprocessLog } = configFn()
814
800
  if (typeof preprocessLog === 'function') <span class="branch-0 cbranch-no" title="branch not covered" >str = preprocessLog(str) || str</span>
815
- &nbsp;
816
- const paddingX = configFn()?.terminal?.theme?.paddingX
817
- const padX = ' '.repeat(paddingX<span class="branch-0 cbranch-no" title="branch not covered" > || 0)</span>
818
- str = padX + str.replace(/\n/g, '\n' + padX)
819
801
  &nbsp;
820
802
  if (isset(console[level])) console[level](str)
821
803
  <span class="cstat-no" title="statement not covered" ><span class="branch-0 cbranch-no" title="branch not covered" > else console.log(str)</span></span>
@@ -864,7 +846,7 @@ export const logger = {
864
846
  /**
865
847
  // console colored output
866
848
  // * console.log(C.green(C.dim('Hey bro !')))
867
- // * or C.log() // will use padding and color defined by themes
849
+ // * or C.log() // will use color defined by themes
868
850
  // * or C.line('MY TITLE', 53)
869
851
  // * or C.gradientize(myLongString)
870
852
  */
@@ -887,14 +869,13 @@ export const C = {
887
869
  rgb: (r, g = 0, b = 0) =&gt; configFn()?.terminal?.noColor || !isset(r, g, b) <span class="branch-0 cbranch-no" title="branch not covered" >? '' </span>: `\x1b[38;2;${r};${g};${b}m`,
888
870
  bg: <span class="fstat-no" title="function not covered" >(r?, g?, b?) =&gt; configFn()?.terminal?.noColor || !isset(r, g, b) ? '' : `${'\x1b['}48;2;${r};${g};${b}m`,</span>
889
871
  /** Output a line of title */
890
- <span class="fstat-no" title="function not covered" > line(title = '', length = configFn()?.terminal?.theme?.pageWidth, clr = configFn()?.terminal?.theme?.primary, char = '=', paddingX = configFn()?.terminal?.theme?.paddingX) {</span>
891
- <span class="cstat-no" title="statement not covered" > const padX = ' '.repeat(paddingX || 0)</span>
892
- <span class="cstat-no" title="statement not covered" > this.log('\u00A0\n' + padX + this.rgb(...clr) + (title + ' ').padEnd(length || 0, char) + this.reset + padX + '\u00A0\n')</span>
872
+ <span class="fstat-no" title="function not covered" > line(title = '', length = configFn()?.terminal?.theme?.pageWidth, clr = configFn()?.terminal?.theme?.primary, char = '=') {</span>
873
+ <span class="cstat-no" title="statement not covered" > this.log('\u00A0\n' + this.rgb(...clr) + (title + ' ').padEnd(length || 0, char) + this.reset + '\u00A0\n')</span>
893
874
  },
894
875
  /** Eg: ['cell1', 'cell2', 'cell3'], [25, 15] will start cell2 at 25 and cell 3 at 25 + 15
895
876
  * @param {Array} limits default divide the viewport
896
877
  */
897
- <span class="fstat-no" title="function not covered" > cols(strings, limits: number[] = [], clr = configFn()?.terminal?.theme?.fontColor, paddingX = configFn()?.terminal?.theme?.paddingX) {</span>
878
+ <span class="fstat-no" title="function not covered" > cols(strings, limits: number[] = [], clr = configFn()?.terminal?.theme?.fontColor) {</span>
898
879
  <span class="cstat-no" title="statement not covered" ></span>
899
880
  <span class="cstat-no" title="statement not covered" > if (!limits.length) {</span>
900
881
  <span class="cstat-no" title="statement not covered" > const colWidth = Math.round(configFn()?.terminal?.theme.pageWidth / strings.length)</span>
@@ -906,16 +887,15 @@ export const C = {
906
887
  <span class="cstat-no" title="statement not covered" > const realLimit = limits[i] + charLength - realCharLength</span>
907
888
  <span class="cstat-no" title="statement not covered" > return glob + str.toString().substring(0, realLimit || 999).padEnd(realLimit || 0, ' ')</span>
908
889
  <span class="cstat-no" title="statement not covered" > }, '')</span>
909
- <span class="cstat-no" title="statement not covered" > this.logClr(str, clr, paddingX)</span>
890
+ <span class="cstat-no" title="statement not covered" > this.logClr(str, clr)</span>
910
891
  },
911
892
  /** Console log alias */
912
893
  <span class="fstat-no" title="function not covered" > log(...stringsCtxMayBeFirstParam) {</span>
913
- <span class="cstat-no" title="statement not covered" > stringsCtxMayBeFirstParam.forEach(str =&gt; this.logClr(str, undefined, undefined))</span>
894
+ <span class="cstat-no" title="statement not covered" > stringsCtxMayBeFirstParam.forEach(str =&gt; this.logClr(str))</span>
914
895
  },
915
- <span class="fstat-no" title="function not covered" > logClr(str, clr = configFn()?.terminal?.theme?.fontColor, paddingX = configFn()?.terminal?.theme?.paddingX) {</span>
896
+ <span class="fstat-no" title="function not covered" > logClr(str, clr = configFn()?.terminal?.theme?.fontColor) {</span>
916
897
  <span class="cstat-no" title="statement not covered" > if (!isset(str)) return</span>
917
- <span class="cstat-no" title="statement not covered" > const padX = ' '.repeat(paddingX || 0)</span>
918
- <span class="cstat-no" title="statement not covered" > str = padX + (typeof clr !== 'undefined' ? this.rgb(...clr) : '') + str.toString().replace(/\n/g, '\n' + padX + (typeof clr !== 'undefined' ? this.rgb(...clr) : ''))</span>
898
+ <span class="cstat-no" title="statement not covered" > str = (typeof clr !== 'undefined' ? this.rgb(...clr) : '') + str.toString().replace(/\n/g, '\n' + (typeof clr !== 'undefined' ? this.rgb(...clr) : ''))</span>
919
899
  <span class="cstat-no" title="statement not covered" > logger.log(str + this.reset, 'info')</span>
920
900
  },
921
901
  <span class="fstat-no" title="function not covered" > info(...str) {</span>
@@ -963,24 +943,23 @@ export const C = {
963
943
  },
964
944
  notifications: [] as any[], // fn array
965
945
  /** Gratientize lines of text (separated by \n) */
966
- <span class="fstat-no" title="function not covered" > gradientize(str = '', rgb1 = configFn()?.terminal?.theme?.shade1, rgb2 = configFn()?.terminal?.theme?.shade2, bgRgb = configFn()?.terminal?.theme?.bgColor, paddingY = configFn()?.terminal?.theme?.paddingY, paddingX = configFn()?.terminal?.theme?.paddingX) {</span>
946
+ <span class="fstat-no" title="function not covered" > gradientize(str = '', rgb1 = configFn()?.terminal?.theme?.shade1, rgb2 = configFn()?.terminal?.theme?.shade2, bgRgb = configFn()?.terminal?.theme?.bgColor, paddingY = 2) {</span>
967
947
  <span class="cstat-no" title="statement not covered" ></span>
968
948
  <span class="cstat-no" title="statement not covered" > const lines = str.split('\n')</span>
969
949
  <span class="cstat-no" title="statement not covered" > const largestLine = lines.reduce((sum, line) =&gt; sum &lt; line.length ? line.length : sum, 0)</span>
970
950
  <span class="cstat-no" title="statement not covered" > const rgbParts = rgb1.map((val, i) =&gt; (val - rgb2[i]) / (lines.length))</span>
971
951
  <span class="cstat-no" title="statement not covered" ></span>
972
952
  <span class="cstat-no" title="statement not covered" > const bg = bgRgb ? this.bg(bgRgb[0], bgRgb[1], bgRgb[2]) : ''</span>
973
- <span class="cstat-no" title="statement not covered" > const padX = ' '.repeat(paddingX || 0)</span>
974
- <span class="cstat-no" title="statement not covered" > const padLine = bg + padX + ' '.padEnd(largestLine, ' ') + padX + '\x1b[0m\n'</span>
953
+ <span class="cstat-no" title="statement not covered" > const padLine = bg + ' '.padEnd(largestLine, ' ') + '\x1b[0m\n'</span>
975
954
  <span class="cstat-no" title="statement not covered" ></span>
976
- <span class="cstat-no" title="statement not covered" > console.log(padLine.repeat(paddingY || 0) +</span>
955
+ <span class="cstat-no" title="statement not covered" > console.log(padLine.repeat(paddingY) +</span>
977
956
  <span class="cstat-no" title="statement not covered" > lines.reduce((s, line, i) =&gt; {</span>
978
- <span class="cstat-no" title="statement not covered" > return s + bg + padX + this.rgb(...((rgb1 as Color).map((val, i2) =&gt; Math.round(val - i * rgbParts[i2]))) as Color) + line.padEnd(largestLine, ' ') + padX + '\x1b[0m\n'</span>
957
+ <span class="cstat-no" title="statement not covered" > return s + bg + this.rgb(...((rgb1 as Color).map((val, i2) =&gt; Math.round(val - i * rgbParts[i2]))) as Color) + line.padEnd(largestLine, ' ') + '\x1b[0m\n'</span>
979
958
  <span class="cstat-no" title="statement not covered" > }, '') +</span>
980
- <span class="cstat-no" title="statement not covered" > padLine.repeat(paddingY || 0))</span>
959
+ <span class="cstat-no" title="statement not covered" > padLine.repeat(paddingY))</span>
981
960
  },
982
961
  <span class="fstat-no" title="function not covered" > debugModeLog(title, ...string) {</span>
983
- <span class="cstat-no" title="statement not covered" > this.logClr('🐞 ' + title, configFn()?.terminal?.theme?.debugModeColor, 0)</span>
962
+ <span class="cstat-no" title="statement not covered" > this.logClr('🐞 ' + title, configFn()?.terminal?.theme?.debugModeColor)</span>
984
963
  <span class="cstat-no" title="statement not covered" > this.log(this.dimStrSplit(...string))</span>
985
964
  },
986
965
  /** allow to clear the last lines written to console */
@@ -1165,7 +1144,7 @@ type loadingSpinnerTypes = 'arrow' | 'dots'
1165
1144
  <div class='footer quiet pad2 space-top1 center small'>
1166
1145
  Code coverage generated by
1167
1146
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1168
- at 2025-03-18T22:01:30.043Z
1147
+ at 2025-03-19T11:41:20.328Z
1169
1148
  </div>
1170
1149
  <script src="prettify.js"></script>
1171
1150
  <script>
@@ -559,7 +559,7 @@ export <span class="fstat-no" title="function not covered" >async function recur
559
559
  <div class='footer quiet pad2 space-top1 center small'>
560
560
  Code coverage generated by
561
561
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
562
- at 2025-03-18T22:01:30.043Z
562
+ at 2025-03-19T11:41:20.328Z
563
563
  </div>
564
564
  <script src="prettify.js"></script>
565
565
  <script>
@@ -244,7 +244,7 @@ import { isset } from './isset'
244
244
  <div class='footer quiet pad2 space-top1 center small'>
245
245
  Code coverage generated by
246
246
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
247
- at 2025-03-18T22:01:30.043Z
247
+ at 2025-03-19T11:41:20.328Z
248
248
  </div>
249
249
  <script src="prettify.js"></script>
250
250
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">29.37% </span>
26
+ <span class="strong">28.72% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>136/463</span>
28
+ <span class='fraction'>133/463</span>
29
29
  </div>
30
30
 
31
31
 
@@ -39,14 +39,14 @@
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">0% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/29</span>
42
+ <span class='fraction'>0/28</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">29.37% </span>
47
+ <span class="strong">28.72% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>136/463</span>
49
+ <span class='fraction'>133/463</span>
50
50
  </div>
51
51
 
52
52
 
@@ -985,9 +985,9 @@
985
985
  <span class="cline-any cline-no">&nbsp;</span>
986
986
  <span class="cline-any cline-no">&nbsp;</span>
987
987
  <span class="cline-any cline-no">&nbsp;</span>
988
- <span class="cline-any cline-yes">1x</span>
989
- <span class="cline-any cline-yes">1x</span>
990
- <span class="cline-any cline-yes">1x</span></td><td class="text"><pre class="prettyprint lang-js">//----------------------------------------
988
+ <span class="cline-any cline-no">&nbsp;</span>
989
+ <span class="cline-any cline-no">&nbsp;</span>
990
+ <span class="cline-any cline-no">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">//----------------------------------------
991
991
  // OBJECT UTILS
992
992
  //----------------------------------------
993
993
  import { ObjectGeneric } from './types'
@@ -1435,8 +1435,8 @@ export const entries = objEntries
1435
1435
  &nbsp;
1436
1436
  &nbsp;
1437
1437
  /** A Helper to create JavascriptProxies, will add __isProxy and toJSON helper to prevent error when logging the proxy and to be able to check if the object is proxyfied */
1438
- <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ><span class="fstat-no" title="function not covered" >export function createProxy&lt;T extends Record&lt;string, any&gt;&gt;(obj: T, optn: {</span></span></span>
1439
- <span class="cstat-no" title="statement not covered" > getter: Required&lt;ProxyHandler&lt;T&gt;&gt;['get'],</span>
1438
+ <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >export function createProxy&lt;T extends Record&lt;string, any&gt;&gt;(obj: T, optn: {</span></span>
1439
+ <span class="cstat-no" title="statement not covered" > get: Required&lt;ProxyHandler&lt;T&gt;&gt;['get'],</span>
1440
1440
  <span class="cstat-no" title="statement not covered" > jsonRepresentation?: (obj: T) =&gt; string</span>
1441
1441
  <span class="cstat-no" title="statement not covered" >}) {</span>
1442
1442
  <span class="cstat-no" title="statement not covered" > return new Proxy(obj, {</span>
@@ -1446,17 +1446,17 @@ export const entries = objEntries
1446
1446
  <span class="cstat-no" title="statement not covered" > if ('toJSON' in target) return target.toJSON</span>
1447
1447
  <span class="cstat-no" title="statement not covered" > else return () =&gt; (optn?.jsonRepresentation?.(target) || '[Proxy]')</span>
1448
1448
  <span class="cstat-no" title="statement not covered" > }</span>
1449
- <span class="cstat-no" title="statement not covered" > return optn.getter(target, prop, receiver)</span>
1450
- }
1451
- })
1452
- }</pre></td></tr></table></pre>
1449
+ <span class="cstat-no" title="statement not covered" > return optn.get(target, prop, receiver)</span>
1450
+ <span class="cstat-no" title="statement not covered" > }</span>
1451
+ <span class="cstat-no" title="statement not covered" > })</span>
1452
+ <span class="cstat-no" title="statement not covered" >}</span></pre></td></tr></table></pre>
1453
1453
 
1454
1454
  <div class='push'></div><!-- for sticky footer -->
1455
1455
  </div><!-- /wrapper -->
1456
1456
  <div class='footer quiet pad2 space-top1 center small'>
1457
1457
  Code coverage generated by
1458
1458
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1459
- at 2025-03-18T22:01:30.043Z
1459
+ at 2025-03-19T11:41:20.328Z
1460
1460
  </div>
1461
1461
  <script src="prettify.js"></script>
1462
1462
  <script>