@zajno/common 1.4.12 → 1.4.13
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 +457 -374
- package/coverage/coverage-final.json +30 -27
- package/coverage/lcov-report/CommonModel.ts.html +215 -0
- package/coverage/lcov-report/FlagModel.ts.html +290 -0
- package/coverage/lcov-report/MultiSelectModel.ts.html +614 -0
- package/coverage/lcov-report/NumberModel.ts.html +230 -0
- package/coverage/lcov-report/SelectModel.ts.html +503 -0
- package/coverage/lcov-report/Validatable.ts.html +386 -0
- package/coverage/lcov-report/async/index.html +111 -0
- package/coverage/lcov-report/async/timeout.ts.html +230 -0
- package/coverage/lcov-report/index.html +24 -24
- 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 +1 -1
- package/coverage/lcov-report/src/async/timeout.ts.html +12 -12
- 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 +10 -10
- package/coverage/lcov-report/src/event.ts.html +1 -1
- 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 +1 -1
- package/coverage/lcov-report/src/lazy.light.ts.html +6 -6
- 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 +22 -22
- package/coverage/lcov-report/src/logger/named.ts.html +13 -13
- 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/transitionObserver.ts.html +1 -1
- package/coverage/lcov-report/src/types.ts.html +8 -8
- package/coverage/lcov-report/src/validation/ValidationErrors.ts.html +22 -22
- package/coverage/lcov-report/src/validation/creditCard.ts.html +4 -4
- package/coverage/lcov-report/src/validation/helpers.ts.html +6 -6
- package/coverage/lcov-report/src/validation/index.html +16 -16
- package/coverage/lcov-report/src/validation/index.ts.html +6 -6
- package/coverage/lcov-report/src/validation/types.ts.html +16 -16
- package/coverage/lcov-report/src/validation/validators.ts.html +5 -5
- package/coverage/lcov-report/src/validation/wrappers.ts.html +5 -5
- package/coverage/lcov-report/src/viewModels/CommonModel.ts.html +215 -0
- package/coverage/lcov-report/src/viewModels/FlagModel.ts.html +41 -20
- package/coverage/lcov-report/src/viewModels/LoadingModel.ts.html +128 -0
- package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +50 -20
- package/coverage/lcov-report/src/viewModels/NumberModel.ts.html +41 -23
- package/coverage/lcov-report/src/viewModels/SelectModel.ts.html +42 -30
- package/coverage/lcov-report/src/viewModels/TextModel.ts.html +461 -0
- package/coverage/lcov-report/src/viewModels/Validatable.ts.html +69 -60
- package/coverage/lcov-report/src/viewModels/index.html +84 -39
- package/coverage/lcov-report/src/viewModels/wrappers.ts.html +6 -6
- package/coverage/lcov-report/validation/index.html +111 -0
- package/coverage/lcov-report/validation/index.ts.html +107 -0
- package/coverage/lcov-report/viewModels/CommonModel.ts.html +215 -0
- package/coverage/lcov-report/viewModels/FlagModel.ts.html +290 -0
- package/coverage/lcov-report/viewModels/LoadingModel.ts.html +128 -0
- package/coverage/lcov-report/viewModels/MultiSelectModel.ts.html +614 -0
- package/coverage/lcov-report/viewModels/NumberModel.ts.html +230 -0
- package/coverage/lcov-report/viewModels/SelectModel.ts.html +503 -0
- package/coverage/lcov-report/viewModels/TextModel.ts.html +461 -0
- package/coverage/lcov-report/viewModels/Validatable.ts.html +386 -0
- package/coverage/lcov-report/viewModels/index.html +216 -0
- package/coverage/lcov.info +773 -583
- package/lib/viewModels/FlagModel.d.ts.map +1 -1
- package/lib/viewModels/FlagModel.js +14 -26
- package/lib/viewModels/FlagModel.js.map +1 -1
- package/lib/viewModels/LoadingModel.d.ts +6 -0
- package/lib/viewModels/LoadingModel.d.ts.map +1 -0
- package/lib/viewModels/LoadingModel.js +19 -0
- package/lib/viewModels/LoadingModel.js.map +1 -0
- package/lib/viewModels/MultiSelectModel.d.ts.map +1 -1
- package/lib/viewModels/MultiSelectModel.js +20 -43
- package/lib/viewModels/MultiSelectModel.js.map +1 -1
- package/lib/viewModels/NumberModel.d.ts.map +1 -1
- package/lib/viewModels/NumberModel.js +12 -22
- package/lib/viewModels/NumberModel.js.map +1 -1
- package/lib/viewModels/SelectModel.d.ts.map +1 -1
- package/lib/viewModels/SelectModel.js +8 -15
- package/lib/viewModels/SelectModel.js.map +1 -1
- package/lib/viewModels/TextModel.d.ts.map +1 -1
- package/lib/viewModels/TextModel.js +10 -17
- package/lib/viewModels/TextModel.js.map +1 -1
- package/lib/viewModels/Validatable.d.ts.map +1 -1
- package/lib/viewModels/Validatable.js +6 -12
- package/lib/viewModels/Validatable.js.map +1 -1
- package/package.json +1 -1
- package/src/viewModels/FlagModel.ts +14 -7
- package/src/viewModels/LoadingModel.ts +16 -0
- package/src/viewModels/MultiSelectModel.ts +20 -10
- package/src/viewModels/NumberModel.ts +12 -6
- package/src/viewModels/SelectModel.ts +8 -4
- package/src/viewModels/TextModel.ts +10 -5
- package/src/viewModels/Validatable.ts +6 -3
- package/src/viewModels/__tests__/common.test.ts +88 -0
- package/yarn.lock +3 -3
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">75% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>72/96</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">74.39% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>61/82</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -225,7 +225,17 @@
|
|
|
225
225
|
<a name='L166'></a><a href='#L166'>166</a>
|
|
226
226
|
<a name='L167'></a><a href='#L167'>167</a>
|
|
227
227
|
<a name='L168'></a><a href='#L168'>168</a>
|
|
228
|
-
<a name='L169'></a><a href='#L169'>169</a
|
|
228
|
+
<a name='L169'></a><a href='#L169'>169</a>
|
|
229
|
+
<a name='L170'></a><a href='#L170'>170</a>
|
|
230
|
+
<a name='L171'></a><a href='#L171'>171</a>
|
|
231
|
+
<a name='L172'></a><a href='#L172'>172</a>
|
|
232
|
+
<a name='L173'></a><a href='#L173'>173</a>
|
|
233
|
+
<a name='L174'></a><a href='#L174'>174</a>
|
|
234
|
+
<a name='L175'></a><a href='#L175'>175</a>
|
|
235
|
+
<a name='L176'></a><a href='#L176'>176</a>
|
|
236
|
+
<a name='L177'></a><a href='#L177'>177</a>
|
|
237
|
+
<a name='L178'></a><a href='#L178'>178</a>
|
|
238
|
+
<a name='L179'></a><a href='#L179'>179</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
229
239
|
<span class="cline-any cline-yes">1x</span>
|
|
230
240
|
<span class="cline-any cline-yes">1x</span>
|
|
231
241
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -252,6 +262,16 @@
|
|
|
252
262
|
<span class="cline-any cline-neutral"> </span>
|
|
253
263
|
<span class="cline-any cline-yes">6x</span>
|
|
254
264
|
<span class="cline-any cline-yes">6x</span>
|
|
265
|
+
<span class="cline-any cline-neutral"> </span>
|
|
266
|
+
<span class="cline-any cline-neutral"> </span>
|
|
267
|
+
<span class="cline-any cline-neutral"> </span>
|
|
268
|
+
<span class="cline-any cline-neutral"> </span>
|
|
269
|
+
<span class="cline-any cline-neutral"> </span>
|
|
270
|
+
<span class="cline-any cline-neutral"> </span>
|
|
271
|
+
<span class="cline-any cline-neutral"> </span>
|
|
272
|
+
<span class="cline-any cline-neutral"> </span>
|
|
273
|
+
<span class="cline-any cline-neutral"> </span>
|
|
274
|
+
<span class="cline-any cline-neutral"> </span>
|
|
255
275
|
<span class="cline-any cline-yes">6x</span>
|
|
256
276
|
<span class="cline-any cline-yes">6x</span>
|
|
257
277
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -264,17 +284,17 @@
|
|
|
264
284
|
<span class="cline-any cline-no"> </span>
|
|
265
285
|
<span class="cline-any cline-neutral"> </span>
|
|
266
286
|
<span class="cline-any cline-neutral"> </span>
|
|
267
|
-
<span class="cline-any cline-
|
|
287
|
+
<span class="cline-any cline-neutral"> </span>
|
|
268
288
|
<span class="cline-any cline-yes">49x</span>
|
|
269
289
|
<span class="cline-any cline-neutral"> </span>
|
|
270
290
|
<span class="cline-any cline-neutral"> </span>
|
|
271
291
|
<span class="cline-any cline-neutral"> </span>
|
|
272
|
-
<span class="cline-any cline-
|
|
292
|
+
<span class="cline-any cline-neutral"> </span>
|
|
273
293
|
<span class="cline-any cline-yes">9x</span>
|
|
274
294
|
<span class="cline-any cline-neutral"> </span>
|
|
275
295
|
<span class="cline-any cline-neutral"> </span>
|
|
276
296
|
<span class="cline-any cline-neutral"> </span>
|
|
277
|
-
<span class="cline-any cline-
|
|
297
|
+
<span class="cline-any cline-neutral"> </span>
|
|
278
298
|
<span class="cline-any cline-yes">21x</span>
|
|
279
299
|
<span class="cline-any cline-yes">21x</span>
|
|
280
300
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -290,7 +310,7 @@
|
|
|
290
310
|
<span class="cline-any cline-no"> </span>
|
|
291
311
|
<span class="cline-any cline-neutral"> </span>
|
|
292
312
|
<span class="cline-any cline-neutral"> </span>
|
|
293
|
-
<span class="cline-any cline-
|
|
313
|
+
<span class="cline-any cline-no"> </span>
|
|
294
314
|
<span class="cline-any cline-neutral"> </span>
|
|
295
315
|
<span class="cline-any cline-no"> </span>
|
|
296
316
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -404,7 +424,7 @@ import { arraysCompareDistinct } from '../math';
|
|
|
404
424
|
|
|
405
425
|
export class MultiSelect<T = any> extends ValidatableModel<ReadonlyArray<T>> implements IValueModel<readonly string[]>, IResetableModel, ICountableModel {
|
|
406
426
|
|
|
407
|
-
@observable
|
|
427
|
+
// @observable
|
|
408
428
|
private readonly _indexes = new Set<number>();
|
|
409
429
|
|
|
410
430
|
public readonly opened = new FlagModel();
|
|
@@ -419,29 +439,39 @@ export class MultiSelect<T = any> extends ValidatableModel<ReadonlyArra
|
|
|
419
439
|
...selected: number[]
|
|
420
440
|
) {
|
|
421
441
|
super();
|
|
422
|
-
makeObservable(this
|
|
442
|
+
makeObservable<MultiSelect<T>, '_indexes'>(this, {
|
|
443
|
+
'_indexes': observable,
|
|
444
|
+
selectedIndexes: computed,
|
|
445
|
+
values: computed,
|
|
446
|
+
selectedItems: computed,
|
|
447
|
+
selectedValues: computed,
|
|
448
|
+
isDefault: computed,
|
|
449
|
+
selectItems: action,
|
|
450
|
+
selectValues: action,
|
|
451
|
+
setIndexSelected: action,
|
|
452
|
+
});
|
|
423
453
|
this._initial = selected;
|
|
424
454
|
this.setInitialIndexes();
|
|
425
455
|
}
|
|
426
456
|
|
|
427
|
-
@computed
|
|
457
|
+
// @computed
|
|
428
458
|
get selectedIndexes(): ReadonlyArray<number> { return Array.from(this._indexes); }
|
|
429
459
|
|
|
430
460
|
get items(): ReadonlyArray<T> { return this._items; }
|
|
431
461
|
|
|
432
462
|
<span class="fstat-no" title="function not covered" > get f</span>lags() { <span class="cstat-no" title="statement not covered" >return this._flags.value; </span>}
|
|
433
463
|
|
|
434
|
-
@computed
|
|
464
|
+
// @computed
|
|
435
465
|
get values(): ReadonlyArray<string> {
|
|
436
466
|
return this._items.map(i => this._accessor(i));
|
|
437
467
|
}
|
|
438
468
|
|
|
439
|
-
@computed
|
|
469
|
+
// @computed
|
|
440
470
|
get selectedItems(): ReadonlyArray<T> {
|
|
441
471
|
return this.selectedIndexes.map(i => this._items[i]);
|
|
442
472
|
}
|
|
443
473
|
|
|
444
|
-
@computed
|
|
474
|
+
// @computed
|
|
445
475
|
get selectedValues(): ReadonlyArray<string> {
|
|
446
476
|
const values = this.values;
|
|
447
477
|
return this.selectedIndexes.map(i => values[i]);
|
|
@@ -457,7 +487,7 @@ export class MultiSelect<T = any> extends ValidatableModel<ReadonlyArra
|
|
|
457
487
|
get selectedCount() { return this._indexes.size; }
|
|
458
488
|
<span class="fstat-no" title="function not covered" > get i</span>sEmpty() { <span class="cstat-no" title="statement not covered" >return this.selectedCount === 0; </span>}
|
|
459
489
|
|
|
460
|
-
@computed
|
|
490
|
+
// @computed
|
|
461
491
|
<span class="fstat-no" title="function not covered" > get i</span>sDefault() { <span class="cstat-no" title="statement not covered" >return arraysCompareDistinct(this.selectedIndexes, this._initial)?.diff === 0; </span>}
|
|
462
492
|
|
|
463
493
|
<span class="fstat-no" title="function not covered" > protected get v</span>alueToValidate() { <span class="cstat-no" title="statement not covered" >return this.selectedItems; </span>}
|
|
@@ -472,7 +502,7 @@ export class MultiSelect<T = any> extends ValidatableModel<ReadonlyArra
|
|
|
472
502
|
selectItem = (item: T) => this.setItemSelected(item, true);
|
|
473
503
|
deSelectItem = (item: T) => this.setItemSelected(item, false);
|
|
474
504
|
|
|
475
|
-
@action
|
|
505
|
+
// @action
|
|
476
506
|
selectItems = (items: readonly T[]) => {
|
|
477
507
|
items.forEach(this.selectItem);
|
|
478
508
|
};
|
|
@@ -487,12 +517,12 @@ export class MultiSelect<T = any> extends ValidatableModel<ReadonlyArra
|
|
|
487
517
|
selectValue = (value: string) => this.setValueSelected(value, true);
|
|
488
518
|
deSelectValue = (value: string) => this.setValueSelected(value, false);
|
|
489
519
|
|
|
490
|
-
@action
|
|
520
|
+
// @action
|
|
491
521
|
selectValues = <span class="fstat-no" title="function not covered" >(v</span>alues: readonly string[]) => {
|
|
492
522
|
<span class="cstat-no" title="statement not covered" > values.forEach(this.selectValue);</span>
|
|
493
523
|
};
|
|
494
524
|
|
|
495
|
-
@action
|
|
525
|
+
// @action
|
|
496
526
|
setIndexSelected = (index: number, selected: boolean) => {
|
|
497
527
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (this._indexesLocked) {
|
|
498
528
|
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
@@ -568,7 +598,7 @@ export class MultiSelectString<T extends string = string> extends MultiSel
|
|
|
568
598
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
569
599
|
Code coverage generated by
|
|
570
600
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
571
|
-
at
|
|
601
|
+
at Fri Mar 18 2022 08:49:14 GMT+0000 (Coordinated Universal Time)
|
|
572
602
|
</div>
|
|
573
603
|
</div>
|
|
574
604
|
<script src="../../prettify.js"></script>
|
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">89.47% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>17/19</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -101,7 +101,13 @@
|
|
|
101
101
|
<a name='L42'></a><a href='#L42'>42</a>
|
|
102
102
|
<a name='L43'></a><a href='#L43'>43</a>
|
|
103
103
|
<a name='L44'></a><a href='#L44'>44</a>
|
|
104
|
-
<a name='L45'></a><a href='#L45'>45</a
|
|
104
|
+
<a name='L45'></a><a href='#L45'>45</a>
|
|
105
|
+
<a name='L46'></a><a href='#L46'>46</a>
|
|
106
|
+
<a name='L47'></a><a href='#L47'>47</a>
|
|
107
|
+
<a name='L48'></a><a href='#L48'>48</a>
|
|
108
|
+
<a name='L49'></a><a href='#L49'>49</a>
|
|
109
|
+
<a name='L50'></a><a href='#L50'>50</a>
|
|
110
|
+
<a name='L51'></a><a href='#L51'>51</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">3x</span>
|
|
105
111
|
<span class="cline-any cline-neutral"> </span>
|
|
106
112
|
<span class="cline-any cline-neutral"> </span>
|
|
107
113
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -109,42 +115,48 @@
|
|
|
109
115
|
<span class="cline-any cline-neutral"> </span>
|
|
110
116
|
<span class="cline-any cline-neutral"> </span>
|
|
111
117
|
<span class="cline-any cline-neutral"> </span>
|
|
112
|
-
<span class="cline-any cline-yes">
|
|
118
|
+
<span class="cline-any cline-yes">3x</span>
|
|
113
119
|
<span class="cline-any cline-neutral"> </span>
|
|
114
120
|
<span class="cline-any cline-neutral"> </span>
|
|
115
|
-
<span class="cline-any cline-yes">
|
|
121
|
+
<span class="cline-any cline-yes">8x</span>
|
|
122
|
+
<span class="cline-any cline-neutral"> </span>
|
|
123
|
+
<span class="cline-any cline-yes">8x</span>
|
|
124
|
+
<span class="cline-any cline-neutral"> </span>
|
|
116
125
|
<span class="cline-any cline-neutral"> </span>
|
|
117
|
-
<span class="cline-any cline-yes">
|
|
126
|
+
<span class="cline-any cline-yes">8x</span>
|
|
118
127
|
<span class="cline-any cline-neutral"> </span>
|
|
119
128
|
<span class="cline-any cline-neutral"> </span>
|
|
120
|
-
<span class="cline-any cline-yes">7x</span>
|
|
121
|
-
<span class="cline-any cline-yes">7x</span>
|
|
122
|
-
<span class="cline-any cline-yes">7x</span>
|
|
123
129
|
<span class="cline-any cline-neutral"> </span>
|
|
124
130
|
<span class="cline-any cline-neutral"> </span>
|
|
125
|
-
<span class="cline-any cline-yes">7x</span>
|
|
126
|
-
<span class="cline-any cline-yes">6x</span>
|
|
127
131
|
<span class="cline-any cline-neutral"> </span>
|
|
128
132
|
<span class="cline-any cline-neutral"> </span>
|
|
129
|
-
<span class="cline-any cline-yes">
|
|
133
|
+
<span class="cline-any cline-yes">8x</span>
|
|
130
134
|
<span class="cline-any cline-yes">8x</span>
|
|
131
135
|
<span class="cline-any cline-neutral"> </span>
|
|
132
136
|
<span class="cline-any cline-neutral"> </span>
|
|
137
|
+
<span class="cline-any cline-yes">13x</span>
|
|
138
|
+
<span class="cline-any cline-yes">8x</span>
|
|
139
|
+
<span class="cline-any cline-neutral"> </span>
|
|
140
|
+
<span class="cline-any cline-neutral"> </span>
|
|
141
|
+
<span class="cline-any cline-yes">8x</span>
|
|
142
|
+
<span class="cline-any cline-yes">10x</span>
|
|
143
|
+
<span class="cline-any cline-neutral"> </span>
|
|
144
|
+
<span class="cline-any cline-neutral"> </span>
|
|
133
145
|
<span class="cline-any cline-no"> </span>
|
|
134
146
|
<span class="cline-any cline-neutral"> </span>
|
|
135
147
|
<span class="cline-any cline-neutral"> </span>
|
|
136
|
-
<span class="cline-any cline-yes">
|
|
148
|
+
<span class="cline-any cline-yes">8x</span>
|
|
137
149
|
<span class="cline-any cline-no"> </span>
|
|
138
150
|
<span class="cline-any cline-neutral"> </span>
|
|
139
151
|
<span class="cline-any cline-neutral"> </span>
|
|
140
152
|
<span class="cline-any cline-neutral"> </span>
|
|
141
|
-
<span class="cline-any cline-yes">
|
|
153
|
+
<span class="cline-any cline-yes">8x</span>
|
|
142
154
|
<span class="cline-any cline-neutral"> </span>
|
|
143
155
|
<span class="cline-any cline-neutral"> </span>
|
|
144
|
-
<span class="cline-any cline-yes">
|
|
156
|
+
<span class="cline-any cline-yes">8x</span>
|
|
145
157
|
<span class="cline-any cline-neutral"> </span>
|
|
146
158
|
<span class="cline-any cline-neutral"> </span>
|
|
147
|
-
<span class="cline-any cline-yes">
|
|
159
|
+
<span class="cline-any cline-yes">3x</span>
|
|
148
160
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { action, makeObservable, observable } from 'mobx';
|
|
149
161
|
import { IResetableModel } from 'viewModels';
|
|
150
162
|
import { IValueModel } from './types';
|
|
@@ -155,13 +167,19 @@ export interface INumberModel extends IResetableModel {
|
|
|
155
167
|
|
|
156
168
|
export class NumberModel implements INumberModel, IValueModel<number> {
|
|
157
169
|
|
|
158
|
-
@observable
|
|
170
|
+
// @observable
|
|
159
171
|
private _value: number = 0;
|
|
160
172
|
|
|
161
173
|
private _initial: number = 0;
|
|
162
174
|
|
|
163
175
|
constructor(initial: number = 0) {
|
|
164
|
-
makeObservable(this
|
|
176
|
+
makeObservable<NumberModel, '_value'>(this, {
|
|
177
|
+
_value: observable,
|
|
178
|
+
setValue: action,
|
|
179
|
+
reset: action,
|
|
180
|
+
increment: action,
|
|
181
|
+
decrement: action,
|
|
182
|
+
});
|
|
165
183
|
this._initial = initial;
|
|
166
184
|
this._value = this._initial;
|
|
167
185
|
}
|
|
@@ -169,22 +187,22 @@ export class NumberModel implements INumberModel, IValueModel<number> {
|
|
|
169
187
|
get value() { return this._value; }
|
|
170
188
|
set value(v: number) { this.setValue(v); }
|
|
171
189
|
|
|
172
|
-
@action
|
|
190
|
+
// @action
|
|
173
191
|
public readonly setValue = (v: number) => {
|
|
174
192
|
this._value = v;
|
|
175
193
|
};
|
|
176
194
|
|
|
177
195
|
<span class="fstat-no" title="function not covered" > get i</span>sDefault() { <span class="cstat-no" title="statement not covered" >return this._value === this._initial; </span>}
|
|
178
196
|
|
|
179
|
-
@action
|
|
197
|
+
// @action
|
|
180
198
|
reset = <span class="fstat-no" title="function not covered" >() =</span>> {
|
|
181
199
|
<span class="cstat-no" title="statement not covered" > this._value = this._initial;</span>
|
|
182
200
|
};
|
|
183
201
|
|
|
184
|
-
@action
|
|
202
|
+
// @action
|
|
185
203
|
increment = (d = 1) => this.value += d;
|
|
186
204
|
|
|
187
|
-
@action
|
|
205
|
+
// @action
|
|
188
206
|
decrement = (d = 1) => this.value -= d;
|
|
189
207
|
}
|
|
190
208
|
|
|
@@ -196,7 +214,7 @@ export default NumberModel;
|
|
|
196
214
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
197
215
|
Code coverage generated by
|
|
198
216
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
199
|
-
at
|
|
217
|
+
at Fri Mar 18 2022 08:49:14 GMT+0000 (Coordinated Universal Time)
|
|
200
218
|
</div>
|
|
201
219
|
</div>
|
|
202
220
|
<script src="../../prettify.js"></script>
|
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">90.63% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>58/64</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">89.83% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>53/59</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -194,40 +194,48 @@
|
|
|
194
194
|
<a name='L135'></a><a href='#L135'>135</a>
|
|
195
195
|
<a name='L136'></a><a href='#L136'>136</a>
|
|
196
196
|
<a name='L137'></a><a href='#L137'>137</a>
|
|
197
|
-
<a name='L138'></a><a href='#L138'>138</a
|
|
198
|
-
<
|
|
199
|
-
<
|
|
200
|
-
<
|
|
197
|
+
<a name='L138'></a><a href='#L138'>138</a>
|
|
198
|
+
<a name='L139'></a><a href='#L139'>139</a>
|
|
199
|
+
<a name='L140'></a><a href='#L140'>140</a>
|
|
200
|
+
<a name='L141'></a><a href='#L141'>141</a>
|
|
201
|
+
<a name='L142'></a><a href='#L142'>142</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
|
|
202
|
+
<span class="cline-any cline-yes">2x</span>
|
|
203
|
+
<span class="cline-any cline-yes">2x</span>
|
|
204
|
+
<span class="cline-any cline-yes">2x</span>
|
|
201
205
|
<span class="cline-any cline-neutral"> </span>
|
|
202
|
-
<span class="cline-any cline-yes">
|
|
206
|
+
<span class="cline-any cline-yes">2x</span>
|
|
203
207
|
<span class="cline-any cline-neutral"> </span>
|
|
204
208
|
<span class="cline-any cline-neutral"> </span>
|
|
205
|
-
<span class="cline-any cline-yes">
|
|
209
|
+
<span class="cline-any cline-yes">2x</span>
|
|
206
210
|
<span class="cline-any cline-neutral"> </span>
|
|
207
|
-
<span class="cline-any cline-yes">
|
|
211
|
+
<span class="cline-any cline-yes">6x</span>
|
|
208
212
|
<span class="cline-any cline-neutral"> </span>
|
|
209
|
-
<span class="cline-any cline-yes">
|
|
210
|
-
<span class="cline-any cline-yes">
|
|
211
|
-
<span class="cline-any cline-yes">
|
|
213
|
+
<span class="cline-any cline-yes">6x</span>
|
|
214
|
+
<span class="cline-any cline-yes">6x</span>
|
|
215
|
+
<span class="cline-any cline-yes">6x</span>
|
|
212
216
|
<span class="cline-any cline-neutral"> </span>
|
|
213
|
-
<span class="cline-any cline-yes">
|
|
217
|
+
<span class="cline-any cline-yes">6x</span>
|
|
214
218
|
<span class="cline-any cline-neutral"> </span>
|
|
215
219
|
<span class="cline-any cline-neutral"> </span>
|
|
216
|
-
<span class="cline-any cline-yes">
|
|
217
|
-
<span class="cline-any cline-yes">
|
|
220
|
+
<span class="cline-any cline-yes">6x</span>
|
|
221
|
+
<span class="cline-any cline-yes">6x</span>
|
|
222
|
+
<span class="cline-any cline-neutral"> </span>
|
|
223
|
+
<span class="cline-any cline-neutral"> </span>
|
|
224
|
+
<span class="cline-any cline-yes">6x</span>
|
|
225
|
+
<span class="cline-any cline-yes">6x</span>
|
|
218
226
|
<span class="cline-any cline-neutral"> </span>
|
|
219
227
|
<span class="cline-any cline-neutral"> </span>
|
|
220
|
-
<span class="cline-any cline-yes">5x</span>
|
|
221
|
-
<span class="cline-any cline-yes">5x</span>
|
|
222
228
|
<span class="cline-any cline-neutral"> </span>
|
|
223
|
-
<span class="cline-any cline-
|
|
224
|
-
<span class="cline-any cline-
|
|
229
|
+
<span class="cline-any cline-neutral"> </span>
|
|
230
|
+
<span class="cline-any cline-neutral"> </span>
|
|
231
|
+
<span class="cline-any cline-yes">6x</span>
|
|
232
|
+
<span class="cline-any cline-yes">6x</span>
|
|
225
233
|
<span class="cline-any cline-neutral"> </span>
|
|
226
234
|
<span class="cline-any cline-neutral"> </span>
|
|
227
235
|
<span class="cline-any cline-no"> </span>
|
|
228
236
|
<span class="cline-any cline-neutral"> </span>
|
|
229
237
|
<span class="cline-any cline-neutral"> </span>
|
|
230
|
-
<span class="cline-any cline-
|
|
238
|
+
<span class="cline-any cline-neutral"> </span>
|
|
231
239
|
<span class="cline-any cline-yes">34x</span>
|
|
232
240
|
<span class="cline-any cline-neutral"> </span>
|
|
233
241
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -275,7 +283,7 @@
|
|
|
275
283
|
<span class="cline-any cline-neutral"> </span>
|
|
276
284
|
<span class="cline-any cline-neutral"> </span>
|
|
277
285
|
<span class="cline-any cline-neutral"> </span>
|
|
278
|
-
<span class="cline-any cline-yes">
|
|
286
|
+
<span class="cline-any cline-yes">6x</span>
|
|
279
287
|
<span class="cline-any cline-yes">16x</span>
|
|
280
288
|
<span class="cline-any cline-no"> </span>
|
|
281
289
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -298,7 +306,7 @@
|
|
|
298
306
|
<span class="cline-any cline-neutral"> </span>
|
|
299
307
|
<span class="cline-any cline-neutral"> </span>
|
|
300
308
|
<span class="cline-any cline-neutral"> </span>
|
|
301
|
-
<span class="cline-any cline-yes">
|
|
309
|
+
<span class="cline-any cline-yes">6x</span>
|
|
302
310
|
<span class="cline-any cline-yes">1x</span>
|
|
303
311
|
<span class="cline-any cline-yes">1x</span>
|
|
304
312
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -326,7 +334,7 @@
|
|
|
326
334
|
<span class="cline-any cline-neutral"> </span>
|
|
327
335
|
<span class="cline-any cline-neutral"> </span>
|
|
328
336
|
<span class="cline-any cline-neutral"> </span>
|
|
329
|
-
<span class="cline-any cline-yes">
|
|
337
|
+
<span class="cline-any cline-yes">2x</span>
|
|
330
338
|
<span class="cline-any cline-neutral"> </span>
|
|
331
339
|
<span class="cline-any cline-yes">3x</span>
|
|
332
340
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -340,7 +348,7 @@ import { withLabel } from './wrappers';
|
|
|
340
348
|
import { IResetableModel } from 'viewModels';
|
|
341
349
|
|
|
342
350
|
export class Select<T = any> extends ValidatableModel<T> implements IValueModel<string>, IResetableModel {
|
|
343
|
-
@observable
|
|
351
|
+
// @observable
|
|
344
352
|
private _index: number = undefined;
|
|
345
353
|
|
|
346
354
|
public readonly opened = new FlagModel();
|
|
@@ -355,7 +363,11 @@ export class Select<T = any> extends ValidatableModel<T> implements
|
|
|
355
363
|
initialIndex: number = 0,
|
|
356
364
|
) {
|
|
357
365
|
super();
|
|
358
|
-
makeObservable(this
|
|
366
|
+
makeObservable<Select<T>, '_index'>(this, {
|
|
367
|
+
'_index': observable,
|
|
368
|
+
values: computed,
|
|
369
|
+
setIndex: action,
|
|
370
|
+
});
|
|
359
371
|
|
|
360
372
|
this._initialIndex = initialIndex;
|
|
361
373
|
this._index = initialIndex;
|
|
@@ -363,7 +375,7 @@ export class Select<T = any> extends ValidatableModel<T> implements
|
|
|
363
375
|
|
|
364
376
|
<span class="fstat-no" title="function not covered" > protected get v</span>alueToValidate() { <span class="cstat-no" title="statement not covered" >return this.selectedItem; </span>}
|
|
365
377
|
|
|
366
|
-
@computed
|
|
378
|
+
// @computed
|
|
367
379
|
get values(): readonly string[] {
|
|
368
380
|
return this._items.map(i => this._accessor(i));
|
|
369
381
|
}
|
|
@@ -411,7 +423,7 @@ export class Select<T = any> extends ValidatableModel<T> implements
|
|
|
411
423
|
this.setIndex(val);
|
|
412
424
|
}
|
|
413
425
|
|
|
414
|
-
@action
|
|
426
|
+
// @action
|
|
415
427
|
public setIndex = (val: number) => {
|
|
416
428
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (this._indexLocked) {
|
|
417
429
|
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
@@ -475,7 +487,7 @@ export class SelectString<T extends string = string> extends Select<T&g
|
|
|
475
487
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
476
488
|
Code coverage generated by
|
|
477
489
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
478
|
-
at
|
|
490
|
+
at Fri Mar 18 2022 08:49:14 GMT+0000 (Coordinated Universal Time)
|
|
479
491
|
</div>
|
|
480
492
|
</div>
|
|
481
493
|
<script src="../../prettify.js"></script>
|