@zajno/common 1.3.2 → 1.3.3
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/.github/workflows/CI.yml +8 -0
- package/coverage/clover.xml +132 -125
- package/coverage/coverage-final.json +39 -39
- package/coverage/lcov-report/index.html +25 -25
- 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 +1 -1
- package/coverage/lcov-report/src/async/index.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/enumHelper.ts.html +1 -1
- package/coverage/lcov-report/src/event.ts.html +1 -1
- package/coverage/lcov-report/src/index.html +1 -1
- package/coverage/lcov-report/src/lazy.light.ts.html +3 -3
- package/coverage/lcov-report/src/logger/batch.ts.html +1 -1
- package/coverage/lcov-report/src/logger/console.ts.html +1 -1
- package/coverage/lcov-report/src/logger/index.html +1 -1
- package/coverage/lcov-report/src/logger/index.ts.html +1 -1
- package/coverage/lcov-report/src/logger/named.ts.html +1 -1
- package/coverage/lcov-report/src/logger/proxy.ts.html +1 -1
- package/coverage/lcov-report/src/math/arrays.ts.html +32 -8
- package/coverage/lcov-report/src/math/calc.ts.html +1 -1
- package/coverage/lcov-report/src/math/distribution.ts.html +1 -1
- package/coverage/lcov-report/src/math/index.html +11 -11
- package/coverage/lcov-report/src/math/index.ts.html +1 -1
- package/coverage/lcov-report/src/transitionObserver.ts.html +1 -1
- package/coverage/lcov-report/src/types.ts.html +4 -4
- 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/FlagModel.ts.html +6 -6
- package/coverage/lcov-report/src/viewModels/LabeledFlagModel.ts.html +26 -17
- package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +104 -95
- 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/SelectViewModel.ts.html +14 -17
- package/coverage/lcov-report/src/viewModels/Validatable.ts.html +12 -12
- package/coverage/lcov-report/src/viewModels/index.html +21 -21
- package/coverage/lcov-report/src/viewModels/wrappers.ts.html +1 -1
- package/coverage/lcov-report/transitionObserver.ts.html +77 -41
- package/coverage/lcov.info +185 -171
- package/lib/math/arrays.d.ts +2 -1
- package/lib/math/arrays.d.ts.map +1 -1
- package/lib/math/arrays.js +9 -1
- package/lib/math/arrays.js.map +1 -1
- package/lib/viewModels/MultiSelectModel.d.ts +2 -0
- package/lib/viewModels/MultiSelectModel.d.ts.map +1 -1
- package/lib/viewModels/MultiSelectModel.js +3 -1
- package/lib/viewModels/MultiSelectModel.js.map +1 -1
- package/package.json +1 -1
- package/src/math/arrays.ts +9 -1
- package/src/viewModels/MultiSelectModel.ts +4 -1
- package/src/viewModels/__tests__/multiSelect.test.ts +127 -12
- package/yarn-error.log +3709 -0
- package/coverage/lcov-report/NumberModel.ts.html +0 -188
- package/coverage/lcov-report/arrays.ts.html +0 -602
- package/coverage/lcov-report/calc.ts.html +0 -278
- package/coverage/lcov-report/enumHelper.ts.html +0 -449
- package/coverage/lcov-report/src/viewModels/labeled.ts.html +0 -128
|
@@ -448,7 +448,7 @@ export class SelectString<T extends string = string> extends Select<T&g
|
|
|
448
448
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
449
449
|
Code coverage generated by
|
|
450
450
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
451
|
-
at Mon Nov 29 2021
|
|
451
|
+
at Mon Nov 29 2021 14:39:58 GMT+0000 (Coordinated Universal Time)
|
|
452
452
|
</div>
|
|
453
453
|
</div>
|
|
454
454
|
<script src="../../prettify.js"></script>
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
26
|
<span class="strong">100% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>58/58</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
40
|
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>24/24</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
@@ -175,8 +175,7 @@
|
|
|
175
175
|
<a name='L116'></a><a href='#L116'>116</a>
|
|
176
176
|
<a name='L117'></a><a href='#L117'>117</a>
|
|
177
177
|
<a name='L118'></a><a href='#L118'>118</a>
|
|
178
|
-
<a name='L119'></a><a href='#L119'>119</a>
|
|
179
|
-
<a name='L120'></a><a href='#L120'>120</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
178
|
+
<a name='L119'></a><a href='#L119'>119</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
180
179
|
<span class="cline-any cline-yes">1x</span>
|
|
181
180
|
<span class="cline-any cline-yes">1x</span>
|
|
182
181
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -252,21 +251,20 @@
|
|
|
252
251
|
<span class="cline-any cline-neutral"> </span>
|
|
253
252
|
<span class="cline-any cline-neutral"> </span>
|
|
254
253
|
<span class="cline-any cline-yes">17x</span>
|
|
255
|
-
<span class="cline-any cline-yes">
|
|
256
|
-
<span class="cline-any cline-neutral"> </span>
|
|
254
|
+
<span class="cline-any cline-yes">5x</span>
|
|
257
255
|
<span class="cline-any cline-neutral"> </span>
|
|
258
|
-
<span class="cline-any cline-yes">13x</span>
|
|
259
256
|
<span class="cline-any cline-neutral"> </span>
|
|
257
|
+
<span class="cline-any cline-yes">12x</span>
|
|
260
258
|
<span class="cline-any cline-neutral"> </span>
|
|
261
|
-
<span class="cline-any cline-yes">13x</span>
|
|
262
|
-
<span class="cline-any cline-yes">13x</span>
|
|
263
259
|
<span class="cline-any cline-neutral"> </span>
|
|
264
|
-
<span class="cline-any cline-yes">
|
|
265
|
-
<span class="cline-any cline-yes">
|
|
260
|
+
<span class="cline-any cline-yes">12x</span>
|
|
261
|
+
<span class="cline-any cline-yes">12x</span>
|
|
266
262
|
<span class="cline-any cline-neutral"> </span>
|
|
263
|
+
<span class="cline-any cline-yes">12x</span>
|
|
264
|
+
<span class="cline-any cline-yes">33x</span>
|
|
267
265
|
<span class="cline-any cline-neutral"> </span>
|
|
268
|
-
<span class="cline-any cline-yes">13x</span>
|
|
269
266
|
<span class="cline-any cline-neutral"> </span>
|
|
267
|
+
<span class="cline-any cline-yes">12x</span>
|
|
270
268
|
<span class="cline-any cline-neutral"> </span>
|
|
271
269
|
<span class="cline-any cline-neutral"> </span>
|
|
272
270
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -275,7 +273,7 @@
|
|
|
275
273
|
<span class="cline-any cline-neutral"> </span>
|
|
276
274
|
<span class="cline-any cline-neutral"> </span>
|
|
277
275
|
<span class="cline-any cline-neutral"> </span>
|
|
278
|
-
<span class="cline-any cline-yes">
|
|
276
|
+
<span class="cline-any cline-yes">3x</span>
|
|
279
277
|
<span class="cline-any cline-yes">3x</span>
|
|
280
278
|
<span class="cline-any cline-neutral"> </span>
|
|
281
279
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -296,7 +294,7 @@
|
|
|
296
294
|
<span class="cline-any cline-neutral"> </span>
|
|
297
295
|
<span class="cline-any cline-neutral"> </span>
|
|
298
296
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { createLazy } from '../lazy.light';
|
|
299
|
-
import { observable, computed, makeObservable, reaction
|
|
297
|
+
import { observable, computed, makeObservable, reaction } from 'mobx';
|
|
300
298
|
import { FlagModel } from './FlagModel';
|
|
301
299
|
import { ILabeledFlagModel, LabeledFlagModel } from './LabeledFlagModel';
|
|
302
300
|
|
|
@@ -388,13 +386,12 @@ export class Select<T = any> {
|
|
|
388
386
|
}
|
|
389
387
|
}
|
|
390
388
|
|
|
391
|
-
@action
|
|
392
389
|
reset = () => {
|
|
393
390
|
this.index = 0;
|
|
394
391
|
};
|
|
395
392
|
|
|
396
393
|
private createFlags() {
|
|
397
|
-
const flags = this._items.map(i => new LabeledFlagModel(
|
|
394
|
+
const flags = this._items.map(i => new LabeledFlagModel(this._accessor(i)));
|
|
398
395
|
flags.forEach((f, i) => f.value = i === this.index);
|
|
399
396
|
|
|
400
397
|
// react on every flag is changed directly
|
|
@@ -421,7 +418,7 @@ export class SelectString<T extends string = string> extends Select<T&g
|
|
|
421
418
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
422
419
|
Code coverage generated by
|
|
423
420
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
424
|
-
at
|
|
421
|
+
at Fri Nov 19 2021 19:36:26 GMT+0000 (Coordinated Universal Time)
|
|
425
422
|
</div>
|
|
426
423
|
</div>
|
|
427
424
|
<script src="../../prettify.js"></script>
|
|
@@ -155,17 +155,17 @@
|
|
|
155
155
|
<span class="cline-any cline-yes">2x</span>
|
|
156
156
|
<span class="cline-any cline-yes">2x</span>
|
|
157
157
|
<span class="cline-any cline-neutral"> </span>
|
|
158
|
-
<span class="cline-any cline-yes">
|
|
159
|
-
<span class="cline-any cline-yes">
|
|
158
|
+
<span class="cline-any cline-yes">11x</span>
|
|
159
|
+
<span class="cline-any cline-yes">11x</span>
|
|
160
160
|
<span class="cline-any cline-neutral"> </span>
|
|
161
161
|
<span class="cline-any cline-neutral"> </span>
|
|
162
|
-
<span class="cline-any cline-yes">
|
|
162
|
+
<span class="cline-any cline-yes">11x</span>
|
|
163
163
|
<span class="cline-any cline-neutral"> </span>
|
|
164
|
-
<span class="cline-any cline-yes">
|
|
164
|
+
<span class="cline-any cline-yes">11x</span>
|
|
165
165
|
<span class="cline-any cline-neutral"> </span>
|
|
166
166
|
<span class="cline-any cline-neutral"> </span>
|
|
167
|
-
<span class="cline-any cline-yes">
|
|
168
|
-
<span class="cline-any cline-yes">
|
|
167
|
+
<span class="cline-any cline-yes">11x</span>
|
|
168
|
+
<span class="cline-any cline-yes">11x</span>
|
|
169
169
|
<span class="cline-any cline-neutral"> </span>
|
|
170
170
|
<span class="cline-any cline-neutral"> </span>
|
|
171
171
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -175,9 +175,9 @@
|
|
|
175
175
|
<span class="cline-any cline-yes">1x</span>
|
|
176
176
|
<span class="cline-any cline-neutral"> </span>
|
|
177
177
|
<span class="cline-any cline-neutral"> </span>
|
|
178
|
-
<span class="cline-any cline-yes">
|
|
179
|
-
<span class="cline-any cline-yes">
|
|
180
|
-
<span class="cline-any cline-yes">
|
|
178
|
+
<span class="cline-any cline-yes">11x</span>
|
|
179
|
+
<span class="cline-any cline-yes">11x</span>
|
|
180
|
+
<span class="cline-any cline-yes">11x</span>
|
|
181
181
|
<span class="cline-any cline-neutral"> </span>
|
|
182
182
|
<span class="cline-any cline-neutral"> </span>
|
|
183
183
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -210,8 +210,8 @@
|
|
|
210
210
|
<span class="cline-any cline-neutral"> </span>
|
|
211
211
|
<span class="cline-any cline-neutral"> </span>
|
|
212
212
|
<span class="cline-any cline-yes">2x</span>
|
|
213
|
-
<span class="cline-any cline-yes">
|
|
214
|
-
<span class="cline-any cline-yes">
|
|
213
|
+
<span class="cline-any cline-yes">2x</span>
|
|
214
|
+
<span class="cline-any cline-yes">2x</span>
|
|
215
215
|
<span class="cline-any cline-neutral"> </span>
|
|
216
216
|
<span class="cline-any cline-neutral"> </span>
|
|
217
217
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -313,7 +313,7 @@ export abstract class ValidatableModel<T = string> {
|
|
|
313
313
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
314
314
|
Code coverage generated by
|
|
315
315
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
316
|
-
at Mon Nov 29 2021
|
|
316
|
+
at Mon Nov 29 2021 14:39:58 GMT+0000 (Coordinated Universal Time)
|
|
317
317
|
</div>
|
|
318
318
|
</div>
|
|
319
319
|
<script src="../../prettify.js"></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">80.84% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>211/261</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">61.4% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>35/57</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">67.65% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>69/102</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">81.45% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>180/221</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -55,7 +55,7 @@
|
|
|
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
57
|
</div>
|
|
58
|
-
<div class='status-line
|
|
58
|
+
<div class='status-line high'></div>
|
|
59
59
|
<div class="pad1">
|
|
60
60
|
<table class="coverage-summary">
|
|
61
61
|
<thead>
|
|
@@ -88,18 +88,18 @@
|
|
|
88
88
|
</tr>
|
|
89
89
|
|
|
90
90
|
<tr>
|
|
91
|
-
<td class="file
|
|
92
|
-
<td data-value="
|
|
93
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
91
|
+
<td class="file medium" data-value="MultiSelectModel.ts"><a href="MultiSelectModel.ts.html">MultiSelectModel.ts</a></td>
|
|
92
|
+
<td data-value="77.67" class="pic medium">
|
|
93
|
+
<div class="chart"><div class="cover-fill" style="width: 77%"></div><div class="cover-empty" style="width: 23%"></div></div>
|
|
94
94
|
</td>
|
|
95
|
-
<td data-value="
|
|
96
|
-
<td data-value="
|
|
97
|
-
<td data-value="
|
|
98
|
-
<td data-value="16" class="abs low">
|
|
99
|
-
<td data-value="
|
|
100
|
-
<td data-value="
|
|
101
|
-
<td data-value="
|
|
102
|
-
<td data-value="
|
|
95
|
+
<td data-value="77.67" class="pct medium">77.67%</td>
|
|
96
|
+
<td data-value="103" class="abs medium">80/103</td>
|
|
97
|
+
<td data-value="43.75" class="pct low">43.75%</td>
|
|
98
|
+
<td data-value="16" class="abs low">7/16</td>
|
|
99
|
+
<td data-value="66.67" class="pct medium">66.67%</td>
|
|
100
|
+
<td data-value="42" class="abs medium">28/42</td>
|
|
101
|
+
<td data-value="77.11" class="pct medium">77.11%</td>
|
|
102
|
+
<td data-value="83" class="abs medium">64/83</td>
|
|
103
103
|
</tr>
|
|
104
104
|
|
|
105
105
|
<tr>
|
|
@@ -170,7 +170,7 @@
|
|
|
170
170
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
171
171
|
Code coverage generated by
|
|
172
172
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
173
|
-
at Mon Nov 29 2021
|
|
173
|
+
at Mon Nov 29 2021 14:39:58 GMT+0000 (Coordinated Universal Time)
|
|
174
174
|
</div>
|
|
175
175
|
</div>
|
|
176
176
|
<script src="../../prettify.js"></script>
|
|
@@ -211,7 +211,7 @@ export function mixinLabel<T, TModel extends IValueModel<T>, TLabel = s
|
|
|
211
211
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
212
212
|
Code coverage generated by
|
|
213
213
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
214
|
-
at Mon Nov 29 2021
|
|
214
|
+
at Mon Nov 29 2021 14:39:58 GMT+0000 (Coordinated Universal Time)
|
|
215
215
|
</div>
|
|
216
216
|
</div>
|
|
217
217
|
<script src="../../prettify.js"></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">91.25% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>73/80</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">83.78% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>31/37</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">85.71% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>18/21</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">91.14% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>72/79</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -209,7 +209,19 @@
|
|
|
209
209
|
<a name='L150'></a><a href='#L150'>150</a>
|
|
210
210
|
<a name='L151'></a><a href='#L151'>151</a>
|
|
211
211
|
<a name='L152'></a><a href='#L152'>152</a>
|
|
212
|
-
<a name='L153'></a><a href='#L153'>153</a
|
|
212
|
+
<a name='L153'></a><a href='#L153'>153</a>
|
|
213
|
+
<a name='L154'></a><a href='#L154'>154</a>
|
|
214
|
+
<a name='L155'></a><a href='#L155'>155</a>
|
|
215
|
+
<a name='L156'></a><a href='#L156'>156</a>
|
|
216
|
+
<a name='L157'></a><a href='#L157'>157</a>
|
|
217
|
+
<a name='L158'></a><a href='#L158'>158</a>
|
|
218
|
+
<a name='L159'></a><a href='#L159'>159</a>
|
|
219
|
+
<a name='L160'></a><a href='#L160'>160</a>
|
|
220
|
+
<a name='L161'></a><a href='#L161'>161</a>
|
|
221
|
+
<a name='L162'></a><a href='#L162'>162</a>
|
|
222
|
+
<a name='L163'></a><a href='#L163'>163</a>
|
|
223
|
+
<a name='L164'></a><a href='#L164'>164</a>
|
|
224
|
+
<a name='L165'></a><a href='#L165'>165</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
213
225
|
<span class="cline-any cline-yes">1x</span>
|
|
214
226
|
<span class="cline-any cline-yes">1x</span>
|
|
215
227
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -242,6 +254,9 @@
|
|
|
242
254
|
<span class="cline-any cline-yes">1x</span>
|
|
243
255
|
<span class="cline-any cline-yes">3x</span>
|
|
244
256
|
<span class="cline-any cline-neutral"> </span>
|
|
257
|
+
<span class="cline-any cline-yes">3x</span>
|
|
258
|
+
<span class="cline-any cline-yes">19x</span>
|
|
259
|
+
<span class="cline-any cline-neutral"> </span>
|
|
245
260
|
<span class="cline-any cline-neutral"> </span>
|
|
246
261
|
<span class="cline-any cline-yes">7x</span>
|
|
247
262
|
<span class="cline-any cline-yes">7x</span>
|
|
@@ -261,8 +276,11 @@
|
|
|
261
276
|
<span class="cline-any cline-neutral"> </span>
|
|
262
277
|
<span class="cline-any cline-neutral"> </span>
|
|
263
278
|
<span class="cline-any cline-neutral"> </span>
|
|
264
|
-
<span class="cline-any cline-yes">
|
|
265
|
-
<span class="cline-any cline-
|
|
279
|
+
<span class="cline-any cline-yes">7x</span>
|
|
280
|
+
<span class="cline-any cline-no"> </span>
|
|
281
|
+
<span class="cline-any cline-neutral"> </span>
|
|
282
|
+
<span class="cline-any cline-yes">7x</span>
|
|
283
|
+
<span class="cline-any cline-yes">7x</span>
|
|
266
284
|
<span class="cline-any cline-neutral"> </span>
|
|
267
285
|
<span class="cline-any cline-neutral"> </span>
|
|
268
286
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -287,13 +305,18 @@
|
|
|
287
305
|
<span class="cline-any cline-neutral"> </span>
|
|
288
306
|
<span class="cline-any cline-neutral"> </span>
|
|
289
307
|
<span class="cline-any cline-neutral"> </span>
|
|
290
|
-
<span class="cline-any cline-yes">
|
|
291
|
-
<span class="cline-any cline-yes">
|
|
292
|
-
<span class="cline-any cline-
|
|
293
|
-
<span class="cline-any cline-yes">2x</span>
|
|
308
|
+
<span class="cline-any cline-yes">3x</span>
|
|
309
|
+
<span class="cline-any cline-yes">3x</span>
|
|
310
|
+
<span class="cline-any cline-no"> </span>
|
|
294
311
|
<span class="cline-any cline-neutral"> </span>
|
|
295
312
|
<span class="cline-any cline-neutral"> </span>
|
|
296
|
-
<span class="cline-any cline-yes">
|
|
313
|
+
<span class="cline-any cline-yes">3x</span>
|
|
314
|
+
<span class="cline-any cline-yes">3x</span>
|
|
315
|
+
<span class="cline-any cline-yes">3x</span>
|
|
316
|
+
<span class="cline-any cline-neutral"> </span>
|
|
317
|
+
<span class="cline-any cline-yes">3x</span>
|
|
318
|
+
<span class="cline-any cline-neutral"> </span>
|
|
319
|
+
<span class="cline-any cline-yes">3x</span>
|
|
297
320
|
<span class="cline-any cline-neutral"> </span>
|
|
298
321
|
<span class="cline-any cline-neutral"> </span>
|
|
299
322
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -311,6 +334,7 @@
|
|
|
311
334
|
<span class="cline-any cline-yes">12x</span>
|
|
312
335
|
<span class="cline-any cline-yes">12x</span>
|
|
313
336
|
<span class="cline-any cline-yes">5x</span>
|
|
337
|
+
<span class="cline-any cline-yes">5x</span>
|
|
314
338
|
<span class="cline-any cline-neutral"> </span>
|
|
315
339
|
<span class="cline-any cline-yes">12x</span>
|
|
316
340
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -318,14 +342,14 @@
|
|
|
318
342
|
<span class="cline-any cline-neutral"> </span>
|
|
319
343
|
<span class="cline-any cline-neutral"> </span>
|
|
320
344
|
<span class="cline-any cline-yes">7x</span>
|
|
321
|
-
<span class="cline-any cline-yes">
|
|
345
|
+
<span class="cline-any cline-yes">19x</span>
|
|
322
346
|
<span class="cline-any cline-neutral"> </span>
|
|
323
|
-
<span class="cline-any cline-yes">
|
|
347
|
+
<span class="cline-any cline-yes">19x</span>
|
|
324
348
|
<span class="cline-any cline-neutral"> </span>
|
|
325
349
|
<span class="cline-any cline-yes">4x</span>
|
|
326
|
-
<span class="cline-any cline-yes">
|
|
350
|
+
<span class="cline-any cline-yes">15x</span>
|
|
327
351
|
<span class="cline-any cline-neutral"> </span>
|
|
328
|
-
<span class="cline-any cline-yes">
|
|
352
|
+
<span class="cline-any cline-yes">11x</span>
|
|
329
353
|
<span class="cline-any cline-neutral"> </span>
|
|
330
354
|
<span class="cline-any cline-neutral"> </span>
|
|
331
355
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -333,31 +357,31 @@
|
|
|
333
357
|
<span class="cline-any cline-yes">4x</span>
|
|
334
358
|
<span class="cline-any cline-neutral"> </span>
|
|
335
359
|
<span class="cline-any cline-neutral"> </span>
|
|
336
|
-
<span class="cline-any cline-yes">
|
|
360
|
+
<span class="cline-any cline-yes">19x</span>
|
|
337
361
|
<span class="cline-any cline-neutral"> </span>
|
|
338
|
-
<span class="cline-any cline-yes">
|
|
362
|
+
<span class="cline-any cline-yes">19x</span>
|
|
339
363
|
<span class="cline-any cline-neutral"> </span>
|
|
340
|
-
<span class="cline-any cline-yes">
|
|
341
|
-
<span class="cline-any cline-yes">
|
|
364
|
+
<span class="cline-any cline-yes">19x</span>
|
|
365
|
+
<span class="cline-any cline-yes">11x</span>
|
|
342
366
|
<span class="cline-any cline-neutral"> </span>
|
|
343
|
-
<span class="cline-any cline-yes">
|
|
344
|
-
<span class="cline-any cline-yes">
|
|
367
|
+
<span class="cline-any cline-yes">11x</span>
|
|
368
|
+
<span class="cline-any cline-yes">11x</span>
|
|
345
369
|
<span class="cline-any cline-neutral"> </span>
|
|
346
370
|
<span class="cline-any cline-neutral"> </span>
|
|
347
|
-
<span class="cline-any cline-yes">
|
|
371
|
+
<span class="cline-any cline-yes">11x</span>
|
|
348
372
|
<span class="cline-any cline-yes">1x</span>
|
|
349
373
|
<span class="cline-any cline-neutral"> </span>
|
|
350
374
|
<span class="cline-any cline-neutral"> </span>
|
|
351
375
|
<span class="cline-any cline-neutral"> </span>
|
|
352
|
-
<span class="cline-any cline-yes">
|
|
376
|
+
<span class="cline-any cline-yes">19x</span>
|
|
353
377
|
<span class="cline-any cline-neutral"> </span>
|
|
354
378
|
<span class="cline-any cline-neutral"> </span>
|
|
355
379
|
<span class="cline-any cline-neutral"> </span>
|
|
356
|
-
<span class="cline-any cline-yes">
|
|
357
|
-
<span class="cline-any cline-yes">
|
|
358
|
-
<span class="cline-any cline-yes">
|
|
359
|
-
<span class="cline-any cline-yes">
|
|
360
|
-
<span class="cline-any cline-yes">
|
|
380
|
+
<span class="cline-any cline-yes">3x</span>
|
|
381
|
+
<span class="cline-any cline-yes">3x</span>
|
|
382
|
+
<span class="cline-any cline-yes">3x</span>
|
|
383
|
+
<span class="cline-any cline-yes">3x</span>
|
|
384
|
+
<span class="cline-any cline-yes">3x</span>
|
|
361
385
|
<span class="cline-any cline-neutral"> </span>
|
|
362
386
|
<span class="cline-any cline-neutral"> </span>
|
|
363
387
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -380,8 +404,8 @@ export class TransitionObserver<T> implements IDisposable {
|
|
|
380
404
|
private _cb: (v: T) => any;
|
|
381
405
|
private _fireOnce = false;
|
|
382
406
|
|
|
383
|
-
private _promise: Promise<
|
|
384
|
-
private _promiseReject: (err
|
|
407
|
+
private _promise: Promise<T> = null;
|
|
408
|
+
private _promiseReject: (err?: any) => any = null;
|
|
385
409
|
|
|
386
410
|
private logger: ILogger = createLogger('', true);
|
|
387
411
|
|
|
@@ -393,6 +417,9 @@ export class TransitionObserver<T> implements IDisposable {
|
|
|
393
417
|
|
|
394
418
|
public get event(): IEvent<T> { return this._event; }
|
|
395
419
|
public get currentValue() { return this._prev; }
|
|
420
|
+
|
|
421
|
+
public get isObserving() { return this._disposer != null; }
|
|
422
|
+
private get isPromising() { return this._promiseReject != null; }
|
|
396
423
|
|
|
397
424
|
observe(getter: () => T) {
|
|
398
425
|
this.dispose();
|
|
@@ -413,6 +440,9 @@ export class TransitionObserver<T> implements IDisposable {
|
|
|
413
440
|
}
|
|
414
441
|
|
|
415
442
|
cb(cb: (v: T) => any) {
|
|
443
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (this.isPromising) {
|
|
444
|
+
<span class="cstat-no" title="statement not covered" > throw new Error('Cannot set callback when promise is running');</span>
|
|
445
|
+
}
|
|
416
446
|
this._cb = cb;
|
|
417
447
|
return this;
|
|
418
448
|
}
|
|
@@ -440,10 +470,15 @@ export class TransitionObserver<T> implements IDisposable {
|
|
|
440
470
|
|
|
441
471
|
getPromise() {
|
|
442
472
|
<span class="missing-if-branch" title="else path not taken" >E</span>if (!this._promise) {
|
|
443
|
-
|
|
473
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!this.isObserving) {
|
|
474
|
+
<span class="cstat-no" title="statement not covered" > return Promise.reject(new Error('Cannot get promise for disposed TransitionObserver'));</span>
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
this._promise = new Promise<T>((resolve, reject) => {
|
|
444
478
|
this._promiseReject = reject;
|
|
445
|
-
this.
|
|
479
|
+
this._cb = (v => this._finishPromise(resolve, v));
|
|
446
480
|
});
|
|
481
|
+
this.logger.log('started a new promise...');
|
|
447
482
|
}
|
|
448
483
|
return this._promise;
|
|
449
484
|
}
|
|
@@ -463,8 +498,9 @@ export class TransitionObserver<T> implements IDisposable {
|
|
|
463
498
|
this.logger.log(' disposing... ');
|
|
464
499
|
if (this._disposer) {
|
|
465
500
|
this._disposer();
|
|
501
|
+
this._disposer = null;
|
|
466
502
|
}
|
|
467
|
-
if (this.
|
|
503
|
+
if (this.isPromising) {
|
|
468
504
|
this._finishPromise(this._promiseReject, new Error('TransitionObserver Aborted'));
|
|
469
505
|
}
|
|
470
506
|
};
|
|
@@ -504,12 +540,12 @@ export class TransitionObserver<T> implements IDisposable {
|
|
|
504
540
|
return trigger;
|
|
505
541
|
};
|
|
506
542
|
|
|
507
|
-
private _finishPromise(cb: (
|
|
543
|
+
private _finishPromise<T>(cb: (a?: T) => any, arg?: T) {
|
|
508
544
|
this._promise = null;
|
|
509
545
|
this._promiseReject = null;
|
|
510
546
|
this._cb = null;
|
|
511
547
|
<span class="missing-if-branch" title="else path not taken" >E</span>if (cb) {
|
|
512
|
-
cb(
|
|
548
|
+
cb(arg);
|
|
513
549
|
}
|
|
514
550
|
}
|
|
515
551
|
}
|
|
@@ -520,7 +556,7 @@ export class TransitionObserver<T> implements IDisposable {
|
|
|
520
556
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
521
557
|
Code coverage generated by
|
|
522
558
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
523
|
-
at
|
|
559
|
+
at Tue Nov 02 2021 16:09:11 GMT+0000 (Coordinated Universal Time)
|
|
524
560
|
</div>
|
|
525
561
|
</div>
|
|
526
562
|
<script src="prettify.js"></script>
|