@zajno/common 1.5.7 → 1.5.10
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.
- package/coverage/clover.xml +213 -185
- package/coverage/coverage-final.json +14 -14
- package/coverage/lcov-report/async/index.html +1 -1
- package/coverage/lcov-report/async/timeout.ts.html +1 -1
- package/coverage/lcov-report/index.html +37 -37
- package/coverage/lcov-report/logger/index.html +1 -1
- package/coverage/lcov-report/logger/index.ts.html +8 -8
- package/coverage/lcov-report/parallel.ts.html +241 -79
- package/coverage/lcov-report/queue/index.html +21 -21
- package/coverage/lcov-report/queue/parallel.ts.html +117 -27
- package/coverage/lcov-report/src/__tests__/helpers/index.html +1 -1
- package/coverage/lcov-report/src/__tests__/helpers/main.ts.html +1 -1
- package/coverage/lcov-report/src/async/arrays.ts.html +5 -5
- package/coverage/lcov-report/src/async/index.html +21 -21
- package/coverage/lcov-report/src/async/timeout.ts.html +115 -13
- package/coverage/lcov-report/src/cache.ts.html +1 -1
- package/coverage/lcov-report/src/dates/calc.ts.html +1 -1
- package/coverage/lcov-report/src/dates/convert.ts.html +1 -1
- package/coverage/lcov-report/src/dates/datex.ts.html +1 -1
- package/coverage/lcov-report/src/dates/format.ts.html +1 -1
- package/coverage/lcov-report/src/dates/index.html +1 -1
- package/coverage/lcov-report/src/dates/index.ts.html +1 -1
- package/coverage/lcov-report/src/dates/parse.ts.html +1 -1
- package/coverage/lcov-report/src/dates/period.ts.html +1 -1
- package/coverage/lcov-report/src/dates/shift.ts.html +1 -1
- package/coverage/lcov-report/src/dates/types.ts.html +1 -1
- package/coverage/lcov-report/src/dates/yearDate.ts.html +1 -1
- package/coverage/lcov-report/src/disposer.ts.html +1 -1
- package/coverage/lcov-report/src/enumHelper.ts.html +1 -1
- package/coverage/lcov-report/src/event.ts.html +67 -31
- package/coverage/lcov-report/src/fields/index.html +1 -1
- package/coverage/lcov-report/src/fields/update.ts.html +1 -1
- package/coverage/lcov-report/src/functions.ts.html +1 -1
- package/coverage/lcov-report/src/index.html +19 -19
- package/coverage/lcov-report/src/lazy.light.ts.html +1 -1
- package/coverage/lcov-report/src/logger/batch.ts.html +2 -2
- package/coverage/lcov-report/src/logger/console.ts.html +5 -5
- package/coverage/lcov-report/src/logger/index.html +1 -1
- package/coverage/lcov-report/src/logger/index.ts.html +23 -23
- package/coverage/lcov-report/src/logger/named.ts.html +18 -18
- package/coverage/lcov-report/src/logger/proxy.ts.html +7 -7
- package/coverage/lcov-report/src/math/arrays.ts.html +23 -23
- package/coverage/lcov-report/src/math/calc.ts.html +9 -9
- package/coverage/lcov-report/src/math/distribution.ts.html +2 -2
- package/coverage/lcov-report/src/math/index.html +1 -1
- package/coverage/lcov-report/src/math/index.ts.html +6 -6
- package/coverage/lcov-report/src/observersMap.ts.html +1 -1
- package/coverage/lcov-report/src/observingCache.ts.html +1 -1
- package/coverage/lcov-report/src/queue/index.html +14 -14
- package/coverage/lcov-report/src/queue/parallel.ts.html +32 -20
- package/coverage/lcov-report/src/tempoCache.ts.html +1 -1
- package/coverage/lcov-report/src/transitionObserver.ts.html +1 -1
- package/coverage/lcov-report/src/types.ts.html +5 -5
- package/coverage/lcov-report/src/validation/ValidationErrors.ts.html +1 -1
- package/coverage/lcov-report/src/validation/creditCard.ts.html +1 -1
- package/coverage/lcov-report/src/validation/helpers.ts.html +1 -1
- package/coverage/lcov-report/src/validation/index.html +1 -1
- package/coverage/lcov-report/src/validation/index.ts.html +1 -1
- package/coverage/lcov-report/src/validation/types.ts.html +1 -1
- package/coverage/lcov-report/src/validation/validators.ts.html +1 -1
- package/coverage/lcov-report/src/validation/wrappers.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/CommonModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/FlagModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/LoadingModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/NumberModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/SelectModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/TextModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/Validatable.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/index.html +1 -1
- package/coverage/lcov-report/src/viewModels/wrappers.ts.html +1 -1
- package/coverage/lcov.info +373 -315
- package/jest.config.js +2 -1
- package/lib/async/timeout.d.ts +5 -0
- package/lib/async/timeout.d.ts.map +1 -1
- package/lib/async/timeout.js +30 -1
- package/lib/async/timeout.js.map +1 -1
- package/lib/event.d.ts +2 -0
- package/lib/event.d.ts.map +1 -1
- package/lib/event.js +12 -1
- package/lib/event.js.map +1 -1
- package/lib/lazy.d.ts +2 -0
- package/lib/lazy.d.ts.map +1 -1
- package/lib/lazy.js +6 -1
- package/lib/lazy.js.map +1 -1
- package/lib/queue/parallel.d.ts +3 -1
- package/lib/queue/parallel.d.ts.map +1 -1
- package/lib/queue/parallel.js +5 -2
- package/lib/queue/parallel.js.map +1 -1
- package/package.json +2 -1
- package/src/async/__tests__/timeout.test.ts +74 -0
- package/src/async/timeout.ts +34 -0
- package/src/event.ts +12 -0
- package/src/lazy.ts +8 -1
- package/src/queue/__tests__/parallel.test.ts +8 -7
- package/src/queue/parallel.ts +6 -2
- package/yarn.lock +10 -2
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">68.09% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
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">
|
|
33
|
+
<span class="strong">50% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
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">
|
|
40
|
+
<span class="strong">71.43% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
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">
|
|
47
|
+
<span class="strong">66.67% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
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
|
|
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
|
|
117
|
-
<
|
|
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"> </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"> </span>
|
|
120
154
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -144,7 +178,7 @@
|
|
|
144
178
|
<span class="cline-any cline-neutral"> </span>
|
|
145
179
|
<span class="cline-any cline-neutral"> </span>
|
|
146
180
|
<span class="cline-any cline-neutral"> </span>
|
|
147
|
-
<span class="cline-any cline-yes">
|
|
181
|
+
<span class="cline-any cline-yes">5x</span>
|
|
148
182
|
<span class="cline-any cline-no"> </span>
|
|
149
183
|
<span class="cline-any cline-no"> </span>
|
|
150
184
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -163,6 +197,40 @@
|
|
|
163
197
|
<span class="cline-any cline-no"> </span>
|
|
164
198
|
<span class="cline-any cline-neutral"> </span>
|
|
165
199
|
<span class="cline-any cline-neutral"> </span>
|
|
200
|
+
<span class="cline-any cline-neutral"> </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"> </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"> </span>
|
|
210
|
+
<span class="cline-any cline-neutral"> </span>
|
|
211
|
+
<span class="cline-any cline-yes">3x</span>
|
|
212
|
+
<span class="cline-any cline-neutral"> </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"> </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"> </span>
|
|
220
|
+
<span class="cline-any cline-yes">2x</span>
|
|
221
|
+
<span class="cline-any cline-neutral"> </span>
|
|
222
|
+
<span class="cline-any cline-neutral"> </span>
|
|
223
|
+
<span class="cline-any cline-neutral"> </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"> </span>
|
|
227
|
+
<span class="cline-any cline-neutral"> </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"> </span>
|
|
232
|
+
<span class="cline-any cline-neutral"> </span>
|
|
233
|
+
<span class="cline-any cline-neutral"> </span>
|
|
166
234
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">
|
|
167
235
|
export function setTimeoutAsync(ms: number, useCancel: (cb: () => void) => 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
|
+
|
|
285
|
+
export function timeoutPromise<T>(p: Promise<T>, timeoutMs: number, waitForMinElapsed?: number): Promise<{ resolved: T, timedOut?: boolean, elapsed: number }> {
|
|
286
|
+
const started = Date.now();
|
|
287
|
+
|
|
288
|
+
return new Promise((resolve, reject) => {
|
|
289
|
+
let finished = false;
|
|
290
|
+
const finish = (res: T, timedOut: boolean) => {
|
|
291
|
+
if (finished) {
|
|
292
|
+
return;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
finished = true;
|
|
296
|
+
|
|
297
|
+
const getElapsed = () => (Date.now() - started);
|
|
298
|
+
const doFinish = () => resolve({ resolved: res, timedOut: timedOut, elapsed: getElapsed() });
|
|
299
|
+
|
|
300
|
+
const left = waitForMinElapsed != null ? (waitForMinElapsed - getElapsed()) : -1;
|
|
301
|
+
if (left >= 0) {
|
|
302
|
+
setTimeout(doFinish, left);
|
|
303
|
+
} else {
|
|
304
|
+
doFinish();
|
|
305
|
+
}
|
|
306
|
+
};
|
|
307
|
+
|
|
308
|
+
const timeoutRef = setTimeout(() => {
|
|
309
|
+
finish(undefined, true);
|
|
310
|
+
}, timeoutMs);
|
|
311
|
+
|
|
312
|
+
p.then(res => {
|
|
313
|
+
clearTimeout(timeoutRef);
|
|
314
|
+
finish(res, false);
|
|
315
|
+
}).catch(reject);
|
|
316
|
+
});
|
|
317
|
+
}
|
|
216
318
|
</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-
|
|
325
|
+
at 2022-09-09T11:30:01.217Z
|
|
224
326
|
</div>
|
|
225
327
|
<script src="../../prettify.js"></script>
|
|
226
328
|
<script>
|
|
@@ -613,7 +613,7 @@ function _setX<T>(key: string, obj: Record<string, T>, 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-
|
|
616
|
+
at 2022-09-09T11:30:01.217Z
|
|
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-
|
|
289
|
+
at 2022-09-09T11:30:01.217Z
|
|
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-
|
|
646
|
+
at 2022-09-09T11:30:01.217Z
|
|
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-
|
|
199
|
+
at 2022-09-09T11:30:01.217Z
|
|
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-
|
|
391
|
+
at 2022-09-09T11:30:01.217Z
|
|
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-
|
|
239
|
+
at 2022-09-09T11:30:01.217Z
|
|
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-
|
|
100
|
+
at 2022-09-09T11:30:01.217Z
|
|
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-
|
|
145
|
+
at 2022-09-09T11:30:01.217Z
|
|
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-
|
|
142
|
+
at 2022-09-09T11:30:01.217Z
|
|
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-
|
|
343
|
+
at 2022-09-09T11:30:01.217Z
|
|
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-
|
|
169
|
+
at 2022-09-09T11:30:01.217Z
|
|
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-
|
|
181
|
+
at 2022-09-09T11:30:01.217Z
|
|
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-
|
|
364
|
+
at 2022-09-09T11:30:01.217Z
|
|
365
365
|
</div>
|
|
366
366
|
<script src="../prettify.js"></script>
|
|
367
367
|
<script>
|
|
@@ -439,7 +439,7 @@ export class EnumBitwiseHelper<T extends number> extends EnumHelper<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-
|
|
442
|
+
at 2022-09-09T11:30:01.217Z
|
|
443
443
|
</div>
|
|
444
444
|
<script src="../prettify.js"></script>
|
|
445
445
|
<script>
|
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">70.27% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>26/37</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">81.82% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>9/11</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">78.57% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>11/14</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">69.44% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>25/36</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -143,9 +143,22 @@
|
|
|
143
143
|
<a name='L78'></a><a href='#L78'>78</a>
|
|
144
144
|
<a name='L79'></a><a href='#L79'>79</a>
|
|
145
145
|
<a name='L80'></a><a href='#L80'>80</a>
|
|
146
|
-
<a name='L81'></a><a href='#L81'>81</a
|
|
147
|
-
<
|
|
148
|
-
<
|
|
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>
|
|
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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
159
|
+
<span class="cline-any cline-yes">3x</span>
|
|
160
|
+
<span class="cline-any cline-yes">3x</span>
|
|
161
|
+
<span class="cline-any cline-yes">3x</span>
|
|
149
162
|
<span class="cline-any cline-neutral"> </span>
|
|
150
163
|
<span class="cline-any cline-neutral"> </span>
|
|
151
164
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -154,40 +167,40 @@
|
|
|
154
167
|
<span class="cline-any cline-neutral"> </span>
|
|
155
168
|
<span class="cline-any cline-neutral"> </span>
|
|
156
169
|
<span class="cline-any cline-neutral"> </span>
|
|
157
|
-
<span class="cline-any cline-yes">
|
|
158
|
-
<span class="cline-any cline-yes">
|
|
159
|
-
<span class="cline-any cline-yes">
|
|
170
|
+
<span class="cline-any cline-yes">3x</span>
|
|
171
|
+
<span class="cline-any cline-yes">14x</span>
|
|
172
|
+
<span class="cline-any cline-yes">14x</span>
|
|
160
173
|
<span class="cline-any cline-neutral"> </span>
|
|
161
174
|
<span class="cline-any cline-neutral"> </span>
|
|
162
175
|
<span class="cline-any cline-neutral"> </span>
|
|
163
176
|
<span class="cline-any cline-neutral"> </span>
|
|
164
177
|
<span class="cline-any cline-neutral"> </span>
|
|
165
178
|
<span class="cline-any cline-neutral"> </span>
|
|
166
|
-
<span class="cline-any cline-yes">
|
|
179
|
+
<span class="cline-any cline-yes">14x</span>
|
|
167
180
|
<span class="cline-any cline-neutral"> </span>
|
|
168
181
|
<span class="cline-any cline-neutral"> </span>
|
|
169
182
|
<span class="cline-any cline-neutral"> </span>
|
|
170
183
|
<span class="cline-any cline-neutral"> </span>
|
|
171
184
|
<span class="cline-any cline-neutral"> </span>
|
|
172
|
-
<span class="cline-any cline-yes">
|
|
173
|
-
<span class="cline-any cline-yes">
|
|
174
|
-
<span class="cline-any cline-
|
|
185
|
+
<span class="cline-any cline-yes">5x</span>
|
|
186
|
+
<span class="cline-any cline-yes">5x</span>
|
|
187
|
+
<span class="cline-any cline-yes">4x</span>
|
|
175
188
|
<span class="cline-any cline-neutral"> </span>
|
|
176
189
|
<span class="cline-any cline-neutral"> </span>
|
|
177
190
|
<span class="cline-any cline-neutral"> </span>
|
|
178
191
|
<span class="cline-any cline-neutral"> </span>
|
|
179
|
-
<span class="cline-any cline-
|
|
192
|
+
<span class="cline-any cline-yes">4x</span>
|
|
180
193
|
<span class="cline-any cline-neutral"> </span>
|
|
181
194
|
<span class="cline-any cline-neutral"> </span>
|
|
182
195
|
<span class="cline-any cline-neutral"> </span>
|
|
183
|
-
<span class="cline-any cline-yes">
|
|
184
|
-
<span class="cline-any cline-yes">
|
|
196
|
+
<span class="cline-any cline-yes">30x</span>
|
|
197
|
+
<span class="cline-any cline-yes">14x</span>
|
|
185
198
|
<span class="cline-any cline-neutral"> </span>
|
|
186
199
|
<span class="cline-any cline-neutral"> </span>
|
|
187
|
-
<span class="cline-any cline-yes">
|
|
188
|
-
<span class="cline-any cline-yes">
|
|
189
|
-
<span class="cline-any cline-yes">
|
|
190
|
-
<span class="cline-any cline-yes">
|
|
200
|
+
<span class="cline-any cline-yes">16x</span>
|
|
201
|
+
<span class="cline-any cline-yes">16x</span>
|
|
202
|
+
<span class="cline-any cline-yes">16x</span>
|
|
203
|
+
<span class="cline-any cline-yes">16x</span>
|
|
191
204
|
<span class="cline-any cline-neutral"> </span>
|
|
192
205
|
<span class="cline-any cline-no"> </span>
|
|
193
206
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -223,7 +236,19 @@
|
|
|
223
236
|
<span class="cline-any cline-no"> </span>
|
|
224
237
|
<span class="cline-any cline-neutral"> </span>
|
|
225
238
|
<span class="cline-any cline-neutral"> </span>
|
|
226
|
-
<span class="cline-any cline-neutral"> </span
|
|
239
|
+
<span class="cline-any cline-neutral"> </span>
|
|
240
|
+
<span class="cline-any cline-yes">3x</span>
|
|
241
|
+
<span class="cline-any cline-yes">4x</span>
|
|
242
|
+
<span class="cline-any cline-yes">4x</span>
|
|
243
|
+
<span class="cline-any cline-yes">12x</span>
|
|
244
|
+
<span class="cline-any cline-yes">4x</span>
|
|
245
|
+
<span class="cline-any cline-yes">4x</span>
|
|
246
|
+
<span class="cline-any cline-neutral"> </span>
|
|
247
|
+
<span class="cline-any cline-neutral"> </span>
|
|
248
|
+
<span class="cline-any cline-neutral"> </span>
|
|
249
|
+
<span class="cline-any cline-neutral"> </span>
|
|
250
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import type { Predicate } from './types';
|
|
251
|
+
import './async/arrays';
|
|
227
252
|
import { forEachAsync } from './async/arrays';
|
|
228
253
|
import { ILogger, createLogger } from './logger';
|
|
229
254
|
|
|
@@ -250,13 +275,13 @@ export class Event<T = any> implements IEvent<T> {
|
|
|
250
275
|
|
|
251
276
|
public on(handler: EventHandler<T>): () => void {
|
|
252
277
|
this._handlers.push(handler);
|
|
253
|
-
return
|
|
254
|
-
|
|
278
|
+
return () => {
|
|
279
|
+
this.off(handler);
|
|
255
280
|
};
|
|
256
281
|
}
|
|
257
282
|
|
|
258
|
-
public
|
|
259
|
-
|
|
283
|
+
public off(handler: EventHandler<T>): void {
|
|
284
|
+
this._handlers = this._handlers.filter(h => h !== handler);
|
|
260
285
|
}
|
|
261
286
|
|
|
262
287
|
public trigger(data?: T) {
|
|
@@ -303,6 +328,17 @@ export class Event<T = any> implements IEvent<T> {
|
|
|
303
328
|
<span class="cstat-no" title="statement not covered" > this._logger.error(`[Event.${typeof data}] Handler ${cb.name} thrown an exception: `, err);</span>
|
|
304
329
|
}
|
|
305
330
|
}
|
|
331
|
+
|
|
332
|
+
export function oneTimeSubscription<T>(e: IEvent<T>, filter?: Predicate<T>): Promise<T> {
|
|
333
|
+
return new Promise<T>((resolve) => {
|
|
334
|
+
const unsub = e.on(v => {
|
|
335
|
+
if (!filter || filter(v)) {
|
|
336
|
+
unsub();
|
|
337
|
+
resolve(v);
|
|
338
|
+
}
|
|
339
|
+
});
|
|
340
|
+
});
|
|
341
|
+
}
|
|
306
342
|
</pre></td></tr></table></pre>
|
|
307
343
|
|
|
308
344
|
<div class='push'></div><!-- for sticky footer -->
|
|
@@ -310,7 +346,7 @@ export class Event<T = any> implements IEvent<T> {
|
|
|
310
346
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
311
347
|
Code coverage generated by
|
|
312
348
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
313
|
-
at 2022-
|
|
349
|
+
at 2022-09-09T11:30:01.217Z
|
|
314
350
|
</div>
|
|
315
351
|
<script src="../prettify.js"></script>
|
|
316
352
|
<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-
|
|
104
|
+
at 2022-09-09T11:30:01.217Z
|
|
105
105
|
</div>
|
|
106
106
|
<script src="../../prettify.js"></script>
|
|
107
107
|
<script>
|
|
@@ -442,7 +442,7 @@ export function updateArray<T>(
|
|
|
442
442
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
443
443
|
Code coverage generated by
|
|
444
444
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
445
|
-
at 2022-
|
|
445
|
+
at 2022-09-09T11:30:01.217Z
|
|
446
446
|
</div>
|
|
447
447
|
<script src="../../prettify.js"></script>
|
|
448
448
|
<script>
|
|
@@ -112,7 +112,7 @@ export function safeCall<T extends (...args: any) => any>(cb: T | undef
|
|
|
112
112
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
113
113
|
Code coverage generated by
|
|
114
114
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
115
|
-
at 2022-
|
|
115
|
+
at 2022-09-09T11:30:01.217Z
|
|
116
116
|
</div>
|
|
117
117
|
<script src="../prettify.js"></script>
|
|
118
118
|
<script>
|