@zajno/common 1.5.6 → 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.
- package/coverage/clover.xml +456 -349
- package/coverage/coverage-final.json +37 -36
- package/coverage/lcov-report/async/index.html +12 -7
- package/coverage/lcov-report/async/timeout.ts.html +24 -19
- package/coverage/lcov-report/block-navigation.js +8 -0
- package/coverage/lcov-report/disposer.ts.html +376 -0
- package/coverage/lcov-report/enumHelper.ts.html +454 -0
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +64 -44
- package/coverage/lcov-report/logger/index.html +116 -0
- package/coverage/lcov-report/logger/index.ts.html +298 -0
- package/coverage/lcov-report/parallel.ts.html +550 -0
- package/coverage/lcov-report/queue/index.html +116 -0
- package/coverage/lcov-report/queue/parallel.ts.html +499 -0
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +26 -0
- package/coverage/lcov-report/src/__tests__/helpers/index.html +8 -3
- package/coverage/lcov-report/src/__tests__/helpers/main.ts.html +8 -3
- package/coverage/lcov-report/src/async/arrays.ts.html +15 -10
- package/coverage/lcov-report/src/async/index.html +29 -24
- package/coverage/lcov-report/src/async/timeout.ts.html +134 -27
- package/coverage/lcov-report/src/cache.ts.html +15 -10
- package/coverage/lcov-report/src/dates/calc.ts.html +10 -5
- package/coverage/lcov-report/src/dates/convert.ts.html +9 -4
- package/coverage/lcov-report/src/dates/datex.ts.html +8 -3
- package/coverage/lcov-report/src/dates/format.ts.html +10 -5
- package/coverage/lcov-report/src/dates/index.html +19 -14
- package/coverage/lcov-report/src/dates/index.ts.html +8 -3
- package/coverage/lcov-report/src/dates/parse.ts.html +9 -4
- package/coverage/lcov-report/src/dates/period.ts.html +8 -3
- package/coverage/lcov-report/src/dates/shift.ts.html +9 -4
- package/coverage/lcov-report/src/dates/types.ts.html +8 -3
- package/coverage/lcov-report/src/dates/yearDate.ts.html +10 -5
- package/coverage/lcov-report/src/disposer.ts.html +65 -21
- package/coverage/lcov-report/src/enumHelper.ts.html +12 -7
- package/coverage/lcov-report/src/event.ts.html +98 -33
- package/coverage/lcov-report/src/fields/index.html +12 -7
- package/coverage/lcov-report/src/fields/update.ts.html +12 -7
- package/coverage/lcov-report/src/functions.ts.html +10 -5
- package/coverage/lcov-report/src/index.html +52 -47
- package/coverage/lcov-report/src/lazy.light.ts.html +9 -4
- package/coverage/lcov-report/src/logger/batch.ts.html +9 -4
- package/coverage/lcov-report/src/logger/console.ts.html +16 -11
- package/coverage/lcov-report/src/logger/index.html +13 -8
- package/coverage/lcov-report/src/logger/index.ts.html +38 -33
- package/coverage/lcov-report/src/logger/named.ts.html +26 -21
- package/coverage/lcov-report/src/logger/proxy.ts.html +20 -15
- package/coverage/lcov-report/src/math/arrays.ts.html +33 -28
- package/coverage/lcov-report/src/math/calc.ts.html +18 -13
- package/coverage/lcov-report/src/math/distribution.ts.html +10 -5
- package/coverage/lcov-report/src/math/index.html +16 -11
- package/coverage/lcov-report/src/math/index.ts.html +14 -9
- package/coverage/lcov-report/src/observersMap.ts.html +12 -7
- package/coverage/lcov-report/src/observingCache.ts.html +12 -7
- package/coverage/lcov-report/src/queue/index.html +116 -0
- package/coverage/lcov-report/src/queue/parallel.ts.html +499 -0
- package/coverage/lcov-report/src/tempoCache.ts.html +9 -4
- package/coverage/lcov-report/src/transitionObserver.ts.html +14 -9
- package/coverage/lcov-report/src/types.ts.html +13 -8
- package/coverage/lcov-report/src/validation/ValidationErrors.ts.html +8 -3
- package/coverage/lcov-report/src/validation/creditCard.ts.html +8 -3
- package/coverage/lcov-report/src/validation/helpers.ts.html +13 -8
- package/coverage/lcov-report/src/validation/index.html +11 -6
- package/coverage/lcov-report/src/validation/index.ts.html +8 -3
- package/coverage/lcov-report/src/validation/types.ts.html +8 -3
- package/coverage/lcov-report/src/validation/validators.ts.html +8 -3
- package/coverage/lcov-report/src/validation/wrappers.ts.html +8 -3
- package/coverage/lcov-report/src/viewModels/CommonModel.ts.html +10 -5
- package/coverage/lcov-report/src/viewModels/FlagModel.ts.html +8 -3
- package/coverage/lcov-report/src/viewModels/LoadingModel.ts.html +10 -5
- package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +13 -8
- package/coverage/lcov-report/src/viewModels/NumberModel.ts.html +8 -3
- package/coverage/lcov-report/src/viewModels/SelectModel.ts.html +10 -5
- package/coverage/lcov-report/src/viewModels/TextModel.ts.html +13 -8
- package/coverage/lcov-report/src/viewModels/Validatable.ts.html +12 -7
- package/coverage/lcov-report/src/viewModels/index.html +22 -17
- package/coverage/lcov-report/src/viewModels/wrappers.ts.html +8 -3
- package/coverage/lcov.info +565 -483
- package/jest.config.js +2 -1
- package/lib/async/arrays.extend.js +4 -4
- package/lib/async/arrays.extend.js.map +1 -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/cache.js +6 -6
- package/lib/cache.js.map +1 -1
- package/lib/dates/calc.js +7 -7
- package/lib/dates/calc.js.map +1 -1
- package/lib/dates/convert.js +11 -11
- package/lib/dates/convert.js.map +1 -1
- package/lib/dates/format.js +6 -6
- package/lib/dates/format.js.map +1 -1
- package/lib/dates/period.js +2 -2
- package/lib/dates/period.js.map +1 -1
- package/lib/dates/shift.js +5 -5
- package/lib/dates/shift.js.map +1 -1
- package/lib/dates/yearDate.js +2 -2
- package/lib/dates/yearDate.js.map +1 -1
- package/lib/disposer.d.ts +4 -2
- package/lib/disposer.d.ts.map +1 -1
- package/lib/disposer.js +10 -5
- package/lib/disposer.js.map +1 -1
- package/lib/enumHelper.d.ts +2 -2
- package/lib/enumHelper.d.ts.map +1 -1
- package/lib/enumHelper.js.map +1 -1
- package/lib/event.d.ts +2 -0
- package/lib/event.d.ts.map +1 -1
- package/lib/event.js +20 -3
- package/lib/event.js.map +1 -1
- package/lib/fields/update.js +2 -2
- package/lib/fields/update.js.map +1 -1
- package/lib/lazy.d.ts +2 -0
- package/lib/lazy.d.ts.map +1 -1
- package/lib/lazy.js +8 -3
- package/lib/lazy.js.map +1 -1
- package/lib/logger/file.js.map +1 -1
- package/lib/logger/index.d.ts +1 -1
- package/lib/logger/index.d.ts.map +1 -1
- package/lib/logger/index.js +1 -1
- package/lib/logger/index.js.map +1 -1
- package/lib/math/arrays.js +2 -2
- package/lib/math/arrays.js.map +1 -1
- package/lib/models/EntityWithStatus.js.map +1 -1
- package/lib/observersMap.js +2 -2
- package/lib/observersMap.js.map +1 -1
- package/lib/observingCache.js +1 -1
- package/lib/observingCache.js.map +1 -1
- package/lib/pool.js +1 -1
- package/lib/pool.js.map +1 -1
- package/lib/queue/parallel.d.ts +22 -0
- package/lib/queue/parallel.d.ts.map +1 -0
- package/lib/queue/parallel.js +117 -0
- package/lib/queue/parallel.js.map +1 -0
- package/lib/services/localization/LocalizationManager.js +1 -1
- package/lib/services/localization/LocalizationManager.js.map +1 -1
- package/lib/services/storage/web/localStorage.js +1 -1
- package/lib/services/storage/web/localStorage.js.map +1 -1
- package/lib/services/storage/web/sessionStorage.js +1 -1
- package/lib/services/storage/web/sessionStorage.js.map +1 -1
- package/lib/transitionObserver.js +3 -3
- package/lib/transitionObserver.js.map +1 -1
- package/lib/validation/wrappers.js +1 -1
- package/lib/validation/wrappers.js.map +1 -1
- package/lib/viewModels/CommonModel.js +1 -1
- package/lib/viewModels/CommonModel.js.map +1 -1
- package/lib/viewModels/FlagModel.js +1 -1
- package/lib/viewModels/FlagModel.js.map +1 -1
- package/lib/viewModels/MultiSelectModel.js +5 -5
- package/lib/viewModels/MultiSelectModel.js.map +1 -1
- package/lib/viewModels/NumberModel.js +1 -1
- package/lib/viewModels/NumberModel.js.map +1 -1
- package/lib/viewModels/PromptModal.js +1 -1
- package/lib/viewModels/PromptModal.js.map +1 -1
- package/lib/viewModels/SelectModel.js +4 -4
- package/lib/viewModels/SelectModel.js.map +1 -1
- package/lib/viewModels/TextModel.js +3 -3
- package/lib/viewModels/TextModel.js.map +1 -1
- package/lib/viewModels/Validatable.js +3 -3
- package/lib/viewModels/Validatable.js.map +1 -1
- package/lib/viewModels/ValueModel.js +1 -1
- package/lib/viewModels/ValueModel.js.map +1 -1
- package/package.json +11 -11
- package/src/.DS_Store +0 -0
- package/src/async/__tests__/timeout.test.ts +74 -0
- package/src/async/timeout.ts +34 -0
- package/src/disposer.ts +19 -6
- package/src/enumHelper.ts +2 -2
- package/src/event.ts +20 -0
- package/src/lazy.ts +8 -1
- package/src/queue/__tests__/parallel.test.ts +58 -0
- package/src/queue/parallel.ts +138 -0
- package/src/services/storage/web/localStorage.ts +1 -1
- package/src/services/storage/web/sessionStorage.ts +1 -1
- package/yarn.lock +1074 -1441
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">86.84% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>33/38</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
@@ -54,6 +54,12 @@
|
|
|
54
54
|
<p class="quiet">
|
|
55
55
|
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
56
|
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
57
63
|
</div>
|
|
58
64
|
<div class='status-line high'></div>
|
|
59
65
|
<pre><table class="coverage">
|
|
@@ -328,7 +334,7 @@
|
|
|
328
334
|
return custom || v;
|
|
329
335
|
}
|
|
330
336
|
|
|
331
|
-
validateValue(v: string): T | null {
|
|
337
|
+
validateValue(v: string | null): T | null {
|
|
332
338
|
if (!v) {
|
|
333
339
|
return null;
|
|
334
340
|
}
|
|
@@ -373,7 +379,7 @@ export default class EnumHelper<T extends number> {
|
|
|
373
379
|
return custom || this._obj[v];
|
|
374
380
|
}
|
|
375
381
|
|
|
376
|
-
validateValue(v: number): T | null {
|
|
382
|
+
validateValue(v: number | null): T | null {
|
|
377
383
|
if (v == null || Number.isNaN(v)) {
|
|
378
384
|
return null;
|
|
379
385
|
}
|
|
@@ -432,10 +438,9 @@ export class EnumBitwiseHelper<T extends number> extends EnumHelper<T&g
|
|
|
432
438
|
</div><!-- /wrapper -->
|
|
433
439
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
434
440
|
Code coverage generated by
|
|
435
|
-
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
436
|
-
at
|
|
441
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
442
|
+
at 2022-09-08T13:27:57.517Z
|
|
437
443
|
</div>
|
|
438
|
-
</div>
|
|
439
444
|
<script src="../prettify.js"></script>
|
|
440
445
|
<script>
|
|
441
446
|
window.onload = function () {
|
|
@@ -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
|
|
|
@@ -54,8 +54,14 @@
|
|
|
54
54
|
<p class="quiet">
|
|
55
55
|
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
56
|
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
57
63
|
</div>
|
|
58
|
-
<div class='status-line
|
|
64
|
+
<div class='status-line medium'></div>
|
|
59
65
|
<pre><table class="coverage">
|
|
60
66
|
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
61
67
|
<a name='L2'></a><a href='#L2'>2</a>
|
|
@@ -129,9 +135,30 @@
|
|
|
129
135
|
<a name='L70'></a><a href='#L70'>70</a>
|
|
130
136
|
<a name='L71'></a><a href='#L71'>71</a>
|
|
131
137
|
<a name='L72'></a><a href='#L72'>72</a>
|
|
132
|
-
<a name='L73'></a><a href='#L73'>73</a
|
|
133
|
-
<
|
|
134
|
-
<
|
|
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>
|
|
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>
|
|
135
162
|
<span class="cline-any cline-neutral"> </span>
|
|
136
163
|
<span class="cline-any cline-neutral"> </span>
|
|
137
164
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -140,36 +167,40 @@
|
|
|
140
167
|
<span class="cline-any cline-neutral"> </span>
|
|
141
168
|
<span class="cline-any cline-neutral"> </span>
|
|
142
169
|
<span class="cline-any cline-neutral"> </span>
|
|
143
|
-
<span class="cline-any cline-yes">
|
|
144
|
-
<span class="cline-any cline-yes">
|
|
145
|
-
<span class="cline-any cline-yes">
|
|
170
|
+
<span class="cline-any cline-yes">3x</span>
|
|
171
|
+
<span class="cline-any cline-yes">13x</span>
|
|
172
|
+
<span class="cline-any cline-yes">13x</span>
|
|
146
173
|
<span class="cline-any cline-neutral"> </span>
|
|
147
174
|
<span class="cline-any cline-neutral"> </span>
|
|
148
175
|
<span class="cline-any cline-neutral"> </span>
|
|
149
176
|
<span class="cline-any cline-neutral"> </span>
|
|
150
177
|
<span class="cline-any cline-neutral"> </span>
|
|
151
178
|
<span class="cline-any cline-neutral"> </span>
|
|
152
|
-
<span class="cline-any cline-yes">
|
|
179
|
+
<span class="cline-any cline-yes">13x</span>
|
|
153
180
|
<span class="cline-any cline-neutral"> </span>
|
|
154
181
|
<span class="cline-any cline-neutral"> </span>
|
|
155
182
|
<span class="cline-any cline-neutral"> </span>
|
|
156
183
|
<span class="cline-any cline-neutral"> </span>
|
|
157
184
|
<span class="cline-any cline-neutral"> </span>
|
|
158
|
-
<span class="cline-any cline-yes">
|
|
159
|
-
<span class="cline-any cline-yes">
|
|
160
|
-
<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>
|
|
161
188
|
<span class="cline-any cline-neutral"> </span>
|
|
162
189
|
<span class="cline-any cline-neutral"> </span>
|
|
163
190
|
<span class="cline-any cline-neutral"> </span>
|
|
164
191
|
<span class="cline-any cline-neutral"> </span>
|
|
165
|
-
<span class="cline-any cline-
|
|
192
|
+
<span class="cline-any cline-yes">4x</span>
|
|
166
193
|
<span class="cline-any cline-neutral"> </span>
|
|
167
194
|
<span class="cline-any cline-neutral"> </span>
|
|
168
195
|
<span class="cline-any cline-neutral"> </span>
|
|
169
|
-
<span class="cline-any cline-yes">
|
|
170
|
-
<span class="cline-any cline-yes">
|
|
171
|
-
<span class="cline-any cline-
|
|
172
|
-
<span class="cline-any cline-
|
|
196
|
+
<span class="cline-any cline-yes">29x</span>
|
|
197
|
+
<span class="cline-any cline-yes">13x</span>
|
|
198
|
+
<span class="cline-any cline-neutral"> </span>
|
|
199
|
+
<span class="cline-any cline-neutral"> </span>
|
|
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>
|
|
173
204
|
<span class="cline-any cline-neutral"> </span>
|
|
174
205
|
<span class="cline-any cline-no"> </span>
|
|
175
206
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -177,6 +208,10 @@
|
|
|
177
208
|
<span class="cline-any cline-neutral"> </span>
|
|
178
209
|
<span class="cline-any cline-neutral"> </span>
|
|
179
210
|
<span class="cline-any cline-neutral"> </span>
|
|
211
|
+
<span class="cline-any cline-yes">4x</span>
|
|
212
|
+
<span class="cline-any cline-yes">4x</span>
|
|
213
|
+
<span class="cline-any cline-neutral"> </span>
|
|
214
|
+
<span class="cline-any cline-neutral"> </span>
|
|
180
215
|
<span class="cline-any cline-no"> </span>
|
|
181
216
|
<span class="cline-any cline-neutral"> </span>
|
|
182
217
|
<span class="cline-any cline-no"> </span>
|
|
@@ -201,7 +236,19 @@
|
|
|
201
236
|
<span class="cline-any cline-no"> </span>
|
|
202
237
|
<span class="cline-any cline-neutral"> </span>
|
|
203
238
|
<span class="cline-any cline-neutral"> </span>
|
|
204
|
-
<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';
|
|
205
252
|
import { forEachAsync } from './async/arrays';
|
|
206
253
|
import { ILogger, createLogger } from './logger';
|
|
207
254
|
|
|
@@ -228,16 +275,20 @@ export class Event<T = any> implements IEvent<T> {
|
|
|
228
275
|
|
|
229
276
|
public on(handler: EventHandler<T>): () => void {
|
|
230
277
|
this._handlers.push(handler);
|
|
231
|
-
return
|
|
232
|
-
|
|
278
|
+
return () => {
|
|
279
|
+
this.off(handler);
|
|
233
280
|
};
|
|
234
281
|
}
|
|
235
282
|
|
|
236
|
-
public
|
|
237
|
-
|
|
283
|
+
public off(handler: EventHandler<T>): void {
|
|
284
|
+
this._handlers = this._handlers.filter(h => h !== handler);
|
|
238
285
|
}
|
|
239
286
|
|
|
240
287
|
public trigger(data?: T) {
|
|
288
|
+
if (!this._handlers.length) {
|
|
289
|
+
return;
|
|
290
|
+
}
|
|
291
|
+
|
|
241
292
|
const hh = this._handlers.slice(0);
|
|
242
293
|
hh.forEach(cb => {
|
|
243
294
|
try {
|
|
@@ -248,7 +299,11 @@ export class Event<T = any> implements IEvent<T> {
|
|
|
248
299
|
});
|
|
249
300
|
}
|
|
250
301
|
|
|
251
|
-
public
|
|
302
|
+
public async triggerAsync(data?: T): Promise<Error[]> {
|
|
303
|
+
if (!this._handlers.length) {
|
|
304
|
+
return [];
|
|
305
|
+
}
|
|
306
|
+
|
|
252
307
|
const hh = <span class="cstat-no" title="statement not covered" >this._handlers.slice(0);</span>
|
|
253
308
|
|
|
254
309
|
const errors: Error[] = <span class="cstat-no" title="statement not covered" >[];</span>
|
|
@@ -273,16 +328,26 @@ export class Event<T = any> implements IEvent<T> {
|
|
|
273
328
|
<span class="cstat-no" title="statement not covered" > this._logger.error(`[Event.${typeof data}] Handler ${cb.name} thrown an exception: `, err);</span>
|
|
274
329
|
}
|
|
275
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
|
+
}
|
|
276
342
|
</pre></td></tr></table></pre>
|
|
277
343
|
|
|
278
344
|
<div class='push'></div><!-- for sticky footer -->
|
|
279
345
|
</div><!-- /wrapper -->
|
|
280
346
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
281
347
|
Code coverage generated by
|
|
282
|
-
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
283
|
-
at
|
|
348
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
349
|
+
at 2022-09-08T13:27:57.517Z
|
|
284
350
|
</div>
|
|
285
|
-
</div>
|
|
286
351
|
<script src="../prettify.js"></script>
|
|
287
352
|
<script>
|
|
288
353
|
window.onload = function () {
|
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">81.48% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>66/81</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
@@ -54,6 +54,12 @@
|
|
|
54
54
|
<p class="quiet">
|
|
55
55
|
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
56
|
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
57
63
|
</div>
|
|
58
64
|
<div class='status-line medium'></div>
|
|
59
65
|
<div class="pad1">
|
|
@@ -79,8 +85,8 @@
|
|
|
79
85
|
</td>
|
|
80
86
|
<td data-value="75.44" class="pct medium">75.44%</td>
|
|
81
87
|
<td data-value="57" class="abs medium">43/57</td>
|
|
82
|
-
<td data-value="
|
|
83
|
-
<td data-value="
|
|
88
|
+
<td data-value="81.48" class="pct high">81.48%</td>
|
|
89
|
+
<td data-value="81" class="abs high">66/81</td>
|
|
84
90
|
<td data-value="45.45" class="pct low">45.45%</td>
|
|
85
91
|
<td data-value="11" class="abs low">5/11</td>
|
|
86
92
|
<td data-value="79.59" class="pct medium">79.59%</td>
|
|
@@ -94,10 +100,9 @@
|
|
|
94
100
|
</div><!-- /wrapper -->
|
|
95
101
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
96
102
|
Code coverage generated by
|
|
97
|
-
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
98
|
-
at
|
|
103
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
104
|
+
at 2022-09-08T13:27:57.517Z
|
|
99
105
|
</div>
|
|
100
|
-
</div>
|
|
101
106
|
<script src="../../prettify.js"></script>
|
|
102
107
|
<script>
|
|
103
108
|
window.onload = function () {
|
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">81.48% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>66/81</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
@@ -54,6 +54,12 @@
|
|
|
54
54
|
<p class="quiet">
|
|
55
55
|
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
56
|
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
57
63
|
</div>
|
|
58
64
|
<div class='status-line medium'></div>
|
|
59
65
|
<pre><table class="coverage">
|
|
@@ -333,7 +339,7 @@ export function <span class="fstat-no" title="function not covered" >updateField
|
|
|
333
339
|
|
|
334
340
|
let changed = <span class="cstat-no" title="statement not covered" >true;</span>
|
|
335
341
|
|
|
336
|
-
<span class="cstat-no" title="statement not covered" > if (get(source) !== undefined && hasChanged(source, target)) {</span>
|
|
342
|
+
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (get(source) !== undefined && hasChanged(source, target)) {</span>
|
|
337
343
|
<span class="cstat-no" title="statement not covered" > changed = true;</span>
|
|
338
344
|
<span class="cstat-no" title="statement not covered" > set(diff, get(target));</span>
|
|
339
345
|
<span class="cstat-no" title="statement not covered" > set(target, get(source));</span>
|
|
@@ -383,7 +389,7 @@ export function updateArray<T>(
|
|
|
383
389
|
const onAdded = options?.hooks<span class="branch-1 cbranch-no" title="branch not covered" >?.onAdded;</span>
|
|
384
390
|
|
|
385
391
|
// remove all missing elements
|
|
386
|
-
|
|
392
|
+
if (!options?.additive) {
|
|
387
393
|
for (let i = 0; i < result.length; ++i) {
|
|
388
394
|
if (source.find(item => comparator(item, result[i])) == null) {
|
|
389
395
|
// DELETE
|
|
@@ -435,10 +441,9 @@ export function updateArray<T>(
|
|
|
435
441
|
</div><!-- /wrapper -->
|
|
436
442
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
437
443
|
Code coverage generated by
|
|
438
|
-
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
439
|
-
at
|
|
444
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
445
|
+
at 2022-09-08T13:27:57.517Z
|
|
440
446
|
</div>
|
|
441
|
-
</div>
|
|
442
447
|
<script src="../../prettify.js"></script>
|
|
443
448
|
<script>
|
|
444
449
|
window.onload = function () {
|
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">0% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>1
|
|
35
|
+
<span class='fraction'>0/1</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
@@ -54,6 +54,12 @@
|
|
|
54
54
|
<p class="quiet">
|
|
55
55
|
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
56
|
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
57
63
|
</div>
|
|
58
64
|
<div class='status-line medium'></div>
|
|
59
65
|
<pre><table class="coverage">
|
|
@@ -105,10 +111,9 @@ export function safeCall<T extends (...args: any) => any>(cb: T | undef
|
|
|
105
111
|
</div><!-- /wrapper -->
|
|
106
112
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
107
113
|
Code coverage generated by
|
|
108
|
-
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
109
|
-
at
|
|
114
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
115
|
+
at 2022-09-08T13:27:57.517Z
|
|
110
116
|
</div>
|
|
111
|
-
</div>
|
|
112
117
|
<script src="../prettify.js"></script>
|
|
113
118
|
<script>
|
|
114
119
|
window.onload = function () {
|