@zajno/common 1.3.1 → 1.3.2
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 +429 -370
- package/coverage/coverage-final.json +39 -38
- package/coverage/lcov-report/NumberModel.ts.html +188 -0
- package/coverage/lcov-report/arrays.ts.html +602 -0
- package/coverage/lcov-report/calc.ts.html +278 -0
- package/coverage/lcov-report/enumHelper.ts.html +449 -0
- package/coverage/lcov-report/index.html +43 -43
- package/coverage/lcov-report/src/__tests__/helpers/index.html +1 -1
- package/coverage/lcov-report/src/__tests__/helpers/main.ts.html +2 -2
- 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 +3 -3
- package/coverage/lcov-report/src/index.html +21 -21
- package/coverage/lcov-report/src/lazy.light.ts.html +1 -1
- package/coverage/lcov-report/src/logger/batch.ts.html +107 -0
- package/coverage/lcov-report/src/logger/console.ts.html +10 -25
- package/coverage/lcov-report/src/logger/index.html +54 -39
- package/coverage/lcov-report/src/logger/index.ts.html +88 -61
- package/coverage/lcov-report/src/logger/named.ts.html +31 -31
- package/coverage/lcov-report/src/logger/proxy.ts.html +13 -13
- package/coverage/lcov-report/src/math/arrays.ts.html +269 -32
- package/coverage/lcov-report/src/math/calc.ts.html +11 -11
- package/coverage/lcov-report/src/math/distribution.ts.html +2 -2
- package/coverage/lcov-report/src/math/index.html +11 -11
- package/coverage/lcov-report/src/math/index.ts.html +6 -6
- package/coverage/lcov-report/src/transitionObserver.ts.html +5 -5
- package/coverage/lcov-report/src/types.ts.html +33 -18
- 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 +16 -13
- package/coverage/lcov-report/src/viewModels/LabeledFlagModel.ts.html +17 -26
- package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +34 -13
- package/coverage/lcov-report/src/viewModels/NumberModel.ts.html +19 -10
- package/coverage/lcov-report/src/viewModels/SelectModel.ts.html +19 -10
- package/coverage/lcov-report/src/viewModels/SelectViewModel.ts.html +17 -14
- package/coverage/lcov-report/src/viewModels/Validatable.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/index.html +42 -42
- package/coverage/lcov-report/src/viewModels/labeled.ts.html +128 -0
- package/coverage/lcov-report/src/viewModels/wrappers.ts.html +3 -15
- package/coverage/lcov-report/transitionObserver.ts.html +41 -77
- package/coverage/lcov.info +785 -654
- package/lib/event.d.ts.map +1 -1
- package/lib/event.js +1 -1
- package/lib/event.js.map +1 -1
- package/lib/logger/batch.d.ts +3 -0
- package/lib/logger/batch.d.ts.map +1 -0
- package/lib/logger/batch.js +12 -0
- package/lib/logger/batch.js.map +1 -0
- package/lib/logger/console.d.ts +0 -1
- package/lib/logger/console.d.ts.map +1 -1
- package/lib/logger/console.js +0 -3
- package/lib/logger/console.js.map +1 -1
- package/lib/logger/file.d.ts +15 -0
- package/lib/logger/file.d.ts.map +1 -0
- package/lib/logger/file.js +43 -0
- package/lib/logger/file.js.map +1 -0
- package/lib/logger/index.d.ts +7 -6
- package/lib/logger/index.d.ts.map +1 -1
- package/lib/logger/index.js +34 -21
- package/lib/logger/index.js.map +1 -1
- package/lib/logger/named.js +3 -3
- package/lib/logger/named.js.map +1 -1
- package/lib/logger/proxy.d.ts +1 -1
- package/lib/logger/proxy.d.ts.map +1 -1
- package/lib/logger/proxy.js +2 -2
- package/lib/logger/proxy.js.map +1 -1
- package/lib/math/arrays.d.ts +15 -0
- package/lib/math/arrays.d.ts.map +1 -1
- package/lib/math/arrays.js +69 -1
- package/lib/math/arrays.js.map +1 -1
- package/lib/transitionObserver.d.ts.map +1 -1
- package/lib/transitionObserver.js +2 -2
- package/lib/transitionObserver.js.map +1 -1
- package/lib/types.d.ts +4 -0
- package/lib/types.d.ts.map +1 -1
- package/lib/types.js +6 -2
- package/lib/types.js.map +1 -1
- package/lib/viewModels/FlagModel.d.ts +4 -4
- package/lib/viewModels/FlagModel.d.ts.map +1 -1
- package/lib/viewModels/FlagModel.js +1 -0
- package/lib/viewModels/FlagModel.js.map +1 -1
- package/lib/viewModels/MultiSelectModel.d.ts +6 -2
- package/lib/viewModels/MultiSelectModel.d.ts.map +1 -1
- package/lib/viewModels/MultiSelectModel.js +10 -1
- package/lib/viewModels/MultiSelectModel.js.map +1 -1
- package/lib/viewModels/NumberModel.d.ts +4 -2
- package/lib/viewModels/NumberModel.d.ts.map +1 -1
- package/lib/viewModels/NumberModel.js +1 -0
- package/lib/viewModels/NumberModel.js.map +1 -1
- package/lib/viewModels/SelectModel.d.ts +4 -2
- package/lib/viewModels/SelectModel.d.ts.map +1 -1
- package/lib/viewModels/SelectModel.js +1 -0
- package/lib/viewModels/SelectModel.js.map +1 -1
- package/lib/viewModels/TextModel.d.ts +4 -3
- package/lib/viewModels/TextModel.d.ts.map +1 -1
- package/lib/viewModels/TextModel.js +5 -5
- package/lib/viewModels/TextModel.js.map +1 -1
- package/lib/viewModels/ValuesCollector.d.ts +1 -3
- package/lib/viewModels/ValuesCollector.d.ts.map +1 -1
- package/lib/viewModels/ValuesCollector.js.map +1 -1
- package/lib/viewModels/index.d.ts +1 -0
- package/lib/viewModels/index.d.ts.map +1 -1
- package/lib/viewModels/index.js +1 -0
- package/lib/viewModels/index.js.map +1 -1
- package/lib/viewModels/types.d.ts +16 -0
- package/lib/viewModels/types.d.ts.map +1 -0
- package/lib/viewModels/types.js +3 -0
- package/lib/viewModels/types.js.map +1 -0
- package/lib/viewModels/wrappers.d.ts +1 -4
- package/lib/viewModels/wrappers.d.ts.map +1 -1
- package/lib/viewModels/wrappers.js.map +1 -1
- package/package.json +1 -1
- package/src/event.ts +2 -2
- package/src/logger/__tests__/{index.test.ts → logger.test.ts} +97 -41
- package/src/logger/batch.ts +9 -0
- package/src/logger/console.ts +0 -5
- package/src/logger/file.ts +46 -0
- package/src/logger/index.ts +37 -28
- package/src/logger/named.ts +3 -3
- package/src/logger/proxy.ts +2 -2
- package/src/math/__tests__/arrays.test.ts +53 -0
- package/src/math/arrays.ts +79 -0
- package/src/transitionObserver.ts +2 -2
- package/src/types.ts +6 -1
- package/src/viewModels/FlagModel.ts +5 -4
- package/src/viewModels/MultiSelectModel.ts +10 -3
- package/src/viewModels/NumberModel.ts +5 -2
- package/src/viewModels/SelectModel.ts +5 -2
- package/src/viewModels/TextModel.ts +5 -4
- package/src/viewModels/ValuesCollector.ts +1 -4
- package/src/viewModels/index.ts +1 -0
- package/src/viewModels/types.ts +19 -0
- package/src/viewModels/wrappers.ts +1 -5
- package/yarn-error.log +0 -3709
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">78.57% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>33/
|
|
35
|
+
<span class='fraction'>33/42</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
@@ -431,7 +431,7 @@ export class TransitionObserver<T> implements IDisposable {
|
|
|
431
431
|
private _promise: Promise<T> = null;
|
|
432
432
|
private _promiseReject: (err?: any) => any = null;
|
|
433
433
|
|
|
434
|
-
private logger: ILogger = createLogger('',
|
|
434
|
+
private logger: ILogger = createLogger('', false);
|
|
435
435
|
|
|
436
436
|
constructor(getter?: () => T) {
|
|
437
437
|
if (getter) {
|
|
@@ -526,7 +526,7 @@ export class TransitionObserver<T> implements IDisposable {
|
|
|
526
526
|
}
|
|
527
527
|
|
|
528
528
|
<span class="fstat-no" title="function not covered" > enableLogging(</span>name: string) {
|
|
529
|
-
<span class="cstat-no" title="statement not covered" > this.logger = createLogger(name,
|
|
529
|
+
<span class="cstat-no" title="statement not covered" > this.logger = createLogger(name, name ? undefined : false);</span>
|
|
530
530
|
<span class="cstat-no" title="statement not covered" > return this;</span>
|
|
531
531
|
}
|
|
532
532
|
|
|
@@ -592,7 +592,7 @@ export class TransitionObserver<T> implements IDisposable {
|
|
|
592
592
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
593
593
|
Code coverage generated by
|
|
594
594
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
595
|
-
at
|
|
595
|
+
at Mon Nov 29 2021 07:49:53 GMT+0000 (Coordinated Universal Time)
|
|
596
596
|
</div>
|
|
597
597
|
</div>
|
|
598
598
|
<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">90% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>9/10</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">87.5% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>7/8</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
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'>4/4</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">88.89% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>8/9</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
|
<pre><table class="coverage">
|
|
60
60
|
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
61
61
|
<a name='L2'></a><a href='#L2'>2</a>
|
|
@@ -78,7 +78,12 @@
|
|
|
78
78
|
<a name='L19'></a><a href='#L19'>19</a>
|
|
79
79
|
<a name='L20'></a><a href='#L20'>20</a>
|
|
80
80
|
<a name='L21'></a><a href='#L21'>21</a>
|
|
81
|
-
<a name='L22'></a><a href='#L22'>22</a
|
|
81
|
+
<a name='L22'></a><a href='#L22'>22</a>
|
|
82
|
+
<a name='L23'></a><a href='#L23'>23</a>
|
|
83
|
+
<a name='L24'></a><a href='#L24'>24</a>
|
|
84
|
+
<a name='L25'></a><a href='#L25'>25</a>
|
|
85
|
+
<a name='L26'></a><a href='#L26'>26</a>
|
|
86
|
+
<a name='L27'></a><a href='#L27'>27</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
82
87
|
<span class="cline-any cline-neutral"> </span>
|
|
83
88
|
<span class="cline-any cline-neutral"> </span>
|
|
84
89
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -86,19 +91,24 @@
|
|
|
86
91
|
<span class="cline-any cline-neutral"> </span>
|
|
87
92
|
<span class="cline-any cline-neutral"> </span>
|
|
88
93
|
<span class="cline-any cline-neutral"> </span>
|
|
89
|
-
<span class="cline-any cline-yes">
|
|
90
|
-
<span class="cline-any cline-yes">
|
|
91
|
-
<span class="cline-any cline-yes">
|
|
92
|
-
<span class="cline-any cline-
|
|
94
|
+
<span class="cline-any cline-yes">8x</span>
|
|
95
|
+
<span class="cline-any cline-yes">8x</span>
|
|
96
|
+
<span class="cline-any cline-yes">75x</span>
|
|
97
|
+
<span class="cline-any cline-yes">6x</span>
|
|
93
98
|
<span class="cline-any cline-neutral"> </span>
|
|
94
|
-
<span class="cline-any cline-yes">
|
|
95
|
-
<span class="cline-any cline-yes">
|
|
99
|
+
<span class="cline-any cline-yes">69x</span>
|
|
100
|
+
<span class="cline-any cline-yes">69x</span>
|
|
96
101
|
<span class="cline-any cline-neutral"> </span>
|
|
97
102
|
<span class="cline-any cline-no"> </span>
|
|
98
103
|
<span class="cline-any cline-neutral"> </span>
|
|
99
104
|
<span class="cline-any cline-neutral"> </span>
|
|
100
105
|
<span class="cline-any cline-neutral"> </span>
|
|
101
106
|
<span class="cline-any cline-neutral"> </span>
|
|
107
|
+
<span class="cline-any cline-neutral"> </span>
|
|
108
|
+
<span class="cline-any cline-neutral"> </span>
|
|
109
|
+
<span class="cline-any cline-yes">8x</span>
|
|
110
|
+
<span class="cline-any cline-yes">8x</span>
|
|
111
|
+
<span class="cline-any cline-neutral"> </span>
|
|
102
112
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">export { DeepPartial } from './deepPartial';
|
|
103
113
|
|
|
104
114
|
export type DeepReadonly<T> = {
|
|
@@ -109,8 +119,8 @@ export type Getter<T> = (() => T) | T | null;
|
|
|
109
119
|
|
|
110
120
|
export namespace Getter {
|
|
111
121
|
export function getValue<T>(getter: Getter<T>): T {
|
|
112
|
-
|
|
113
|
-
|
|
122
|
+
if (getter == null) {
|
|
123
|
+
return undefined;
|
|
114
124
|
}
|
|
115
125
|
<span class="missing-if-branch" title="else path not taken" >E</span>if (typeof getter === 'function') {
|
|
116
126
|
return (getter as () => T)();
|
|
@@ -120,6 +130,11 @@ export namespace Getter {
|
|
|
120
130
|
}
|
|
121
131
|
|
|
122
132
|
export type Predicate<T> = (value: T) => boolean;
|
|
133
|
+
export type Comparator<T, C = boolean> = (v1: T, v2: T) => C;
|
|
134
|
+
|
|
135
|
+
export namespace Comparator {
|
|
136
|
+
export const Default: Comparator<any> = (a, b) => a === b;
|
|
137
|
+
}
|
|
123
138
|
</pre></td></tr></table></pre>
|
|
124
139
|
|
|
125
140
|
<div class='push'></div><!-- for sticky footer -->
|
|
@@ -127,7 +142,7 @@ export type Predicate<T> = (value: T) => boolean;
|
|
|
127
142
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
128
143
|
Code coverage generated by
|
|
129
144
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
130
|
-
at
|
|
145
|
+
at Mon Nov 29 2021 07:49:53 GMT+0000 (Coordinated Universal Time)
|
|
131
146
|
</div>
|
|
132
147
|
</div>
|
|
133
148
|
<script src="../prettify.js"></script>
|
|
@@ -142,7 +142,7 @@ export namespace <span class="branch-1 cbranch-no" title="branch not covered" >V
|
|
|
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">istanbul</a>
|
|
145
|
-
at
|
|
145
|
+
at Mon Nov 29 2021 07:49:53 GMT+0000 (Coordinated Universal Time)
|
|
146
146
|
</div>
|
|
147
147
|
</div>
|
|
148
148
|
<script src="../../prettify.js"></script>
|
|
@@ -139,7 +139,7 @@ export default {
|
|
|
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">istanbul</a>
|
|
142
|
-
at
|
|
142
|
+
at Mon Nov 29 2021 07:49:53 GMT+0000 (Coordinated Universal Time)
|
|
143
143
|
</div>
|
|
144
144
|
</div>
|
|
145
145
|
<script src="../../prettify.js"></script>
|
|
@@ -208,7 +208,7 @@ export function <span class="fstat-no" title="function not covered" >validateObj
|
|
|
208
208
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
209
209
|
Code coverage generated by
|
|
210
210
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
211
|
-
at
|
|
211
|
+
at Mon Nov 29 2021 07:49:53 GMT+0000 (Coordinated Universal Time)
|
|
212
212
|
</div>
|
|
213
213
|
</div>
|
|
214
214
|
<script src="../../prettify.js"></script>
|
|
@@ -185,7 +185,7 @@
|
|
|
185
185
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
186
186
|
Code coverage generated by
|
|
187
187
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
188
|
-
at
|
|
188
|
+
at Mon Nov 29 2021 07:49:53 GMT+0000 (Coordinated Universal Time)
|
|
189
189
|
</div>
|
|
190
190
|
</div>
|
|
191
191
|
<script src="../../prettify.js"></script>
|
|
@@ -91,7 +91,7 @@ export * from './helpers';
|
|
|
91
91
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
92
92
|
Code coverage generated by
|
|
93
93
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
94
|
-
at
|
|
94
|
+
at Mon Nov 29 2021 07:49:53 GMT+0000 (Coordinated Universal Time)
|
|
95
95
|
</div>
|
|
96
96
|
</div>
|
|
97
97
|
<script src="../../prettify.js"></script>
|
|
@@ -109,7 +109,7 @@ export class ValidationError extends Error {
|
|
|
109
109
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
110
110
|
Code coverage generated by
|
|
111
111
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
112
|
-
at
|
|
112
|
+
at Mon Nov 29 2021 07:49:53 GMT+0000 (Coordinated Universal Time)
|
|
113
113
|
</div>
|
|
114
114
|
</div>
|
|
115
115
|
<script src="../../prettify.js"></script>
|
|
@@ -229,7 +229,7 @@ export const Validators = {
|
|
|
229
229
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
230
230
|
Code coverage generated by
|
|
231
231
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
232
|
-
at
|
|
232
|
+
at Mon Nov 29 2021 07:49:53 GMT+0000 (Coordinated Universal Time)
|
|
233
233
|
</div>
|
|
234
234
|
</div>
|
|
235
235
|
<script src="../../prettify.js"></script>
|
|
@@ -142,7 +142,7 @@ export const Wrappers = {
|
|
|
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">istanbul</a>
|
|
145
|
-
at
|
|
145
|
+
at Mon Nov 29 2021 07:49:53 GMT+0000 (Coordinated Universal Time)
|
|
146
146
|
</div>
|
|
147
147
|
</div>
|
|
148
148
|
<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">80% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>12/
|
|
28
|
+
<span class='fraction'>12/15</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -37,16 +37,16 @@
|
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">50% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>3/
|
|
42
|
+
<span class='fraction'>3/6</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">75% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>9/
|
|
49
|
+
<span class='fraction'>9/12</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -100,8 +100,8 @@
|
|
|
100
100
|
<a name='L41'></a><a href='#L41'>41</a>
|
|
101
101
|
<a name='L42'></a><a href='#L42'>42</a>
|
|
102
102
|
<a name='L43'></a><a href='#L43'>43</a>
|
|
103
|
-
<a name='L44'></a><a href='#L44'>44</a
|
|
104
|
-
<span class="cline-any cline-
|
|
103
|
+
<a name='L44'></a><a href='#L44'>44</a>
|
|
104
|
+
<a name='L45'></a><a href='#L45'>45</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">3x</span>
|
|
105
105
|
<span class="cline-any cline-neutral"> </span>
|
|
106
106
|
<span class="cline-any cline-neutral"> </span>
|
|
107
107
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -133,6 +133,8 @@
|
|
|
133
133
|
<span class="cline-any cline-yes">38x</span>
|
|
134
134
|
<span class="cline-any cline-neutral"> </span>
|
|
135
135
|
<span class="cline-any cline-neutral"> </span>
|
|
136
|
+
<span class="cline-any cline-no"> </span>
|
|
137
|
+
<span class="cline-any cline-neutral"> </span>
|
|
136
138
|
<span class="cline-any cline-neutral"> </span>
|
|
137
139
|
<span class="cline-any cline-yes">14x</span>
|
|
138
140
|
<span class="cline-any cline-no"> </span>
|
|
@@ -144,12 +146,11 @@
|
|
|
144
146
|
<span class="cline-any cline-neutral"> </span>
|
|
145
147
|
<span class="cline-any cline-neutral"> </span>
|
|
146
148
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { action, makeObservable, observable } from 'mobx';
|
|
147
|
-
import {
|
|
148
|
-
import { IValueModel } from './
|
|
149
|
+
import { IResetableModel } from 'viewModels';
|
|
150
|
+
import { ILabel, IValueModel } from './types';
|
|
149
151
|
|
|
150
|
-
export interface IFlagModel extends IValueModel<boolean>
|
|
152
|
+
export interface IFlagModel extends IValueModel<boolean>, IResetableModel {
|
|
151
153
|
toggle(): void;
|
|
152
|
-
reset(): void;
|
|
153
154
|
}
|
|
154
155
|
|
|
155
156
|
export type IFlagModelReadonly = {
|
|
@@ -175,6 +176,8 @@ export class FlagModel implements IFlagModel, IFlagModelReadonly {
|
|
|
175
176
|
set value(value: boolean) {
|
|
176
177
|
this._value = value;
|
|
177
178
|
}
|
|
179
|
+
|
|
180
|
+
<span class="fstat-no" title="function not covered" > get i</span>sDefault() { <span class="cstat-no" title="statement not covered" >return this._value === false; </span>}
|
|
178
181
|
|
|
179
182
|
@action
|
|
180
183
|
toggle = <span class="fstat-no" title="function not covered" >() =</span>> {
|
|
@@ -193,7 +196,7 @@ export class FlagModel implements IFlagModel, IFlagModelReadonly {
|
|
|
193
196
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
194
197
|
Code coverage generated by
|
|
195
198
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
196
|
-
at
|
|
199
|
+
at Mon Nov 29 2021 07:49:53 GMT+0000 (Coordinated Universal Time)
|
|
197
200
|
</div>
|
|
198
201
|
</div>
|
|
199
202
|
<script src="../../prettify.js"></script>
|
|
@@ -25,14 +25,14 @@
|
|
|
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'>6/6</span>
|
|
29
29
|
</div>
|
|
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'>0/
|
|
35
|
+
<span class='fraction'>0/2</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
47
|
<span class="strong">100% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>6/6</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -76,20 +76,14 @@
|
|
|
76
76
|
<a name='L17'></a><a href='#L17'>17</a>
|
|
77
77
|
<a name='L18'></a><a href='#L18'>18</a>
|
|
78
78
|
<a name='L19'></a><a href='#L19'>19</a>
|
|
79
|
-
<a name='L20'></a><a href='#L20'>20</a>
|
|
80
|
-
<
|
|
81
|
-
<a name='L22'></a><a href='#L22'>22</a>
|
|
82
|
-
<a name='L23'></a><a href='#L23'>23</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
83
|
-
<span class="cline-any cline-neutral"> </span>
|
|
84
|
-
<span class="cline-any cline-neutral"> </span>
|
|
85
|
-
<span class="cline-any cline-neutral"> </span>
|
|
79
|
+
<a name='L20'></a><a href='#L20'>20</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
|
|
80
|
+
<span class="cline-any cline-yes">2x</span>
|
|
86
81
|
<span class="cline-any cline-neutral"> </span>
|
|
87
82
|
<span class="cline-any cline-neutral"> </span>
|
|
88
83
|
<span class="cline-any cline-neutral"> </span>
|
|
89
84
|
<span class="cline-any cline-neutral"> </span>
|
|
90
85
|
<span class="cline-any cline-neutral"> </span>
|
|
91
|
-
<span class="cline-any cline-
|
|
92
|
-
<span class="cline-any cline-yes">1x</span>
|
|
86
|
+
<span class="cline-any cline-yes">2x</span>
|
|
93
87
|
<span class="cline-any cline-neutral"> </span>
|
|
94
88
|
<span class="cline-any cline-neutral"> </span>
|
|
95
89
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -101,26 +95,23 @@
|
|
|
101
95
|
<span class="cline-any cline-yes">9x</span>
|
|
102
96
|
<span class="cline-any cline-neutral"> </span>
|
|
103
97
|
<span class="cline-any cline-neutral"> </span>
|
|
104
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
readonly label: T;
|
|
108
|
-
}
|
|
98
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { Getter } from '../types';
|
|
99
|
+
import { FlagModel, IFlagModel, IFlagModelReadonly } from './FlagModel';
|
|
100
|
+
import { ILabel } from './labeled';
|
|
109
101
|
|
|
110
|
-
export
|
|
111
|
-
|
|
112
|
-
}
|
|
102
|
+
export type ILabeledFlagModel<T = string> = ILabel<T> & IFlagModel;
|
|
103
|
+
export type ILabeledFlagModelReadonly<T = string> = ILabel<T> & IFlagModelReadonly;
|
|
113
104
|
|
|
114
105
|
export class LabeledFlagModel<T = string> extends FlagModel implements ILabeledFlagModelReadonly<T>, ILabeledFlagModel<T> {
|
|
115
|
-
private _label: T
|
|
106
|
+
private readonly _label: Getter<T>;
|
|
116
107
|
|
|
117
|
-
constructor(label: T) {
|
|
118
|
-
super();
|
|
108
|
+
constructor(label: Getter<T> = <span class="branch-0 cbranch-no" title="branch not covered" >null,</span> initial = <span class="branch-0 cbranch-no" title="branch not covered" >false)</span> {
|
|
109
|
+
super(initial);
|
|
119
110
|
this._label = label;
|
|
120
111
|
}
|
|
121
112
|
|
|
122
113
|
get label() {
|
|
123
|
-
return this._label;
|
|
114
|
+
return Getter.getValue(this._label);
|
|
124
115
|
}
|
|
125
116
|
}
|
|
126
117
|
</pre></td></tr></table></pre>
|
|
@@ -130,7 +121,7 @@ export class LabeledFlagModel<T = string> extends FlagModel implements ILa
|
|
|
130
121
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
131
122
|
Code coverage generated by
|
|
132
123
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
133
|
-
at
|
|
124
|
+
at Sun Nov 21 2021 10:41:54 GMT+0000 (Coordinated Universal Time)
|
|
134
125
|
</div>
|
|
135
126
|
</div>
|
|
136
127
|
<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">47.
|
|
26
|
+
<span class="strong">47.47% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>47/99</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">6.25% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>1/
|
|
35
|
+
<span class='fraction'>1/16</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">20% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>8/
|
|
42
|
+
<span class='fraction'>8/40</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">49.
|
|
47
|
+
<span class="strong">49.38% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>40/81</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -211,7 +211,14 @@
|
|
|
211
211
|
<a name='L152'></a><a href='#L152'>152</a>
|
|
212
212
|
<a name='L153'></a><a href='#L153'>153</a>
|
|
213
213
|
<a name='L154'></a><a href='#L154'>154</a>
|
|
214
|
-
<a name='L155'></a><a href='#L155'>155</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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
215
222
|
<span class="cline-any cline-yes">1x</span>
|
|
216
223
|
<span class="cline-any cline-yes">1x</span>
|
|
217
224
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -220,6 +227,8 @@
|
|
|
220
227
|
<span class="cline-any cline-neutral"> </span>
|
|
221
228
|
<span class="cline-any cline-yes">1x</span>
|
|
222
229
|
<span class="cline-any cline-neutral"> </span>
|
|
230
|
+
<span class="cline-any cline-yes">1x</span>
|
|
231
|
+
<span class="cline-any cline-neutral"> </span>
|
|
223
232
|
<span class="cline-any cline-neutral"> </span>
|
|
224
233
|
<span class="cline-any cline-yes">3x</span>
|
|
225
234
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -270,6 +279,11 @@
|
|
|
270
279
|
<span class="cline-any cline-no"> </span>
|
|
271
280
|
<span class="cline-any cline-neutral"> </span>
|
|
272
281
|
<span class="cline-any cline-no"> </span>
|
|
282
|
+
<span class="cline-any cline-no"> </span>
|
|
283
|
+
<span class="cline-any cline-no"> </span>
|
|
284
|
+
<span class="cline-any cline-neutral"> </span>
|
|
285
|
+
<span class="cline-any cline-neutral"> </span>
|
|
286
|
+
<span class="cline-any cline-yes">1x</span>
|
|
273
287
|
<span class="cline-any cline-neutral"> </span>
|
|
274
288
|
<span class="cline-any cline-no"> </span>
|
|
275
289
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -369,10 +383,12 @@
|
|
|
369
383
|
import { action, computed, makeObservable, observable, reaction } from 'mobx';
|
|
370
384
|
import { FlagModel, ILabeledFlagModel } from './FlagModel';
|
|
371
385
|
import { ValidatableModel } from './Validatable';
|
|
372
|
-
import { IValueModel } from './
|
|
386
|
+
import { IValueModel } from './types';
|
|
373
387
|
import { withLabel } from './wrappers';
|
|
388
|
+
import { ICountableModel, IResetableModel } from 'viewModels';
|
|
389
|
+
import { arraysCompareDistinct } from '../math';
|
|
374
390
|
|
|
375
|
-
export class MultiSelect<T = any> extends ValidatableModel<ReadonlyArray<T>> implements IValueModel<readonly string[]>
|
|
391
|
+
export class MultiSelect<T = any> extends ValidatableModel<ReadonlyArray<T>> implements IValueModel<readonly string[]>, IResetableModel, ICountableModel {
|
|
376
392
|
|
|
377
393
|
@observable
|
|
378
394
|
private readonly _indexes = new Set<number>();
|
|
@@ -423,7 +439,12 @@ export class MultiSelect<T = any> extends ValidatableModel<ReadonlyArra
|
|
|
423
439
|
isIndexSelected(index: number) { return this._indexes.has(index); }
|
|
424
440
|
<span class="fstat-no" title="function not covered" > isValueSelected(</span>value: string) { <span class="cstat-no" title="statement not covered" >return this.values.includes(value); </span>}
|
|
425
441
|
|
|
426
|
-
<span class="fstat-no" title="function not covered" > get
|
|
442
|
+
<span class="fstat-no" title="function not covered" > get c</span>ount() { <span class="cstat-no" title="statement not covered" >return this._items.length; </span>}
|
|
443
|
+
<span class="fstat-no" title="function not covered" > get s</span>electedCount() { <span class="cstat-no" title="statement not covered" >return this._indexes.size; </span>}
|
|
444
|
+
<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>}
|
|
445
|
+
|
|
446
|
+
@computed
|
|
447
|
+
<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>}
|
|
427
448
|
|
|
428
449
|
<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>}
|
|
429
450
|
|
|
@@ -526,7 +547,7 @@ export class MultiSelectString<T extends string = string> extends MultiSel
|
|
|
526
547
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
527
548
|
Code coverage generated by
|
|
528
549
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
529
|
-
at
|
|
550
|
+
at Mon Nov 29 2021 07:49:53 GMT+0000 (Coordinated Universal Time)
|
|
530
551
|
</div>
|
|
531
552
|
</div>
|
|
532
553
|
<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">80.95% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>17/
|
|
28
|
+
<span class='fraction'>17/21</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -37,16 +37,16 @@
|
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">42.86% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>3/
|
|
42
|
+
<span class='fraction'>3/7</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">86.67% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>13/
|
|
49
|
+
<span class='fraction'>13/15</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -93,7 +93,11 @@
|
|
|
93
93
|
<a name='L34'></a><a href='#L34'>34</a>
|
|
94
94
|
<a name='L35'></a><a href='#L35'>35</a>
|
|
95
95
|
<a name='L36'></a><a href='#L36'>36</a>
|
|
96
|
-
<a name='L37'></a><a href='#L37'>37</a
|
|
96
|
+
<a name='L37'></a><a href='#L37'>37</a>
|
|
97
|
+
<a name='L38'></a><a href='#L38'>38</a>
|
|
98
|
+
<a name='L39'></a><a href='#L39'>39</a>
|
|
99
|
+
<a name='L40'></a><a href='#L40'>40</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
100
|
+
<span class="cline-any cline-neutral"> </span>
|
|
97
101
|
<span class="cline-any cline-neutral"> </span>
|
|
98
102
|
<span class="cline-any cline-neutral"> </span>
|
|
99
103
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -116,6 +120,8 @@
|
|
|
116
120
|
<span class="cline-any cline-yes">2x</span>
|
|
117
121
|
<span class="cline-any cline-yes">1x</span>
|
|
118
122
|
<span class="cline-any cline-neutral"> </span>
|
|
123
|
+
<span class="cline-any cline-no"> </span>
|
|
124
|
+
<span class="cline-any cline-neutral"> </span>
|
|
119
125
|
<span class="cline-any cline-neutral"> </span>
|
|
120
126
|
<span class="cline-any cline-yes">3x</span>
|
|
121
127
|
<span class="cline-any cline-no"> </span>
|
|
@@ -130,9 +136,10 @@
|
|
|
130
136
|
<span class="cline-any cline-neutral"> </span>
|
|
131
137
|
<span class="cline-any cline-yes">1x</span>
|
|
132
138
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { action, makeObservable, observable } from 'mobx';
|
|
133
|
-
import {
|
|
139
|
+
import { IResetableModel } from 'viewModels';
|
|
140
|
+
import { IValueModel } from './types';
|
|
134
141
|
|
|
135
|
-
export interface INumberModel {
|
|
142
|
+
export interface INumberModel extends IResetableModel {
|
|
136
143
|
value: number;
|
|
137
144
|
}
|
|
138
145
|
|
|
@@ -151,6 +158,8 @@ export class NumberModel implements INumberModel, IValueModel<number> {
|
|
|
151
158
|
|
|
152
159
|
get value() { return this._value; }
|
|
153
160
|
set value(v: number) { this._value = v; }
|
|
161
|
+
|
|
162
|
+
<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>}
|
|
154
163
|
|
|
155
164
|
@action
|
|
156
165
|
reset = <span class="fstat-no" title="function not covered" >() =</span>> {
|
|
@@ -172,7 +181,7 @@ export default NumberModel;
|
|
|
172
181
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
173
182
|
Code coverage generated by
|
|
174
183
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
175
|
-
at
|
|
184
|
+
at Mon Nov 29 2021 07:49:53 GMT+0000 (Coordinated Universal Time)
|
|
176
185
|
</div>
|
|
177
186
|
</div>
|
|
178
187
|
<script src="../../prettify.js"></script>
|