@zajno/common 1.5.8 → 1.5.9

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 (88) hide show
  1. package/coverage/clover.xml +149 -124
  2. package/coverage/coverage-final.json +14 -14
  3. package/coverage/lcov-report/index.html +30 -30
  4. package/coverage/lcov-report/src/__tests__/helpers/index.html +1 -1
  5. package/coverage/lcov-report/src/__tests__/helpers/main.ts.html +1 -1
  6. package/coverage/lcov-report/src/async/arrays.ts.html +5 -5
  7. package/coverage/lcov-report/src/async/index.html +21 -21
  8. package/coverage/lcov-report/src/async/timeout.ts.html +115 -13
  9. package/coverage/lcov-report/src/cache.ts.html +1 -1
  10. package/coverage/lcov-report/src/dates/calc.ts.html +1 -1
  11. package/coverage/lcov-report/src/dates/convert.ts.html +1 -1
  12. package/coverage/lcov-report/src/dates/datex.ts.html +1 -1
  13. package/coverage/lcov-report/src/dates/format.ts.html +1 -1
  14. package/coverage/lcov-report/src/dates/index.html +1 -1
  15. package/coverage/lcov-report/src/dates/index.ts.html +1 -1
  16. package/coverage/lcov-report/src/dates/parse.ts.html +1 -1
  17. package/coverage/lcov-report/src/dates/period.ts.html +1 -1
  18. package/coverage/lcov-report/src/dates/shift.ts.html +1 -1
  19. package/coverage/lcov-report/src/dates/types.ts.html +1 -1
  20. package/coverage/lcov-report/src/dates/yearDate.ts.html +1 -1
  21. package/coverage/lcov-report/src/disposer.ts.html +1 -1
  22. package/coverage/lcov-report/src/enumHelper.ts.html +1 -1
  23. package/coverage/lcov-report/src/event.ts.html +67 -31
  24. package/coverage/lcov-report/src/fields/index.html +1 -1
  25. package/coverage/lcov-report/src/fields/update.ts.html +1 -1
  26. package/coverage/lcov-report/src/functions.ts.html +1 -1
  27. package/coverage/lcov-report/src/index.html +19 -19
  28. package/coverage/lcov-report/src/lazy.light.ts.html +1 -1
  29. package/coverage/lcov-report/src/logger/batch.ts.html +2 -2
  30. package/coverage/lcov-report/src/logger/console.ts.html +5 -5
  31. package/coverage/lcov-report/src/logger/index.html +1 -1
  32. package/coverage/lcov-report/src/logger/index.ts.html +22 -22
  33. package/coverage/lcov-report/src/logger/named.ts.html +13 -13
  34. package/coverage/lcov-report/src/logger/proxy.ts.html +7 -7
  35. package/coverage/lcov-report/src/math/arrays.ts.html +23 -23
  36. package/coverage/lcov-report/src/math/calc.ts.html +9 -9
  37. package/coverage/lcov-report/src/math/distribution.ts.html +2 -2
  38. package/coverage/lcov-report/src/math/index.html +1 -1
  39. package/coverage/lcov-report/src/math/index.ts.html +6 -6
  40. package/coverage/lcov-report/src/observersMap.ts.html +1 -1
  41. package/coverage/lcov-report/src/observingCache.ts.html +1 -1
  42. package/coverage/lcov-report/src/queue/index.html +1 -1
  43. package/coverage/lcov-report/src/queue/parallel.ts.html +2 -2
  44. package/coverage/lcov-report/src/tempoCache.ts.html +1 -1
  45. package/coverage/lcov-report/src/transitionObserver.ts.html +1 -1
  46. package/coverage/lcov-report/src/types.ts.html +5 -5
  47. package/coverage/lcov-report/src/validation/ValidationErrors.ts.html +1 -1
  48. package/coverage/lcov-report/src/validation/creditCard.ts.html +1 -1
  49. package/coverage/lcov-report/src/validation/helpers.ts.html +1 -1
  50. package/coverage/lcov-report/src/validation/index.html +1 -1
  51. package/coverage/lcov-report/src/validation/index.ts.html +1 -1
  52. package/coverage/lcov-report/src/validation/types.ts.html +1 -1
  53. package/coverage/lcov-report/src/validation/validators.ts.html +1 -1
  54. package/coverage/lcov-report/src/validation/wrappers.ts.html +1 -1
  55. package/coverage/lcov-report/src/viewModels/CommonModel.ts.html +1 -1
  56. package/coverage/lcov-report/src/viewModels/FlagModel.ts.html +1 -1
  57. package/coverage/lcov-report/src/viewModels/LoadingModel.ts.html +1 -1
  58. package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +1 -1
  59. package/coverage/lcov-report/src/viewModels/NumberModel.ts.html +1 -1
  60. package/coverage/lcov-report/src/viewModels/SelectModel.ts.html +1 -1
  61. package/coverage/lcov-report/src/viewModels/TextModel.ts.html +1 -1
  62. package/coverage/lcov-report/src/viewModels/Validatable.ts.html +1 -1
  63. package/coverage/lcov-report/src/viewModels/index.html +1 -1
  64. package/coverage/lcov-report/src/viewModels/wrappers.ts.html +1 -1
  65. package/coverage/lcov.info +226 -173
  66. package/lib/async/timeout.d.ts +5 -0
  67. package/lib/async/timeout.d.ts.map +1 -1
  68. package/lib/async/timeout.js +30 -1
  69. package/lib/async/timeout.js.map +1 -1
  70. package/lib/event.d.ts +2 -0
  71. package/lib/event.d.ts.map +1 -1
  72. package/lib/event.js +12 -1
  73. package/lib/event.js.map +1 -1
  74. package/lib/lazy.d.ts +2 -0
  75. package/lib/lazy.d.ts.map +1 -1
  76. package/lib/lazy.js +6 -1
  77. package/lib/lazy.js.map +1 -1
  78. package/lib/queue/parallel.d.ts +1 -1
  79. package/lib/queue/parallel.d.ts.map +1 -1
  80. package/lib/queue/parallel.js +1 -1
  81. package/lib/queue/parallel.js.map +1 -1
  82. package/package.json +1 -1
  83. package/src/async/__tests__/timeout.test.ts +74 -0
  84. package/src/async/timeout.ts +34 -0
  85. package/src/event.ts +12 -0
  86. package/src/lazy.ts +8 -1
  87. package/src/queue/__tests__/parallel.test.ts +2 -2
  88. package/src/queue/parallel.ts +1 -1
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">81.13% </span>
26
+ <span class="strong">81.58% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>1440/1775</span>
28
+ <span class='fraction'>1470/1802</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">73.88% </span>
33
+ <span class="strong">74.11% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>659/892</span>
35
+ <span class='fraction'>667/900</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">70.06% </span>
40
+ <span class="strong">71.26% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>344/491</span>
42
+ <span class='fraction'>357/501</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">81.55% </span>
47
+ <span class="strong">81.94% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>1366/1675</span>
49
+ <span class='fraction'>1393/1700</span>
50
50
  </div>
51
51
 
52
52
 
@@ -80,17 +80,17 @@
80
80
  </thead>
81
81
  <tbody><tr>
82
82
  <td class="file medium" data-value="src"><a href="src/index.html">src</a></td>
83
- <td data-value="77.47" class="pic medium">
84
- <div class="chart"><div class="cover-fill" style="width: 77%"></div><div class="cover-empty" style="width: 23%"></div></div>
83
+ <td data-value="78.38" class="pic medium">
84
+ <div class="chart"><div class="cover-fill" style="width: 78%"></div><div class="cover-empty" style="width: 22%"></div></div>
85
85
  </td>
86
- <td data-value="77.47" class="pct medium">77.47%</td>
87
- <td data-value="475" class="abs medium">368/475</td>
88
- <td data-value="65.59" class="pct medium">65.59%</td>
89
- <td data-value="186" class="abs medium">122/186</td>
90
- <td data-value="73.1" class="pct medium">73.1%</td>
91
- <td data-value="145" class="abs medium">106/145</td>
92
- <td data-value="77.53" class="pct medium">77.53%</td>
93
- <td data-value="454" class="abs medium">352/454</td>
86
+ <td data-value="78.38" class="pct medium">78.38%</td>
87
+ <td data-value="481" class="abs medium">377/481</td>
88
+ <td data-value="66.14" class="pct medium">66.14%</td>
89
+ <td data-value="189" class="abs medium">125/189</td>
90
+ <td data-value="75.68" class="pct medium">75.68%</td>
91
+ <td data-value="148" class="abs medium">112/148</td>
92
+ <td data-value="78.26" class="pct medium">78.26%</td>
93
+ <td data-value="460" class="abs medium">360/460</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
@@ -109,18 +109,18 @@
109
109
  </tr>
110
110
 
111
111
  <tr>
112
- <td class="file low" data-value="src/async"><a href="src/async/index.html">src/async</a></td>
113
- <td data-value="29.41" class="pic low">
114
- <div class="chart"><div class="cover-fill" style="width: 29%"></div><div class="cover-empty" style="width: 71%"></div></div>
112
+ <td class="file medium" data-value="src/async"><a href="src/async/index.html">src/async</a></td>
113
+ <td data-value="50" class="pic medium">
114
+ <div class="chart"><div class="cover-fill" style="width: 50%"></div><div class="cover-empty" style="width: 50%"></div></div>
115
115
  </td>
116
- <td data-value="29.41" class="pct low">29.41%</td>
117
- <td data-value="51" class="abs low">15/51</td>
118
- <td data-value="18.18" class="pct low">18.18%</td>
119
- <td data-value="11" class="abs low">2/11</td>
120
- <td data-value="27.27" class="pct low">27.27%</td>
121
- <td data-value="11" class="abs low">3/11</td>
122
- <td data-value="31.91" class="pct low">31.91%</td>
123
- <td data-value="47" class="abs low">15/47</td>
116
+ <td data-value="50" class="pct medium">50%</td>
117
+ <td data-value="72" class="abs medium">36/72</td>
118
+ <td data-value="43.75" class="pct low">43.75%</td>
119
+ <td data-value="16" class="abs low">7/16</td>
120
+ <td data-value="55.56" class="pct medium">55.56%</td>
121
+ <td data-value="18" class="abs medium">10/18</td>
122
+ <td data-value="51.52" class="pct medium">51.52%</td>
123
+ <td data-value="66" class="abs medium">34/66</td>
124
124
  </tr>
125
125
 
126
126
  <tr>
@@ -236,7 +236,7 @@
236
236
  <div class='footer quiet pad2 space-top1 center small'>
237
237
  Code coverage generated by
238
238
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
239
- at 2022-08-16T15:25:20.438Z
239
+ at 2022-09-08T13:27:57.517Z
240
240
  </div>
241
241
  <script src="prettify.js"></script>
242
242
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2022-08-16T15:25:20.438Z
104
+ at 2022-09-08T13:27:57.517Z
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -106,7 +106,7 @@ export const toArbitrary = (fakerGen) =&gt; {
106
106
  <div class='footer quiet pad2 space-top1 center small'>
107
107
  Code coverage generated by
108
108
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
109
- at 2022-08-16T15:25:20.438Z
109
+ at 2022-09-08T13:27:57.517Z
110
110
  </div>
111
111
  <script src="../../../prettify.js"></script>
112
112
  <script>
@@ -103,7 +103,7 @@
103
103
  <a name='L38'></a><a href='#L38'>38</a>
104
104
  <a name='L39'></a><a href='#L39'>39</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
105
105
  <span class="cline-any cline-neutral">&nbsp;</span>
106
- <span class="cline-any cline-yes">5x</span>
106
+ <span class="cline-any cline-yes">6x</span>
107
107
  <span class="cline-any cline-no">&nbsp;</span>
108
108
  <span class="cline-any cline-no">&nbsp;</span>
109
109
  <span class="cline-any cline-no">&nbsp;</span>
@@ -114,7 +114,7 @@
114
114
  <span class="cline-any cline-no">&nbsp;</span>
115
115
  <span class="cline-any cline-neutral">&nbsp;</span>
116
116
  <span class="cline-any cline-neutral">&nbsp;</span>
117
- <span class="cline-any cline-yes">5x</span>
117
+ <span class="cline-any cline-yes">6x</span>
118
118
  <span class="cline-any cline-no">&nbsp;</span>
119
119
  <span class="cline-any cline-no">&nbsp;</span>
120
120
  <span class="cline-any cline-no">&nbsp;</span>
@@ -125,13 +125,13 @@
125
125
  <span class="cline-any cline-no">&nbsp;</span>
126
126
  <span class="cline-any cline-neutral">&nbsp;</span>
127
127
  <span class="cline-any cline-neutral">&nbsp;</span>
128
- <span class="cline-any cline-yes">5x</span>
128
+ <span class="cline-any cline-yes">6x</span>
129
129
  <span class="cline-any cline-no">&nbsp;</span>
130
130
  <span class="cline-any cline-no">&nbsp;</span>
131
131
  <span class="cline-any cline-neutral">&nbsp;</span>
132
132
  <span class="cline-any cline-neutral">&nbsp;</span>
133
133
  <span class="cline-any cline-neutral">&nbsp;</span>
134
- <span class="cline-any cline-yes">5x</span>
134
+ <span class="cline-any cline-yes">6x</span>
135
135
  <span class="cline-any cline-no">&nbsp;</span>
136
136
  <span class="cline-any cline-no">&nbsp;</span>
137
137
  <span class="cline-any cline-no">&nbsp;</span>
@@ -184,7 +184,7 @@ export async function <span class="fstat-no" title="function not covered" >mapAs
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 2022-08-16T15:25:20.438Z
187
+ at 2022-09-08T13:27:57.517Z
188
188
  </div>
189
189
  <script src="../../prettify.js"></script>
190
190
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">29.41% </span>
26
+ <span class="strong">50% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>15/51</span>
28
+ <span class='fraction'>36/72</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">18.18% </span>
33
+ <span class="strong">43.75% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>2/11</span>
35
+ <span class='fraction'>7/16</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">27.27% </span>
40
+ <span class="strong">55.56% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>3/11</span>
42
+ <span class='fraction'>10/18</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">31.91% </span>
47
+ <span class="strong">51.52% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>15/47</span>
49
+ <span class='fraction'>34/66</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
  <div class="pad1">
66
66
  <table class="coverage-summary">
67
67
  <thead>
@@ -94,18 +94,18 @@
94
94
  </tr>
95
95
 
96
96
  <tr>
97
- <td class="file low" data-value="timeout.ts"><a href="timeout.ts.html">timeout.ts</a></td>
98
- <td data-value="42.31" class="pic low">
99
- <div class="chart"><div class="cover-fill" style="width: 42%"></div><div class="cover-empty" style="width: 58%"></div></div>
97
+ <td class="file medium" data-value="timeout.ts"><a href="timeout.ts.html">timeout.ts</a></td>
98
+ <td data-value="68.09" class="pic medium">
99
+ <div class="chart"><div class="cover-fill" style="width: 68%"></div><div class="cover-empty" style="width: 32%"></div></div>
100
100
  </td>
101
- <td data-value="42.31" class="pct low">42.31%</td>
102
- <td data-value="26" class="abs low">11/26</td>
103
- <td data-value="22.22" class="pct low">22.22%</td>
104
- <td data-value="9" class="abs low">2/9</td>
105
- <td data-value="42.86" class="pct low">42.86%</td>
106
- <td data-value="7" class="abs low">3/7</td>
107
- <td data-value="42.31" class="pct low">42.31%</td>
108
- <td data-value="26" class="abs low">11/26</td>
101
+ <td data-value="68.09" class="pct medium">68.09%</td>
102
+ <td data-value="47" class="abs medium">32/47</td>
103
+ <td data-value="50" class="pct medium">50%</td>
104
+ <td data-value="14" class="abs medium">7/14</td>
105
+ <td data-value="71.43" class="pct medium">71.43%</td>
106
+ <td data-value="14" class="abs medium">10/14</td>
107
+ <td data-value="66.67" class="pct medium">66.67%</td>
108
+ <td data-value="45" class="abs medium">30/45</td>
109
109
  </tr>
110
110
 
111
111
  </tbody>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2022-08-16T15:25:20.438Z
119
+ at 2022-09-08T13:27:57.517Z
120
120
  </div>
121
121
  <script src="../../prettify.js"></script>
122
122
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">42.31% </span>
26
+ <span class="strong">68.09% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>11/26</span>
28
+ <span class='fraction'>32/47</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">22.22% </span>
33
+ <span class="strong">50% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>2/9</span>
35
+ <span class='fraction'>7/14</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">42.86% </span>
40
+ <span class="strong">71.43% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>3/7</span>
42
+ <span class='fraction'>10/14</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">42.31% </span>
47
+ <span class="strong">66.67% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>11/26</span>
49
+ <span class='fraction'>30/45</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>
@@ -113,8 +113,42 @@
113
113
  <a name='L48'></a><a href='#L48'>48</a>
114
114
  <a name='L49'></a><a href='#L49'>49</a>
115
115
  <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
117
- <span class="cline-any cline-yes">4x</span>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a>
119
+ <a name='L54'></a><a href='#L54'>54</a>
120
+ <a name='L55'></a><a href='#L55'>55</a>
121
+ <a name='L56'></a><a href='#L56'>56</a>
122
+ <a name='L57'></a><a href='#L57'>57</a>
123
+ <a name='L58'></a><a href='#L58'>58</a>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a>
129
+ <a name='L64'></a><a href='#L64'>64</a>
130
+ <a name='L65'></a><a href='#L65'>65</a>
131
+ <a name='L66'></a><a href='#L66'>66</a>
132
+ <a name='L67'></a><a href='#L67'>67</a>
133
+ <a name='L68'></a><a href='#L68'>68</a>
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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
151
+ <span class="cline-any cline-yes">5x</span>
118
152
  <span class="cline-any cline-yes">16x</span>
119
153
  <span class="cline-any cline-neutral">&nbsp;</span>
120
154
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -144,7 +178,7 @@
144
178
  <span class="cline-any cline-neutral">&nbsp;</span>
145
179
  <span class="cline-any cline-neutral">&nbsp;</span>
146
180
  <span class="cline-any cline-neutral">&nbsp;</span>
147
- <span class="cline-any cline-yes">4x</span>
181
+ <span class="cline-any cline-yes">5x</span>
148
182
  <span class="cline-any cline-no">&nbsp;</span>
149
183
  <span class="cline-any cline-no">&nbsp;</span>
150
184
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -163,6 +197,40 @@
163
197
  <span class="cline-any cline-no">&nbsp;</span>
164
198
  <span class="cline-any cline-neutral">&nbsp;</span>
165
199
  <span class="cline-any cline-neutral">&nbsp;</span>
200
+ <span class="cline-any cline-neutral">&nbsp;</span>
201
+ <span class="cline-any cline-yes">5x</span>
202
+ <span class="cline-any cline-yes">3x</span>
203
+ <span class="cline-any cline-neutral">&nbsp;</span>
204
+ <span class="cline-any cline-yes">3x</span>
205
+ <span class="cline-any cline-yes">3x</span>
206
+ <span class="cline-any cline-yes">3x</span>
207
+ <span class="cline-any cline-yes">4x</span>
208
+ <span class="cline-any cline-yes">1x</span>
209
+ <span class="cline-any cline-neutral">&nbsp;</span>
210
+ <span class="cline-any cline-neutral">&nbsp;</span>
211
+ <span class="cline-any cline-yes">3x</span>
212
+ <span class="cline-any cline-neutral">&nbsp;</span>
213
+ <span class="cline-any cline-yes">4x</span>
214
+ <span class="cline-any cline-yes">3x</span>
215
+ <span class="cline-any cline-neutral">&nbsp;</span>
216
+ <span class="cline-any cline-yes">3x</span>
217
+ <span class="cline-any cline-yes">3x</span>
218
+ <span class="cline-any cline-yes">1x</span>
219
+ <span class="cline-any cline-neutral">&nbsp;</span>
220
+ <span class="cline-any cline-yes">2x</span>
221
+ <span class="cline-any cline-neutral">&nbsp;</span>
222
+ <span class="cline-any cline-neutral">&nbsp;</span>
223
+ <span class="cline-any cline-neutral">&nbsp;</span>
224
+ <span class="cline-any cline-yes">3x</span>
225
+ <span class="cline-any cline-yes">1x</span>
226
+ <span class="cline-any cline-neutral">&nbsp;</span>
227
+ <span class="cline-any cline-neutral">&nbsp;</span>
228
+ <span class="cline-any cline-yes">3x</span>
229
+ <span class="cline-any cline-yes">3x</span>
230
+ <span class="cline-any cline-yes">3x</span>
231
+ <span class="cline-any cline-neutral">&nbsp;</span>
232
+ <span class="cline-any cline-neutral">&nbsp;</span>
233
+ <span class="cline-any cline-neutral">&nbsp;</span>
166
234
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">&nbsp;
167
235
  export function setTimeoutAsync(ms: number, useCancel: (cb: () =&gt; void) =&gt; void = null) {
168
236
  let canceled = false;
@@ -213,6 +281,40 @@ export function <span class="fstat-no" title="function not covered" >setTimeoutF
213
281
  <span class="cstat-no" title="statement not covered" > cb();</span>
214
282
  });
215
283
  }
284
+ &nbsp;
285
+ export function timeoutPromise&lt;T&gt;(p: Promise&lt;T&gt;, timeoutMs: number, waitForMinElapsed?: number): Promise&lt;{ resolved: T, timedOut?: boolean, elapsed: number }&gt; {
286
+ const started = Date.now();
287
+ &nbsp;
288
+ return new Promise((resolve, reject) =&gt; {
289
+ let finished = false;
290
+ const finish = (res: T, timedOut: boolean) =&gt; {
291
+ if (finished) {
292
+ return;
293
+ }
294
+ &nbsp;
295
+ finished = true;
296
+ &nbsp;
297
+ const getElapsed = () =&gt; (Date.now() - started);
298
+ const doFinish = () =&gt; resolve({ resolved: res, timedOut: timedOut, elapsed: getElapsed() });
299
+ &nbsp;
300
+ const left = waitForMinElapsed != null ? (waitForMinElapsed - getElapsed()) : -1;
301
+ if (left &gt;= 0) {
302
+ setTimeout(doFinish, left);
303
+ } else {
304
+ doFinish();
305
+ }
306
+ };
307
+ &nbsp;
308
+ const timeoutRef = setTimeout(() =&gt; {
309
+ finish(undefined, true);
310
+ }, timeoutMs);
311
+ &nbsp;
312
+ p.then(res =&gt; {
313
+ clearTimeout(timeoutRef);
314
+ finish(res, false);
315
+ }).catch(reject);
316
+ });
317
+ }
216
318
  &nbsp;</pre></td></tr></table></pre>
217
319
 
218
320
  <div class='push'></div><!-- for sticky footer -->
@@ -220,7 +322,7 @@ export function <span class="fstat-no" title="function not covered" >setTimeoutF
220
322
  <div class='footer quiet pad2 space-top1 center small'>
221
323
  Code coverage generated by
222
324
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
223
- at 2022-08-16T15:25:20.438Z
325
+ at 2022-09-08T13:27:57.517Z
224
326
  </div>
225
327
  <script src="../../prettify.js"></script>
226
328
  <script>
@@ -613,7 +613,7 @@ function _setX&lt;T&gt;(key: string, obj: Record&lt;string, T&gt;, val: T) {
613
613
  <div class='footer quiet pad2 space-top1 center small'>
614
614
  Code coverage generated by
615
615
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
616
- at 2022-08-16T15:25:20.438Z
616
+ at 2022-09-08T13:27:57.517Z
617
617
  </div>
618
618
  <script src="../prettify.js"></script>
619
619
  <script>
@@ -286,7 +286,7 @@ export function clamp(d: Date, low: Date, high: Date) {
286
286
  <div class='footer quiet pad2 space-top1 center small'>
287
287
  Code coverage generated by
288
288
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
289
- at 2022-08-16T15:25:20.438Z
289
+ at 2022-09-08T13:27:57.517Z
290
290
  </div>
291
291
  <script src="../../prettify.js"></script>
292
292
  <script>
@@ -643,7 +643,7 @@ export function getDaysStreak(dates: number[], descentOrder: boolean): number {
643
643
  <div class='footer quiet pad2 space-top1 center small'>
644
644
  Code coverage generated by
645
645
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
646
- at 2022-08-16T15:25:20.438Z
646
+ at 2022-09-08T13:27:57.517Z
647
647
  </div>
648
648
  <script src="../../prettify.js"></script>
649
649
  <script>
@@ -196,7 +196,7 @@ export namespace DateX {
196
196
  <div class='footer quiet pad2 space-top1 center small'>
197
197
  Code coverage generated by
198
198
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
199
- at 2022-08-16T15:25:20.438Z
199
+ at 2022-09-08T13:27:57.517Z
200
200
  </div>
201
201
  <script src="../../prettify.js"></script>
202
202
  <script>
@@ -388,7 +388,7 @@ export namespace Format {
388
388
  <div class='footer quiet pad2 space-top1 center small'>
389
389
  Code coverage generated by
390
390
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
391
- at 2022-08-16T15:25:20.438Z
391
+ at 2022-09-08T13:27:57.517Z
392
392
  </div>
393
393
  <script src="../../prettify.js"></script>
394
394
  <script>
@@ -236,7 +236,7 @@
236
236
  <div class='footer quiet pad2 space-top1 center small'>
237
237
  Code coverage generated by
238
238
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
239
- at 2022-08-16T15:25:20.438Z
239
+ at 2022-09-08T13:27:57.517Z
240
240
  </div>
241
241
  <script src="../../prettify.js"></script>
242
242
  <script>
@@ -97,7 +97,7 @@ export * from './yearDate';
97
97
  <div class='footer quiet pad2 space-top1 center small'>
98
98
  Code coverage generated by
99
99
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
100
- at 2022-08-16T15:25:20.438Z
100
+ at 2022-09-08T13:27:57.517Z
101
101
  </div>
102
102
  <script src="../../prettify.js"></script>
103
103
  <script>
@@ -142,7 +142,7 @@ export namespace Parse {
142
142
  <div class='footer quiet pad2 space-top1 center small'>
143
143
  Code coverage generated by
144
144
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
145
- at 2022-08-16T15:25:20.438Z
145
+ at 2022-09-08T13:27:57.517Z
146
146
  </div>
147
147
  <script src="../../prettify.js"></script>
148
148
  <script>
@@ -139,7 +139,7 @@ export namespace Period {
139
139
  <div class='footer quiet pad2 space-top1 center small'>
140
140
  Code coverage generated by
141
141
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
142
- at 2022-08-16T15:25:20.438Z
142
+ at 2022-09-08T13:27:57.517Z
143
143
  </div>
144
144
  <script src="../../prettify.js"></script>
145
145
  <script>
@@ -340,7 +340,7 @@ export function isSame(d1: Date | number, d2: Date | number, g: Granularity, loc
340
340
  <div class='footer quiet pad2 space-top1 center small'>
341
341
  Code coverage generated by
342
342
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
343
- at 2022-08-16T15:25:20.438Z
343
+ at 2022-09-08T13:27:57.517Z
344
344
  </div>
345
345
  <script src="../../prettify.js"></script>
346
346
  <script>
@@ -166,7 +166,7 @@ export namespace ConstantGranularity {
166
166
  <div class='footer quiet pad2 space-top1 center small'>
167
167
  Code coverage generated by
168
168
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
169
- at 2022-08-16T15:25:20.438Z
169
+ at 2022-09-08T13:27:57.517Z
170
170
  </div>
171
171
  <script src="../../prettify.js"></script>
172
172
  <script>
@@ -178,7 +178,7 @@ export namespace YearDate {
178
178
  <div class='footer quiet pad2 space-top1 center small'>
179
179
  Code coverage generated by
180
180
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
181
- at 2022-08-16T15:25:20.438Z
181
+ at 2022-09-08T13:27:57.517Z
182
182
  </div>
183
183
  <script src="../../prettify.js"></script>
184
184
  <script>
@@ -361,7 +361,7 @@ export class Disposable implements IDisposable {
361
361
  <div class='footer quiet pad2 space-top1 center small'>
362
362
  Code coverage generated by
363
363
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
364
- at 2022-08-16T15:25:20.438Z
364
+ at 2022-09-08T13:27:57.517Z
365
365
  </div>
366
366
  <script src="../prettify.js"></script>
367
367
  <script>
@@ -439,7 +439,7 @@ export class EnumBitwiseHelper&lt;T extends number&gt; extends EnumHelper&lt;T&g
439
439
  <div class='footer quiet pad2 space-top1 center small'>
440
440
  Code coverage generated by
441
441
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
442
- at 2022-08-16T15:25:20.438Z
442
+ at 2022-09-08T13:27:57.517Z
443
443
  </div>
444
444
  <script src="../prettify.js"></script>
445
445
  <script>