@zajno/common 1.5.2 → 1.5.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/coverage/clover.xml +45 -37
- package/coverage/coverage-final.json +3 -3
- package/coverage/lcov-report/async/index.html +1 -1
- package/coverage/lcov-report/async/timeout.ts.html +12 -12
- package/coverage/lcov-report/index.html +19 -19
- 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/async/timeout.ts.html +10 -10
- package/coverage/lcov-report/src/cache.ts.html +1 -1
- package/coverage/lcov-report/src/dates/calc.ts.html +1 -1
- package/coverage/lcov-report/src/dates/convert.ts.html +1 -1
- package/coverage/lcov-report/src/dates/datex.ts.html +1 -1
- package/coverage/lcov-report/src/dates/format.ts.html +1 -1
- package/coverage/lcov-report/src/dates/index.html +1 -1
- package/coverage/lcov-report/src/dates/index.ts.html +1 -1
- package/coverage/lcov-report/src/dates/parse.ts.html +1 -1
- package/coverage/lcov-report/src/dates/period.ts.html +1 -1
- package/coverage/lcov-report/src/dates/shift.ts.html +1 -1
- package/coverage/lcov-report/src/dates/types.ts.html +1 -1
- package/coverage/lcov-report/src/dates/yearDate.ts.html +1 -1
- package/coverage/lcov-report/src/disposer.ts.html +1 -1
- package/coverage/lcov-report/src/enumHelper.ts.html +1 -1
- package/coverage/lcov-report/src/event.ts.html +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 +1 -1
- 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 +1 -1
- 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 +1 -1
- package/coverage/lcov-report/src/math/index.ts.html +1 -1
- 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/tempoCache.ts.html +1 -1
- package/coverage/lcov-report/src/transitionObserver.ts.html +1 -1
- package/coverage/lcov-report/src/types.ts.html +1 -1
- package/coverage/lcov-report/src/validation/ValidationErrors.ts.html +1 -1
- package/coverage/lcov-report/src/validation/creditCard.ts.html +1 -1
- package/coverage/lcov-report/src/validation/helpers.ts.html +1 -1
- package/coverage/lcov-report/src/validation/index.html +1 -1
- package/coverage/lcov-report/src/validation/index.ts.html +1 -1
- package/coverage/lcov-report/src/validation/types.ts.html +1 -1
- package/coverage/lcov-report/src/validation/validators.ts.html +1 -1
- package/coverage/lcov-report/src/validation/wrappers.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/CommonModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/FlagModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/LoadingModel.ts.html +106 -34
- package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/NumberModel.ts.html +13 -13
- package/coverage/lcov-report/src/viewModels/SelectModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/TextModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/Validatable.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/index.html +19 -19
- package/coverage/lcov-report/src/viewModels/wrappers.ts.html +1 -1
- package/coverage/lcov-report/validation/index.html +1 -1
- package/coverage/lcov-report/validation/index.ts.html +6 -6
- package/coverage/lcov-report/viewModels/CommonModel.ts.html +1 -1
- package/coverage/lcov-report/viewModels/LoadingModel.ts.html +129 -21
- package/coverage/lcov-report/viewModels/SelectModel.ts.html +54 -21
- package/coverage/lcov-report/viewModels/TextModel.ts.html +1 -1
- package/coverage/lcov-report/viewModels/index.html +23 -83
- package/coverage/lcov.info +85 -64
- package/lib/viewModels/LoadingModel.d.ts +12 -3
- package/lib/viewModels/LoadingModel.d.ts.map +1 -1
- package/lib/viewModels/LoadingModel.js +33 -16
- package/lib/viewModels/LoadingModel.js.map +1 -1
- package/lib/viewModels/types.d.ts +4 -1
- package/lib/viewModels/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/viewModels/LoadingModel.ts +41 -17
- package/src/viewModels/__tests__/common.test.ts +27 -8
- package/src/viewModels/types.ts +5 -1
|
@@ -613,7 +613,7 @@ export function <span class="fstat-no" title="function not covered" >waitFor<
|
|
|
613
613
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
614
614
|
Code coverage generated by
|
|
615
615
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
616
|
-
at
|
|
616
|
+
at Sat Jun 04 2022 17:04:51 GMT+0000 (Coordinated Universal Time)
|
|
617
617
|
</div>
|
|
618
618
|
</div>
|
|
619
619
|
<script src="../prettify.js"></script>
|
|
@@ -154,7 +154,7 @@ export type TypedKeys<T extends Object, K> = {
|
|
|
154
154
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
155
155
|
Code coverage generated by
|
|
156
156
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
157
|
-
at
|
|
157
|
+
at Sat Jun 04 2022 17:04:51 GMT+0000 (Coordinated Universal Time)
|
|
158
158
|
</div>
|
|
159
159
|
</div>
|
|
160
160
|
<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 Sat Jun 04 2022 17:04:51 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 Sat Jun 04 2022 17:04:51 GMT+0000 (Coordinated Universal Time)
|
|
143
143
|
</div>
|
|
144
144
|
</div>
|
|
145
145
|
<script src="../../prettify.js"></script>
|
|
@@ -205,7 +205,7 @@ export function <span class="fstat-no" title="function not covered" >validateObj
|
|
|
205
205
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
206
206
|
Code coverage generated by
|
|
207
207
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
208
|
-
at
|
|
208
|
+
at Sat Jun 04 2022 17:04:51 GMT+0000 (Coordinated Universal Time)
|
|
209
209
|
</div>
|
|
210
210
|
</div>
|
|
211
211
|
<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 Sat Jun 04 2022 17:04:51 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 Sat Jun 04 2022 17:04:51 GMT+0000 (Coordinated Universal Time)
|
|
95
95
|
</div>
|
|
96
96
|
</div>
|
|
97
97
|
<script src="../../prettify.js"></script>
|
|
@@ -118,7 +118,7 @@ export class ValidationError<TErrors = ValidationErrors> extends Error {
|
|
|
118
118
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
119
119
|
Code coverage generated by
|
|
120
120
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
121
|
-
at
|
|
121
|
+
at Sat Jun 04 2022 17:04:51 GMT+0000 (Coordinated Universal Time)
|
|
122
122
|
</div>
|
|
123
123
|
</div>
|
|
124
124
|
<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 Sat Jun 04 2022 17:04:51 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 Sat Jun 04 2022 17:04:51 GMT+0000 (Coordinated Universal Time)
|
|
146
146
|
</div>
|
|
147
147
|
</div>
|
|
148
148
|
<script src="../../prettify.js"></script>
|
|
@@ -199,7 +199,7 @@ export class CommonModel<T = any> extends ValidatableModel<T> {
|
|
|
199
199
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
200
200
|
Code coverage generated by
|
|
201
201
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
202
|
-
at
|
|
202
|
+
at Sat Jun 04 2022 17:04:51 GMT+0000 (Coordinated Universal Time)
|
|
203
203
|
</div>
|
|
204
204
|
</div>
|
|
205
205
|
<script src="../../prettify.js"></script>
|
|
@@ -274,7 +274,7 @@ export class FlagModel implements IFlagModel, IFlagModelReadonly {
|
|
|
274
274
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
275
275
|
Code coverage generated by
|
|
276
276
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
277
|
-
at
|
|
277
|
+
at Sat Jun 04 2022 17:04:51 GMT+0000 (Coordinated Universal Time)
|
|
278
278
|
</div>
|
|
279
279
|
</div>
|
|
280
280
|
<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">95.24% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>20/21</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">90% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>9/10</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'>6/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">100% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>20/20</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>
|
|
@@ -85,60 +85,132 @@
|
|
|
85
85
|
<a name='L26'></a><a href='#L26'>26</a>
|
|
86
86
|
<a name='L27'></a><a href='#L27'>27</a>
|
|
87
87
|
<a name='L28'></a><a href='#L28'>28</a>
|
|
88
|
-
<a name='L29'></a><a href='#L29'>29</a
|
|
88
|
+
<a name='L29'></a><a href='#L29'>29</a>
|
|
89
|
+
<a name='L30'></a><a href='#L30'>30</a>
|
|
90
|
+
<a name='L31'></a><a href='#L31'>31</a>
|
|
91
|
+
<a name='L32'></a><a href='#L32'>32</a>
|
|
92
|
+
<a name='L33'></a><a href='#L33'>33</a>
|
|
93
|
+
<a name='L34'></a><a href='#L34'>34</a>
|
|
94
|
+
<a name='L35'></a><a href='#L35'>35</a>
|
|
95
|
+
<a name='L36'></a><a href='#L36'>36</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>
|
|
100
|
+
<a name='L41'></a><a href='#L41'>41</a>
|
|
101
|
+
<a name='L42'></a><a href='#L42'>42</a>
|
|
102
|
+
<a name='L43'></a><a href='#L43'>43</a>
|
|
103
|
+
<a name='L44'></a><a href='#L44'>44</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>
|
|
111
|
+
<a name='L52'></a><a href='#L52'>52</a>
|
|
112
|
+
<a name='L53'></a><a href='#L53'>53</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
113
|
+
<span class="cline-any cline-neutral"> </span>
|
|
89
114
|
<span class="cline-any cline-neutral"> </span>
|
|
90
115
|
<span class="cline-any cline-yes">1x</span>
|
|
91
116
|
<span class="cline-any cline-neutral"> </span>
|
|
92
|
-
<span class="cline-any cline-yes">
|
|
117
|
+
<span class="cline-any cline-yes">2x</span>
|
|
93
118
|
<span class="cline-any cline-neutral"> </span>
|
|
119
|
+
<span class="cline-any cline-yes">12x</span>
|
|
94
120
|
<span class="cline-any cline-neutral"> </span>
|
|
121
|
+
<span class="cline-any cline-yes">5x</span>
|
|
95
122
|
<span class="cline-any cline-neutral"> </span>
|
|
123
|
+
<span class="cline-any cline-yes">4x</span>
|
|
124
|
+
<span class="cline-any cline-yes">2x</span>
|
|
125
|
+
<span class="cline-any cline-neutral"> </span>
|
|
126
|
+
<span class="cline-any cline-yes">2x</span>
|
|
127
|
+
<span class="cline-any cline-neutral"> </span>
|
|
128
|
+
<span class="cline-any cline-neutral"> </span>
|
|
129
|
+
<span class="cline-any cline-neutral"> </span>
|
|
130
|
+
<span class="cline-any cline-neutral"> </span>
|
|
131
|
+
<span class="cline-any cline-neutral"> </span>
|
|
132
|
+
<span class="cline-any cline-neutral"> </span>
|
|
133
|
+
<span class="cline-any cline-neutral"> </span>
|
|
134
|
+
<span class="cline-any cline-neutral"> </span>
|
|
135
|
+
<span class="cline-any cline-neutral"> </span>
|
|
136
|
+
<span class="cline-any cline-yes">4x</span>
|
|
137
|
+
<span class="cline-any cline-neutral"> </span>
|
|
138
|
+
<span class="cline-any cline-neutral"> </span>
|
|
139
|
+
<span class="cline-any cline-yes">2x</span>
|
|
96
140
|
<span class="cline-any cline-neutral"> </span>
|
|
97
141
|
<span class="cline-any cline-neutral"> </span>
|
|
98
142
|
<span class="cline-any cline-neutral"> </span>
|
|
99
|
-
<span class="cline-any cline-yes">1x</span>
|
|
100
|
-
<span class="cline-any cline-no"> </span>
|
|
101
|
-
<span class="cline-any cline-no"> </span>
|
|
102
143
|
<span class="cline-any cline-neutral"> </span>
|
|
103
|
-
<span class="cline-any cline-no"> </span>
|
|
104
144
|
<span class="cline-any cline-neutral"> </span>
|
|
105
145
|
<span class="cline-any cline-neutral"> </span>
|
|
106
|
-
<span class="cline-any cline-yes">1x</span>
|
|
107
146
|
<span class="cline-any cline-neutral"> </span>
|
|
108
147
|
<span class="cline-any cline-yes">1x</span>
|
|
109
|
-
<span class="cline-any cline-yes">
|
|
148
|
+
<span class="cline-any cline-yes">4x</span>
|
|
149
|
+
<span class="cline-any cline-yes">2x</span>
|
|
110
150
|
<span class="cline-any cline-yes">1x</span>
|
|
111
151
|
<span class="cline-any cline-neutral"> </span>
|
|
112
152
|
<span class="cline-any cline-yes">1x</span>
|
|
113
153
|
<span class="cline-any cline-neutral"> </span>
|
|
114
154
|
<span class="cline-any cline-neutral"> </span>
|
|
155
|
+
<span class="cline-any cline-yes">2x</span>
|
|
156
|
+
<span class="cline-any cline-neutral"> </span>
|
|
157
|
+
<span class="cline-any cline-yes">2x</span>
|
|
158
|
+
<span class="cline-any cline-yes">2x</span>
|
|
159
|
+
<span class="cline-any cline-yes">2x</span>
|
|
160
|
+
<span class="cline-any cline-neutral"> </span>
|
|
161
|
+
<span class="cline-any cline-yes">2x</span>
|
|
162
|
+
<span class="cline-any cline-neutral"> </span>
|
|
115
163
|
<span class="cline-any cline-neutral"> </span>
|
|
116
164
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { NumberModel } from './NumberModel';
|
|
165
|
+
import { IResetableModel, IValueModel } from './types';
|
|
166
|
+
|
|
167
|
+
export class LoadingModel implements IValueModel<boolean>, IResetableModel {
|
|
117
168
|
|
|
118
|
-
|
|
169
|
+
private readonly _number = new NumberModel(0);
|
|
119
170
|
|
|
120
|
-
public get isLoading() { return this.value > 0; }
|
|
171
|
+
public get isLoading() { return this._number.value > 0; }
|
|
172
|
+
|
|
173
|
+
public get value(): boolean { return this.isLoading; }
|
|
174
|
+
public set value(v: boolean) {
|
|
175
|
+
if (v) {
|
|
176
|
+
this._number.increment();
|
|
177
|
+
} else {
|
|
178
|
+
this._number.decrement();
|
|
179
|
+
}
|
|
180
|
+
}
|
|
121
181
|
|
|
122
182
|
public async useLoading<T>(cb: () => (T | Promise<T>)): Promise<T>;
|
|
123
183
|
public async useLoading<T>(cb: () => (T | Promise<T>), exclusive: false): Promise<T>;
|
|
124
|
-
public async useLoading<T>(cb: () => (T | Promise<T>), exclusive: true
|
|
184
|
+
public async useLoading<T>(cb: () => (T | Promise<T>), exclusive: true): Promise<T | false>;
|
|
185
|
+
public async useLoading<T>(cb: () => (T | Promise<T>), exclusive: 'throw'): Promise<T>;
|
|
125
186
|
|
|
126
|
-
public
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
}
|
|
187
|
+
public useLoading<T>(cb: () => (T | Promise<T>), exclusive: boolean | 'throw' = false): Promise<T | false> {
|
|
188
|
+
return withLoading(this, cb, exclusive as any);
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
public reset = <span class="fstat-no" title="function not covered" >() =</span>> <span class="cstat-no" title="statement not covered" >this._number.reset();</span>
|
|
192
|
+
}
|
|
133
193
|
|
|
134
|
-
|
|
194
|
+
export function withLoading<T>(model: IValueModel<boolean>, cb: () => (T | Promise<T>)): Promise<T>;
|
|
195
|
+
export function withLoading<T>(model: IValueModel<boolean>, cb: () => (T | Promise<T>), exclusive: false): Promise<T>;
|
|
196
|
+
export function withLoading<T>(model: IValueModel<boolean>, cb: () => (T | Promise<T>), exclusive: true): Promise<T | false>;
|
|
197
|
+
export function withLoading<T>(model: IValueModel<boolean>, cb: () => (T | Promise<T>), exclusive: 'throw'): Promise<T>;
|
|
135
198
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
this.decrement();
|
|
199
|
+
export async function withLoading<T>(this: void, model: IValueModel<boolean>, cb: () => (T | Promise<T>), exclusive: boolean | 'throw' = <span class="branch-0 cbranch-no" title="branch not covered" >false)</span>: Promise<T | false> {
|
|
200
|
+
if (exclusive && model.value) {
|
|
201
|
+
if (exclusive === 'throw') {
|
|
202
|
+
throw new Error('Operation cannot be started because another one is in progress already.');
|
|
141
203
|
}
|
|
204
|
+
return false;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
model.value = true;
|
|
208
|
+
|
|
209
|
+
try {
|
|
210
|
+
const res = await cb();
|
|
211
|
+
return res;
|
|
212
|
+
} finally {
|
|
213
|
+
model.value = false;
|
|
142
214
|
}
|
|
143
215
|
}
|
|
144
216
|
</pre></td></tr></table></pre>
|
|
@@ -148,7 +220,7 @@ export class LoadingModel extends NumberModel {
|
|
|
148
220
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
149
221
|
Code coverage generated by
|
|
150
222
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
151
|
-
at
|
|
223
|
+
at Sat Jun 04 2022 17:04:51 GMT+0000 (Coordinated Universal Time)
|
|
152
224
|
</div>
|
|
153
225
|
</div>
|
|
154
226
|
<script src="../../prettify.js"></script>
|
|
@@ -598,7 +598,7 @@ export class MultiSelectString<T extends string = string> extends MultiSel
|
|
|
598
598
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
599
599
|
Code coverage generated by
|
|
600
600
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
601
|
-
at
|
|
601
|
+
at Sat Jun 04 2022 17:04:51 GMT+0000 (Coordinated Universal Time)
|
|
602
602
|
</div>
|
|
603
603
|
</div>
|
|
604
604
|
<script src="../../prettify.js"></script>
|
|
@@ -118,42 +118,42 @@
|
|
|
118
118
|
<span class="cline-any cline-yes">3x</span>
|
|
119
119
|
<span class="cline-any cline-neutral"> </span>
|
|
120
120
|
<span class="cline-any cline-neutral"> </span>
|
|
121
|
-
<span class="cline-any cline-yes">
|
|
121
|
+
<span class="cline-any cline-yes">9x</span>
|
|
122
122
|
<span class="cline-any cline-neutral"> </span>
|
|
123
|
-
<span class="cline-any cline-yes">
|
|
123
|
+
<span class="cline-any cline-yes">9x</span>
|
|
124
124
|
<span class="cline-any cline-neutral"> </span>
|
|
125
125
|
<span class="cline-any cline-neutral"> </span>
|
|
126
|
-
<span class="cline-any cline-yes">
|
|
126
|
+
<span class="cline-any cline-yes">9x</span>
|
|
127
127
|
<span class="cline-any cline-neutral"> </span>
|
|
128
128
|
<span class="cline-any cline-neutral"> </span>
|
|
129
129
|
<span class="cline-any cline-neutral"> </span>
|
|
130
130
|
<span class="cline-any cline-neutral"> </span>
|
|
131
131
|
<span class="cline-any cline-neutral"> </span>
|
|
132
132
|
<span class="cline-any cline-neutral"> </span>
|
|
133
|
-
<span class="cline-any cline-yes">
|
|
134
|
-
<span class="cline-any cline-yes">
|
|
133
|
+
<span class="cline-any cline-yes">9x</span>
|
|
134
|
+
<span class="cline-any cline-yes">9x</span>
|
|
135
135
|
<span class="cline-any cline-neutral"> </span>
|
|
136
136
|
<span class="cline-any cline-neutral"> </span>
|
|
137
|
-
<span class="cline-any cline-yes">
|
|
138
|
-
<span class="cline-any cline-yes">
|
|
137
|
+
<span class="cline-any cline-yes">23x</span>
|
|
138
|
+
<span class="cline-any cline-yes">10x</span>
|
|
139
139
|
<span class="cline-any cline-neutral"> </span>
|
|
140
140
|
<span class="cline-any cline-neutral"> </span>
|
|
141
|
-
<span class="cline-any cline-yes">
|
|
142
|
-
<span class="cline-any cline-yes">
|
|
141
|
+
<span class="cline-any cline-yes">9x</span>
|
|
142
|
+
<span class="cline-any cline-yes">12x</span>
|
|
143
143
|
<span class="cline-any cline-neutral"> </span>
|
|
144
144
|
<span class="cline-any cline-neutral"> </span>
|
|
145
145
|
<span class="cline-any cline-no"> </span>
|
|
146
146
|
<span class="cline-any cline-neutral"> </span>
|
|
147
147
|
<span class="cline-any cline-neutral"> </span>
|
|
148
|
-
<span class="cline-any cline-yes">
|
|
148
|
+
<span class="cline-any cline-yes">9x</span>
|
|
149
149
|
<span class="cline-any cline-no"> </span>
|
|
150
150
|
<span class="cline-any cline-neutral"> </span>
|
|
151
151
|
<span class="cline-any cline-neutral"> </span>
|
|
152
152
|
<span class="cline-any cline-neutral"> </span>
|
|
153
|
-
<span class="cline-any cline-yes">
|
|
153
|
+
<span class="cline-any cline-yes">9x</span>
|
|
154
154
|
<span class="cline-any cline-neutral"> </span>
|
|
155
155
|
<span class="cline-any cline-neutral"> </span>
|
|
156
|
-
<span class="cline-any cline-yes">
|
|
156
|
+
<span class="cline-any cline-yes">9x</span>
|
|
157
157
|
<span class="cline-any cline-neutral"> </span>
|
|
158
158
|
<span class="cline-any cline-neutral"> </span>
|
|
159
159
|
<span class="cline-any cline-yes">3x</span>
|
|
@@ -214,7 +214,7 @@ export default NumberModel;
|
|
|
214
214
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
215
215
|
Code coverage generated by
|
|
216
216
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
217
|
-
at
|
|
217
|
+
at Sat Jun 04 2022 17:04:51 GMT+0000 (Coordinated Universal Time)
|
|
218
218
|
</div>
|
|
219
219
|
</div>
|
|
220
220
|
<script src="../../prettify.js"></script>
|
|
@@ -520,7 +520,7 @@ export class SelectString<T extends string = string> extends Select<T&g
|
|
|
520
520
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
521
521
|
Code coverage generated by
|
|
522
522
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
523
|
-
at
|
|
523
|
+
at Sat Jun 04 2022 17:04:51 GMT+0000 (Coordinated Universal Time)
|
|
524
524
|
</div>
|
|
525
525
|
</div>
|
|
526
526
|
<script src="../../prettify.js"></script>
|
|
@@ -445,7 +445,7 @@ export class TextInputVM extends ValidatableModel<string> implements IValu
|
|
|
445
445
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
446
446
|
Code coverage generated by
|
|
447
447
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
448
|
-
at
|
|
448
|
+
at Sat Jun 04 2022 17:04:51 GMT+0000 (Coordinated Universal Time)
|
|
449
449
|
</div>
|
|
450
450
|
</div>
|
|
451
451
|
<script src="../../prettify.js"></script>
|
|
@@ -370,7 +370,7 @@ export abstract class ValidatableModel<T = string> {
|
|
|
370
370
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
371
371
|
Code coverage generated by
|
|
372
372
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
373
|
-
at
|
|
373
|
+
at Sat Jun 04 2022 17:04:51 GMT+0000 (Coordinated Universal Time)
|
|
374
374
|
</div>
|
|
375
375
|
</div>
|
|
376
376
|
<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">75.34% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>275/365</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">59.05% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>62/105</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">63.19% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>91/144</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">76.05% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>254/334</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -103,18 +103,18 @@
|
|
|
103
103
|
</tr>
|
|
104
104
|
|
|
105
105
|
<tr>
|
|
106
|
-
<td class="file
|
|
107
|
-
<td data-value="
|
|
108
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
106
|
+
<td class="file high" data-value="LoadingModel.ts"><a href="LoadingModel.ts.html">LoadingModel.ts</a></td>
|
|
107
|
+
<td data-value="95.24" class="pic high">
|
|
108
|
+
<div class="chart"><div class="cover-fill" style="width: 95%"></div><div class="cover-empty" style="width: 5%"></div></div>
|
|
109
109
|
</td>
|
|
110
|
-
<td data-value="
|
|
111
|
-
<td data-value="
|
|
112
|
-
<td data-value="
|
|
113
|
-
<td data-value="
|
|
110
|
+
<td data-value="95.24" class="pct high">95.24%</td>
|
|
111
|
+
<td data-value="21" class="abs high">20/21</td>
|
|
112
|
+
<td data-value="90" class="pct high">90%</td>
|
|
113
|
+
<td data-value="10" class="abs high">9/10</td>
|
|
114
|
+
<td data-value="85.71" class="pct high">85.71%</td>
|
|
115
|
+
<td data-value="7" class="abs high">6/7</td>
|
|
114
116
|
<td data-value="100" class="pct high">100%</td>
|
|
115
|
-
<td data-value="
|
|
116
|
-
<td data-value="75" class="pct medium">75%</td>
|
|
117
|
-
<td data-value="12" class="abs medium">9/12</td>
|
|
117
|
+
<td data-value="20" class="abs high">20/20</td>
|
|
118
118
|
</tr>
|
|
119
119
|
|
|
120
120
|
<tr>
|
|
@@ -215,7 +215,7 @@
|
|
|
215
215
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
216
216
|
Code coverage generated by
|
|
217
217
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
218
|
-
at
|
|
218
|
+
at Sat Jun 04 2022 17:04:51 GMT+0000 (Coordinated Universal Time)
|
|
219
219
|
</div>
|
|
220
220
|
</div>
|
|
221
221
|
<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
|
|
214
|
+
at Sat Jun 04 2022 17:04:51 GMT+0000 (Coordinated Universal Time)
|
|
215
215
|
</div>
|
|
216
216
|
</div>
|
|
217
217
|
<script src="../../prettify.js"></script>
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
96
96
|
Code coverage generated by
|
|
97
97
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
98
|
-
at
|
|
98
|
+
at Sat Jun 04 2022 17:01:00 GMT+0000 (Coordinated Universal Time)
|
|
99
99
|
</div>
|
|
100
100
|
</div>
|
|
101
101
|
<script src="../prettify.js"></script>
|
|
@@ -66,11 +66,11 @@
|
|
|
66
66
|
<a name='L7'></a><a href='#L7'>7</a>
|
|
67
67
|
<a name='L8'></a><a href='#L8'>8</a>
|
|
68
68
|
<a name='L9'></a><a href='#L9'>9</a>
|
|
69
|
-
<a name='L10'></a><a href='#L10'>10</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">
|
|
70
|
-
<span class="cline-any cline-yes">
|
|
71
|
-
<span class="cline-any cline-yes">
|
|
72
|
-
<span class="cline-any cline-yes">
|
|
73
|
-
<span class="cline-any cline-yes">
|
|
69
|
+
<a name='L10'></a><a href='#L10'>10</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">5x</span>
|
|
70
|
+
<span class="cline-any cline-yes">5x</span>
|
|
71
|
+
<span class="cline-any cline-yes">5x</span>
|
|
72
|
+
<span class="cline-any cline-yes">5x</span>
|
|
73
|
+
<span class="cline-any cline-yes">5x</span>
|
|
74
74
|
<span class="cline-any cline-neutral"> </span>
|
|
75
75
|
<span class="cline-any cline-neutral"> </span>
|
|
76
76
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -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 Sat Jun 04 2022 17:01:00 GMT+0000 (Coordinated Universal Time)
|
|
95
95
|
</div>
|
|
96
96
|
</div>
|
|
97
97
|
<script src="../prettify.js"></script>
|
|
@@ -199,7 +199,7 @@ export class CommonModel<T = any> extends ValidatableModel<T> {
|
|
|
199
199
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
200
200
|
Code coverage generated by
|
|
201
201
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
202
|
-
at
|
|
202
|
+
at Sat Jun 04 2022 17:01:00 GMT+0000 (Coordinated Universal Time)
|
|
203
203
|
</div>
|
|
204
204
|
</div>
|
|
205
205
|
<script src="../prettify.js"></script>
|