topkat-utils 1.2.111 → 1.2.115

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 (33) hide show
  1. package/coverage/clover.xml +116 -35
  2. package/coverage/coverage-final.json +16 -15
  3. package/coverage/lcov-report/clean-stack-trace.ts.html +1 -1
  4. package/coverage/lcov-report/config.ts.html +32 -8
  5. package/coverage/lcov-report/error-utils.ts.html +3 -3
  6. package/coverage/lcov-report/index.html +37 -22
  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 +1 -1
  12. package/coverage/lcov-report/loop-utils.ts.html +1 -1
  13. package/coverage/lcov-report/math-utils.ts.html +232 -0
  14. package/coverage/lcov-report/object-utils.ts.html +1 -1
  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 +69 -9
  19. package/coverage/lcov-report/transaction-utils.ts.html +1 -1
  20. package/coverage/lcov.info +133 -26
  21. package/dist/src/config.d.ts +2 -2
  22. package/dist/src/config.js +5 -0
  23. package/dist/src/config.js.map +1 -1
  24. package/dist/src/error-utils.d.ts +1 -1
  25. package/dist/src/error-utils.js +1 -1
  26. package/dist/src/error-utils.js.map +1 -1
  27. package/dist/src/timer-utils.d.ts +13 -0
  28. package/dist/src/timer-utils.js +21 -1
  29. package/dist/src/timer-utils.js.map +1 -1
  30. package/package.json +1 -1
  31. package/src/config.ts +10 -2
  32. package/src/error-utils.ts +2 -2
  33. package/src/timer-utils.ts +20 -0
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">49.27% </span>
26
+ <span class="strong">50.56% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>34/69</span>
28
+ <span class='fraction'>45/89</span>
29
29
  </div>
30
30
 
31
31
 
@@ -37,16 +37,16 @@
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">33.33% </span>
40
+ <span class="strong">28.57% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>2/6</span>
42
+ <span class='fraction'>2/7</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">49.27% </span>
47
+ <span class="strong">50.56% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>34/69</span>
49
+ <span class='fraction'>45/89</span>
50
50
  </div>
51
51
 
52
52
 
@@ -61,7 +61,7 @@
61
61
  </div>
62
62
  </template>
63
63
  </div>
64
- <div class='status-line low'></div>
64
+ <div class='status-line medium'></div>
65
65
  <pre><table class="coverage">
66
66
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
67
  <a name='L2'></a><a href='#L2'>2</a>
@@ -131,7 +131,28 @@
131
131
  <a name='L66'></a><a href='#L66'>66</a>
132
132
  <a name='L67'></a><a href='#L67'>67</a>
133
133
  <a name='L68'></a><a href='#L68'>68</a>
134
- <a name='L69'></a><a href='#L69'>69</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
134
+ <a name='L69'></a><a href='#L69'>69</a>
135
+ <a name='L70'></a><a href='#L70'>70</a>
136
+ <a name='L71'></a><a href='#L71'>71</a>
137
+ <a name='L72'></a><a href='#L72'>72</a>
138
+ <a name='L73'></a><a href='#L73'>73</a>
139
+ <a name='L74'></a><a href='#L74'>74</a>
140
+ <a name='L75'></a><a href='#L75'>75</a>
141
+ <a name='L76'></a><a href='#L76'>76</a>
142
+ <a name='L77'></a><a href='#L77'>77</a>
143
+ <a name='L78'></a><a href='#L78'>78</a>
144
+ <a name='L79'></a><a href='#L79'>79</a>
145
+ <a name='L80'></a><a href='#L80'>80</a>
146
+ <a name='L81'></a><a href='#L81'>81</a>
147
+ <a name='L82'></a><a href='#L82'>82</a>
148
+ <a name='L83'></a><a href='#L83'>83</a>
149
+ <a name='L84'></a><a href='#L84'>84</a>
150
+ <a name='L85'></a><a href='#L85'>85</a>
151
+ <a name='L86'></a><a href='#L86'>86</a>
152
+ <a name='L87'></a><a href='#L87'>87</a>
153
+ <a name='L88'></a><a href='#L88'>88</a>
154
+ <a name='L89'></a><a href='#L89'>89</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
155
+ <span class="cline-any cline-yes">2x</span>
135
156
  <span class="cline-any cline-yes">2x</span>
136
157
  <span class="cline-any cline-yes">2x</span>
137
158
  <span class="cline-any cline-yes">2x</span>
@@ -199,12 +220,32 @@
199
220
  <span class="cline-any cline-no">&nbsp;</span>
200
221
  <span class="cline-any cline-no">&nbsp;</span>
201
222
  <span class="cline-any cline-no">&nbsp;</span>
223
+ <span class="cline-any cline-no">&nbsp;</span>
224
+ <span class="cline-any cline-yes">2x</span>
225
+ <span class="cline-any cline-yes">2x</span>
226
+ <span class="cline-any cline-yes">2x</span>
227
+ <span class="cline-any cline-yes">2x</span>
228
+ <span class="cline-any cline-yes">2x</span>
229
+ <span class="cline-any cline-yes">2x</span>
230
+ <span class="cline-any cline-yes">2x</span>
231
+ <span class="cline-any cline-yes">2x</span>
232
+ <span class="cline-any cline-yes">2x</span>
233
+ <span class="cline-any cline-yes">2x</span>
234
+ <span class="cline-any cline-no">&nbsp;</span>
235
+ <span class="cline-any cline-no">&nbsp;</span>
236
+ <span class="cline-any cline-no">&nbsp;</span>
237
+ <span class="cline-any cline-no">&nbsp;</span>
238
+ <span class="cline-any cline-no">&nbsp;</span>
239
+ <span class="cline-any cline-no">&nbsp;</span>
240
+ <span class="cline-any cline-no">&nbsp;</span>
241
+ <span class="cline-any cline-no">&nbsp;</span>
202
242
  <span class="cline-any cline-no">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">&nbsp;
203
243
  //----------------------------------------
204
244
  // TIMEOUT UTILS
205
245
  //----------------------------------------
206
246
  import { cliProgressBar, C } from './logger-utils'
207
247
  import { DescriptiveError } from './error-utils'
248
+ import { round2 } from './math-utils'
208
249
  &nbsp;
209
250
  &nbsp;
210
251
  export async function timeout(ms, fn = () =&gt; { /* */ }) { return new Promise(res =&gt; setTimeout(res, ms)).then(fn) }
@@ -267,6 +308,25 @@ export <span class="fstat-no" title="function not covered" >async function retry
267
308
  <span class="cstat-no" title="statement not covered" > await timeout(n * 1000)</span>
268
309
  <span class="cstat-no" title="statement not covered" > await callback()</span>
269
310
  <span class="cstat-no" title="statement not covered" > }</span>
311
+ <span class="cstat-no" title="statement not covered" >}</span>
312
+ &nbsp;
313
+ /** Use this timer to measure code performances.
314
+ * @example ```
315
+ const time = perfTimer()
316
+ &nbsp;
317
+ for(let i = 0; i &lt; 9999;i++) longProcess()
318
+ &nbsp;
319
+ console.log('Process took ' + time.end())
320
+ ```
321
+ */
322
+ <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >export function perfTimer(unit: 'ms' | 'seconds' = 'seconds') {</span></span>
323
+ <span class="cstat-no" title="statement not covered" > return {</span>
324
+ <span class="cstat-no" title="statement not covered" > start: Date.now(),</span>
325
+ <span class="cstat-no" title="statement not covered" > end() {</span>
326
+ <span class="cstat-no" title="statement not covered" > const msSinceStart = Date.now() - this.start</span>
327
+ <span class="cstat-no" title="statement not covered" > return unit === 'ms' ? msSinceStart + ' ' + unit : round2(msSinceStart / 1000) + ' ' + unit</span>
328
+ <span class="cstat-no" title="statement not covered" > }</span>
329
+ <span class="cstat-no" title="statement not covered" > }</span>
270
330
  <span class="cstat-no" title="statement not covered" >}</span></pre></td></tr></table></pre>
271
331
 
272
332
  <div class='push'></div><!-- for sticky footer -->
@@ -274,7 +334,7 @@ export <span class="fstat-no" title="function not covered" >async function retry
274
334
  <div class='footer quiet pad2 space-top1 center small'>
275
335
  Code coverage generated by
276
336
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
277
- at 2024-12-20T13:35:45.017Z
337
+ at 2025-03-12T13:52:27.777Z
278
338
  </div>
279
339
  <script src="prettify.js"></script>
280
340
  <script>
@@ -259,7 +259,7 @@ export <span class="fstat-no" title="function not covered" >async function waitF
259
259
  <div class='footer quiet pad2 space-top1 center small'>
260
260
  Code coverage generated by
261
261
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
262
- at 2024-12-20T13:35:45.017Z
262
+ at 2025-03-12T13:52:27.777Z
263
263
  </div>
264
264
  <script src="prettify.js"></script>
265
265
  <script>
@@ -145,15 +145,23 @@ DA:75,0
145
145
  DA:76,0
146
146
  DA:77,0
147
147
  DA:78,0
148
- DA:79,2
149
- DA:80,2
150
- DA:81,2
151
- DA:82,2
152
- DA:83,2
153
- DA:84,2
154
- DA:85,2
155
- DA:86,2
156
- LF:86
148
+ DA:79,0
149
+ DA:80,0
150
+ DA:81,0
151
+ DA:82,0
152
+ DA:83,0
153
+ DA:84,0
154
+ DA:85,0
155
+ DA:86,0
156
+ DA:87,2
157
+ DA:88,2
158
+ DA:89,2
159
+ DA:90,2
160
+ DA:91,2
161
+ DA:92,2
162
+ DA:93,2
163
+ DA:94,2
164
+ LF:94
157
165
  LH:68
158
166
  BRDA:59,0,0,8
159
167
  BRF:1
@@ -1066,6 +1074,83 @@ BRF:0
1066
1074
  BRH:0
1067
1075
  end_of_record
1068
1076
  TN:
1077
+ SF:src/math-utils.ts
1078
+ FN:7,round
1079
+ FN:9,round2
1080
+ FN:12,isBetween
1081
+ FN:15,random
1082
+ FN:18,randomMultipleOf
1083
+ FN:29,sumArray
1084
+ FN:36,moyenne
1085
+ FN:41,pad
1086
+ FN:50,minMax
1087
+ FNF:9
1088
+ FNH:0
1089
+ FNDA:0,round
1090
+ FNDA:0,round2
1091
+ FNDA:0,isBetween
1092
+ FNDA:0,random
1093
+ FNDA:0,randomMultipleOf
1094
+ FNDA:0,sumArray
1095
+ FNDA:0,moyenne
1096
+ FNDA:0,pad
1097
+ FNDA:0,minMax
1098
+ DA:1,2
1099
+ DA:2,2
1100
+ DA:3,2
1101
+ DA:4,2
1102
+ DA:5,2
1103
+ DA:6,2
1104
+ DA:7,0
1105
+ DA:8,2
1106
+ DA:9,0
1107
+ DA:10,2
1108
+ DA:11,2
1109
+ DA:12,0
1110
+ DA:13,2
1111
+ DA:14,2
1112
+ DA:15,0
1113
+ DA:16,2
1114
+ DA:17,2
1115
+ DA:18,0
1116
+ DA:19,0
1117
+ DA:20,0
1118
+ DA:21,0
1119
+ DA:22,0
1120
+ DA:23,0
1121
+ DA:24,0
1122
+ DA:25,0
1123
+ DA:26,0
1124
+ DA:27,2
1125
+ DA:28,2
1126
+ DA:29,0
1127
+ DA:30,0
1128
+ DA:31,0
1129
+ DA:32,2
1130
+ DA:33,2
1131
+ DA:34,2
1132
+ DA:35,2
1133
+ DA:36,0
1134
+ DA:37,0
1135
+ DA:38,0
1136
+ DA:39,2
1137
+ DA:40,2
1138
+ DA:41,0
1139
+ DA:42,2
1140
+ DA:43,2
1141
+ DA:44,2
1142
+ DA:45,2
1143
+ DA:46,2
1144
+ DA:47,2
1145
+ DA:48,2
1146
+ DA:49,2
1147
+ DA:50,0
1148
+ LF:50
1149
+ LH:29
1150
+ BRF:0
1151
+ BRH:0
1152
+ end_of_record
1153
+ TN:
1069
1154
  SF:src/object-utils.ts
1070
1155
  FN:17,simpleObjectMaskOrSelect
1071
1156
  FN:44,has
@@ -1990,13 +2075,14 @@ BRH:0
1990
2075
  end_of_record
1991
2076
  TN:
1992
2077
  SF:src/timer-utils.ts
1993
- FN:9,timeout
1994
- FN:9,fn
1995
- FN:11,runAsync
1996
- FN:20,waitUntilTrue
1997
- FN:44,executeInDelayedLoop
1998
- FN:61,retryWithDelay
1999
- FNF:6
2078
+ FN:10,timeout
2079
+ FN:10,fn
2080
+ FN:12,runAsync
2081
+ FN:21,waitUntilTrue
2082
+ FN:45,executeInDelayedLoop
2083
+ FN:62,retryWithDelay
2084
+ FN:81,perfTimer
2085
+ FNF:7
2000
2086
  FNH:2
2001
2087
  FNDA:16,timeout
2002
2088
  FNDA:16,fn
@@ -2004,6 +2090,7 @@ FNDA:0,runAsync
2004
2090
  FNDA:0,waitUntilTrue
2005
2091
  FNDA:0,executeInDelayedLoop
2006
2092
  FNDA:0,retryWithDelay
2093
+ FNDA:0,perfTimer
2007
2094
  DA:1,2
2008
2095
  DA:2,2
2009
2096
  DA:3,2
@@ -2024,7 +2111,7 @@ DA:17,2
2024
2111
  DA:18,2
2025
2112
  DA:19,2
2026
2113
  DA:20,2
2027
- DA:21,0
2114
+ DA:21,2
2028
2115
  DA:22,0
2029
2116
  DA:23,0
2030
2117
  DA:24,0
@@ -2037,7 +2124,7 @@ DA:30,0
2037
2124
  DA:31,0
2038
2125
  DA:32,0
2039
2126
  DA:33,0
2040
- DA:34,2
2127
+ DA:34,0
2041
2128
  DA:35,2
2042
2129
  DA:36,2
2043
2130
  DA:37,2
@@ -2048,7 +2135,7 @@ DA:41,2
2048
2135
  DA:42,2
2049
2136
  DA:43,2
2050
2137
  DA:44,2
2051
- DA:45,0
2138
+ DA:45,2
2052
2139
  DA:46,0
2053
2140
  DA:47,0
2054
2141
  DA:48,0
@@ -2062,10 +2149,10 @@ DA:55,0
2062
2149
  DA:56,0
2063
2150
  DA:57,0
2064
2151
  DA:58,0
2065
- DA:59,2
2152
+ DA:59,0
2066
2153
  DA:60,2
2067
2154
  DA:61,2
2068
- DA:62,0
2155
+ DA:62,2
2069
2156
  DA:63,0
2070
2157
  DA:64,0
2071
2158
  DA:65,0
@@ -2073,11 +2160,31 @@ DA:66,0
2073
2160
  DA:67,0
2074
2161
  DA:68,0
2075
2162
  DA:69,0
2076
- LF:69
2077
- LH:34
2078
- BRDA:9,0,0,16
2079
- BRDA:9,1,0,16
2080
- BRDA:9,2,0,16
2163
+ DA:70,0
2164
+ DA:71,2
2165
+ DA:72,2
2166
+ DA:73,2
2167
+ DA:74,2
2168
+ DA:75,2
2169
+ DA:76,2
2170
+ DA:77,2
2171
+ DA:78,2
2172
+ DA:79,2
2173
+ DA:80,2
2174
+ DA:81,0
2175
+ DA:82,0
2176
+ DA:83,0
2177
+ DA:84,0
2178
+ DA:85,0
2179
+ DA:86,0
2180
+ DA:87,0
2181
+ DA:88,0
2182
+ DA:89,0
2183
+ LF:89
2184
+ LH:45
2185
+ BRDA:10,0,0,16
2186
+ BRDA:10,1,0,16
2187
+ BRDA:10,2,0,16
2081
2188
  BRF:3
2082
2189
  BRH:3
2083
2190
  end_of_record
@@ -1,8 +1,8 @@
1
1
  import { Color, ErrorOptions } from './types';
2
2
  type TerminalTheme = {
3
3
  primary: Color;
4
- shade1: Color;
5
- shade2: Color;
4
+ shade1?: Color;
5
+ shade2?: Color;
6
6
  bgColor?: Color;
7
7
  paddingX?: number;
8
8
  paddingY?: number;
@@ -29,6 +29,11 @@ exports.configFn = configFn;
29
29
  function registerConfig(customConfig) {
30
30
  if ('terminal' in customConfig === false)
31
31
  customConfig.terminal = {};
32
+ if (customConfig.terminal?.theme?.primary) {
33
+ const primary = customConfig.terminal.theme.primary;
34
+ customConfig.terminal.theme.shade1 ??= [primary[0] / 2.2, primary[1] / 2.2, primary[2] / 2.2];
35
+ customConfig.terminal.theme.shade2 ??= primary;
36
+ }
32
37
  const newconfig = {
33
38
  ...config,
34
39
  ...customConfig
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":";;;AACA,2CAAsC;AACtC,iDAA0C;AAE1C,MAAM,MAAM,GAAG,IAAA,oBAAQ,GAAE,CAAA;AAiCzB,IAAI,MAAM,GAAG;IACT,8BAA8B;IAC9B,GAAG,EAAE,aAAa;IAClB,MAAM,EAAE,KAAK;IACb,cAAc,EAAE,EAAE;IAClB,WAAW,EAAE,EAAE;IACf,QAAQ,EAAE;QACN,OAAO,EAAE,CAAC,MAAM;QAChB,KAAK,EAAE;YACH,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;YACtB,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC;YACpB,MAAM,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;YACrB,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC;SACjC;KACJ;CACJ,CAAA;AAED,uCAAuC;AACvC,SAAgB,QAAQ,KAAwE,OAAO,MAAa,CAAA,CAAC,CAAC;AAAtH,4BAAsH;AAEtH,SAAgB,cAAc,CAAC,YAAgD;IAC3E,IAAI,UAAU,IAAI,YAAY,KAAK,KAAK;QAAE,YAAY,CAAC,QAAQ,GAAG,EAAkC,CAAA;IACpG,MAAM,SAAS,GAAG;QACd,GAAG,MAAM;QACT,GAAG,YAAY;KAClB,CAAA;IACD,SAAS,CAAC,QAAQ,GAAG;QACjB,GAAG,MAAM,EAAE,QAAQ;QACnB,GAAI,YAAY,EAAE,QAAgB;KACrC,CAAA;IACD,SAAS,CAAC,QAAQ,CAAC,KAAK,GAAG;QACvB,GAAG,MAAM,EAAE,QAAQ,EAAE,KAAK;QAC1B,GAAG,CAAC,YAAY,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC;KAC3C,CAAA;IACD,MAAM,GAAG,IAAA,wBAAS,EAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAExC,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA,CAAC,uBAAuB;AAC5F,CAAC;AAjBD,wCAiBC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":";;;AACA,2CAAsC;AACtC,iDAA0C;AAE1C,MAAM,MAAM,GAAG,IAAA,oBAAQ,GAAE,CAAA;AAiCzB,IAAI,MAAM,GAAG;IACT,8BAA8B;IAC9B,GAAG,EAAE,aAAa;IAClB,MAAM,EAAE,KAAK;IACb,cAAc,EAAE,EAAE;IAClB,WAAW,EAAE,EAAE;IACf,QAAQ,EAAE;QACN,OAAO,EAAE,CAAC,MAAM;QAChB,KAAK,EAAE;YACH,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;YACtB,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC;YACpB,MAAM,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;YACrB,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC;SACjC;KACJ;CACJ,CAAA;AAED,uCAAuC;AACvC,SAAgB,QAAQ,KAAwE,OAAO,MAAa,CAAA,CAAC,CAAC;AAAtH,4BAAsH;AAEtH,SAAgB,cAAc,CAAC,YAAgD;IAE3E,IAAI,UAAU,IAAI,YAAY,KAAK,KAAK;QAAE,YAAY,CAAC,QAAQ,GAAG,EAAkC,CAAA;IAEpG,IAAI,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE;QACvC,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAgB,CAAA;QAC5D,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAA;QAC7F,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,OAAO,CAAA;KACjD;IAED,MAAM,SAAS,GAAG;QACd,GAAG,MAAM;QACT,GAAG,YAAY;KAClB,CAAA;IACD,SAAS,CAAC,QAAQ,GAAG;QACjB,GAAG,MAAM,EAAE,QAAQ;QACnB,GAAI,YAAY,EAAE,QAAgB;KACrC,CAAA;IACD,SAAS,CAAC,QAAQ,CAAC,KAAK,GAAG;QACvB,GAAG,MAAM,EAAE,QAAQ,EAAE,KAAK;QAC1B,GAAG,CAAC,YAAY,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC;KAC3C,CAAA;IACD,MAAM,GAAG,IAAA,wBAAS,EAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAExC,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA,CAAC,uBAAuB;AAC5F,CAAC;AAzBD,wCAyBC"}
@@ -19,7 +19,7 @@ export declare class DescriptiveError<ExpectedOriginalError = any> extends Error
19
19
  msg: string;
20
20
  message: string;
21
21
  /** The parent error if any */
22
- originalError?: string;
22
+ originalError?: Error | Record<string, any> | DescriptiveError;
23
23
  [k: string]: any;
24
24
  };
25
25
  /** The parent error if any */
@@ -129,7 +129,7 @@ class DescriptiveError extends Error {
129
129
  this.isAxiosError = this.isAxiosError || (extraInfos?.err?.stack || extraInfos.stack || this.stack)?.startsWith('Axios') || false;
130
130
  if (this.isAxiosError) {
131
131
  // trying to extract response
132
- extraInfos.responseData = err?.response?.data || extraInfos.response?.data;
132
+ extraInfos.responseData = err && 'response' in err ? err.response.data : extraInfos.response?.data;
133
133
  }
134
134
  if ((0, isset_1.isset)(ressource)) {
135
135
  code = 404;
@@ -1 +1 @@
1
- {"version":3,"file":"error-utils.js","sourceRoot":"","sources":["../../src/error-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"error-utils.js","sourceRoot":"","sources":["../../src/error-utils.ts"],"names":[],"mappings":"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"}
@@ -16,3 +16,16 @@ export declare function waitUntilTrue(callback: any, timeoutSec?: number, errorA
16
16
  export declare function executeInDelayedLoop(callback: any, time?: number, errorCallback?: (e: any) => any): Promise<void>;
17
17
  /** Will first wait before calling callback every seconds configured in retrySeconds array */
18
18
  export declare function retryWithDelay(callback: Function, retrySeconds: number[]): Promise<void>;
19
+ /** Use this timer to measure code performances.
20
+ * @example ```
21
+ const time = perfTimer()
22
+
23
+ for(let i = 0; i < 9999;i++) longProcess()
24
+
25
+ console.log('Process took ' + time.end())
26
+ ```
27
+ */
28
+ export declare function perfTimer(unit?: 'ms' | 'seconds'): {
29
+ start: number;
30
+ end(): string;
31
+ };
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.retryWithDelay = exports.executeInDelayedLoop = exports.waitUntilTrue = exports.runAsync = exports.timeout = void 0;
3
+ exports.perfTimer = exports.retryWithDelay = exports.executeInDelayedLoop = exports.waitUntilTrue = exports.runAsync = exports.timeout = void 0;
4
4
  //----------------------------------------
5
5
  // TIMEOUT UTILS
6
6
  //----------------------------------------
7
7
  const logger_utils_1 = require("./logger-utils");
8
8
  const error_utils_1 = require("./error-utils");
9
+ const math_utils_1 = require("./math-utils");
9
10
  async function timeout(ms, fn = () => { }) { return new Promise(res => setTimeout(res, ms)).then(fn); }
10
11
  exports.timeout = timeout;
11
12
  async function runAsync(callback, milliseconds$ = 1) { return timeout(milliseconds$, callback); }
@@ -67,4 +68,23 @@ async function retryWithDelay(callback, retrySeconds) {
67
68
  }
68
69
  }
69
70
  exports.retryWithDelay = retryWithDelay;
71
+ /** Use this timer to measure code performances.
72
+ * @example ```
73
+ const time = perfTimer()
74
+
75
+ for(let i = 0; i < 9999;i++) longProcess()
76
+
77
+ console.log('Process took ' + time.end())
78
+ ```
79
+ */
80
+ function perfTimer(unit = 'seconds') {
81
+ return {
82
+ start: Date.now(),
83
+ end() {
84
+ const msSinceStart = Date.now() - this.start;
85
+ return unit === 'ms' ? msSinceStart + ' ' + unit : (0, math_utils_1.round2)(msSinceStart / 1000) + ' ' + unit;
86
+ }
87
+ };
88
+ }
89
+ exports.perfTimer = perfTimer;
70
90
  //# sourceMappingURL=timer-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"timer-utils.js","sourceRoot":"","sources":["../../src/timer-utils.ts"],"names":[],"mappings":";;;AACA,0CAA0C;AAC1C,gBAAgB;AAChB,0CAA0C;AAC1C,iDAAkD;AAClD,+CAAgD;AAGzC,KAAK,UAAU,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAS,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC;AAAnH,0BAAmH;AAE5G,KAAK,UAAU,QAAQ,CAAC,QAAQ,EAAE,aAAa,GAAG,CAAC,IAAI,OAAO,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA,CAAC,CAAC;AAAvG,4BAAuG;AAEvG;;;;;;GAMG;AACI,KAAK,UAAU,aAAa,CAAC,QAAQ,EAAE,UAAU,GAAG,EAAE,EAAE,kBAAkB,GAAG,IAAI,EAAE,SAAS,GAAG,IAAI;IACtG,IAAI,cAAc,GAAG,IAAI,CAAA;IACzB,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,MAAM,OAAO,GAAG,OAAO,kBAAkB,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,GAAG,kBAAkB,CAAC,CAAC,CAAC,sCAAsC,CAAA;IAElI,IAAI,UAAU;QAAE,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,GAAG,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC,CAAA;IAE3E,OAAO,QAAQ,EAAE,KAAK,IAAI,IAAI,cAAc,EAAE;QAC1C,IAAI,SAAS;YAAE,IAAA,6BAAc,EAAC,IAAI,EAAE,CAAC,CAAA;QACrC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAA;KACrB;IACD,IAAI,SAAS;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACzC,IAAI,CAAC,cAAc,IAAI,kBAAkB;QAAE,MAAM,IAAI,8BAAgB,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;AACjG,CAAC;AAbD,sCAaC;AAGD,MAAM,iBAAiB,GAAyB,EAAE,CAAA;AAClD,IAAI,WAAW,GAAG,KAAK,CAAA;AAEvB;;;;GAIG;AACI,KAAK,UAAU,oBAAoB,CAAC,QAAQ,EAAE,IAAI,GAAG,GAAG,EAAE,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,gBAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5F,iBAAiB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAA;IACvD,IAAI,WAAW;QAAE,OAAM;IACvB,WAAW,GAAG,IAAI,CAAA;IAClB,OAAO,iBAAiB,CAAC,MAAM,EAAE;QAC7B,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,aAAa,CAAC,GAAG,iBAAiB,CAAC,KAAK,EAAS,CAAA;QACxE,IAAI;YACA,MAAM,QAAQ,EAAE,CAAA;YAChB,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;SACtB;QAAC,OAAO,GAAG,EAAE;YACV,aAAa,CAAC,GAAG,CAAC,CAAA;SACrB;KACJ;IACD,WAAW,GAAG,KAAK,CAAA;AACvB,CAAC;AAdD,oDAcC;AAED,6FAA6F;AACtF,KAAK,UAAU,cAAc,CAChC,QAAkB,EAClB,YAAsB;IAEtB,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE;QAC1B,MAAM,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;QACvB,MAAM,QAAQ,EAAE,CAAA;KACnB;AACL,CAAC;AARD,wCAQC"}
1
+ {"version":3,"file":"timer-utils.js","sourceRoot":"","sources":["../../src/timer-utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "topkat-utils",
3
- "version": "1.2.111",
3
+ "version": "1.2.115",
4
4
  "type": "commonjs",
5
5
  "types": "index.ts",
6
6
  "main": "dist",
package/src/config.ts CHANGED
@@ -6,8 +6,8 @@ const isNode = isNodeJs()
6
6
 
7
7
  type TerminalTheme = {
8
8
  primary: Color, // blue theme
9
- shade1: Color,
10
- shade2: Color,
9
+ shade1?: Color,
10
+ shade2?: Color,
11
11
  bgColor?: Color
12
12
  paddingX?: number
13
13
  paddingY?: number
@@ -59,7 +59,15 @@ let config = {
59
59
  export function configFn(): Required<TopkatUtilConfig & { terminal: TerminalConfigRequired }> { return config as any }
60
60
 
61
61
  export function registerConfig(customConfig: RecursivePartial<TopkatUtilConfig>) {
62
+
62
63
  if ('terminal' in customConfig === false) customConfig.terminal = {} as TopkatUtilConfig['terminal']
64
+
65
+ if (customConfig.terminal?.theme?.primary) {
66
+ const primary = customConfig.terminal.theme.primary as Color
67
+ customConfig.terminal.theme.shade1 ??= [primary[0] / 2.2, primary[1] / 2.2, primary[2] / 2.2]
68
+ customConfig.terminal.theme.shade2 ??= primary
69
+ }
70
+
63
71
  const newconfig = {
64
72
  ...config,
65
73
  ...customConfig
@@ -67,7 +67,7 @@ export class DescriptiveError<ExpectedOriginalError = any> extends Error {
67
67
  msg: string
68
68
  message: string
69
69
  /** The parent error if any */
70
- originalError?: string
70
+ originalError?: Error | Record<string, any> | DescriptiveError
71
71
  [k: string]: any
72
72
  } = {} as any
73
73
  /** The parent error if any */
@@ -143,7 +143,7 @@ export class DescriptiveError<ExpectedOriginalError = any> extends Error {
143
143
 
144
144
  if (this.isAxiosError) {
145
145
  // trying to extract response
146
- extraInfos.responseData = err?.response?.data || extraInfos.response?.data
146
+ extraInfos.responseData = err && 'response' in err ? err.response.data : extraInfos.response?.data
147
147
  }
148
148
 
149
149
  if (isset(ressource)) {
@@ -4,6 +4,7 @@
4
4
  //----------------------------------------
5
5
  import { cliProgressBar, C } from './logger-utils'
6
6
  import { DescriptiveError } from './error-utils'
7
+ import { round2 } from './math-utils'
7
8
 
8
9
 
9
10
  export async function timeout(ms, fn = () => { /* */ }) { return new Promise(res => setTimeout(res, ms)).then(fn) }
@@ -66,4 +67,23 @@ export async function retryWithDelay(
66
67
  await timeout(n * 1000)
67
68
  await callback()
68
69
  }
70
+ }
71
+
72
+ /** Use this timer to measure code performances.
73
+ * @example ```
74
+ const time = perfTimer()
75
+
76
+ for(let i = 0; i < 9999;i++) longProcess()
77
+
78
+ console.log('Process took ' + time.end())
79
+ ```
80
+ */
81
+ export function perfTimer(unit: 'ms' | 'seconds' = 'seconds') {
82
+ return {
83
+ start: Date.now(),
84
+ end() {
85
+ const msSinceStart = Date.now() - this.start
86
+ return unit === 'ms' ? msSinceStart + ' ' + unit : round2(msSinceStart / 1000) + ' ' + unit
87
+ }
88
+ }
69
89
  }