@zajno/common 1.5.1 → 1.5.4
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 +102 -90
- package/coverage/coverage-final.json +4 -4
- 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 +29 -29
- 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 +19 -19
- 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 +27 -12
- 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 +193 -164
- package/lib/observingCache.d.ts +1 -1
- package/lib/observingCache.d.ts.map +1 -1
- package/lib/observingCache.js +8 -2
- package/lib/observingCache.js.map +1 -1
- package/lib/services/storage/index.d.ts +4 -0
- package/lib/services/storage/index.d.ts.map +1 -1
- package/lib/services/storage/index.js +13 -1
- package/lib/services/storage/index.js.map +1 -1
- 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/observingCache.ts +7 -2
- package/src/services/storage/index.ts +17 -1
- package/src/viewModels/LoadingModel.ts +41 -17
- package/src/viewModels/__tests__/common.test.ts +27 -8
- package/src/viewModels/types.ts +5 -1
|
@@ -847,7 +847,7 @@ export function arrayRepeat<T>(factory: Getter<T>, count = <span cla
|
|
|
847
847
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
848
848
|
Code coverage generated by
|
|
849
849
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
850
|
-
at
|
|
850
|
+
at Fri Jun 10 2022 06:23:59 GMT+0000 (Coordinated Universal Time)
|
|
851
851
|
</div>
|
|
852
852
|
</div>
|
|
853
853
|
<script src="../../prettify.js"></script>
|
|
@@ -271,7 +271,7 @@ export function <span class="fstat-no" title="function not covered" >badRandomSt
|
|
|
271
271
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
272
272
|
Code coverage generated by
|
|
273
273
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
274
|
-
at
|
|
274
|
+
at Fri Jun 10 2022 06:23:59 GMT+0000 (Coordinated Universal Time)
|
|
275
275
|
</div>
|
|
276
276
|
</div>
|
|
277
277
|
<script src="../../prettify.js"></script>
|
|
@@ -124,7 +124,7 @@ export function extendDistribution<T extends keyof any>(count: number, typ
|
|
|
124
124
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
125
125
|
Code coverage generated by
|
|
126
126
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
127
|
-
at
|
|
127
|
+
at Fri Jun 10 2022 06:23:59 GMT+0000 (Coordinated Universal Time)
|
|
128
128
|
</div>
|
|
129
129
|
</div>
|
|
130
130
|
<script src="../../prettify.js"></script>
|
|
@@ -140,7 +140,7 @@
|
|
|
140
140
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
141
141
|
Code coverage generated by
|
|
142
142
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
143
|
-
at
|
|
143
|
+
at Fri Jun 10 2022 06:23:59 GMT+0000 (Coordinated Universal Time)
|
|
144
144
|
</div>
|
|
145
145
|
</div>
|
|
146
146
|
<script src="../../prettify.js"></script>
|
|
@@ -145,7 +145,7 @@ export function format(n: number, digits?: number) {
|
|
|
145
145
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
146
146
|
Code coverage generated by
|
|
147
147
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
148
|
-
at
|
|
148
|
+
at Fri Jun 10 2022 06:23:59 GMT+0000 (Coordinated Universal Time)
|
|
149
149
|
</div>
|
|
150
150
|
</div>
|
|
151
151
|
<script src="../../prettify.js"></script>
|
|
@@ -379,7 +379,7 @@ export class ObserversMap implements IDisposable {
|
|
|
379
379
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
380
380
|
Code coverage generated by
|
|
381
381
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
382
|
-
at
|
|
382
|
+
at Fri Jun 10 2022 06:23:59 GMT+0000 (Coordinated Universal Time)
|
|
383
383
|
</div>
|
|
384
384
|
</div>
|
|
385
385
|
<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">64% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>48/75</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">57.14% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>16/
|
|
35
|
+
<span class='fraction'>16/28</span>
|
|
36
36
|
</div>
|
|
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'>11/
|
|
42
|
+
<span class='fraction'>11/22</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">65.28% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>47/72</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -212,11 +212,17 @@
|
|
|
212
212
|
<a name='L153'></a><a href='#L153'>153</a>
|
|
213
213
|
<a name='L154'></a><a href='#L154'>154</a>
|
|
214
214
|
<a name='L155'></a><a href='#L155'>155</a>
|
|
215
|
-
<a name='L156'></a><a href='#L156'>156</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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
216
221
|
<span class="cline-any cline-yes">1x</span>
|
|
217
222
|
<span class="cline-any cline-yes">1x</span>
|
|
218
223
|
<span class="cline-any cline-yes">1x</span>
|
|
219
224
|
<span class="cline-any cline-neutral"> </span>
|
|
225
|
+
<span class="cline-any cline-yes">1x</span>
|
|
220
226
|
<span class="cline-any cline-neutral"> </span>
|
|
221
227
|
<span class="cline-any cline-neutral"> </span>
|
|
222
228
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -289,6 +295,10 @@
|
|
|
289
295
|
<span class="cline-any cline-neutral"> </span>
|
|
290
296
|
<span class="cline-any cline-no"> </span>
|
|
291
297
|
<span class="cline-any cline-no"> </span>
|
|
298
|
+
<span class="cline-any cline-no"> </span>
|
|
299
|
+
<span class="cline-any cline-no"> </span>
|
|
300
|
+
<span class="cline-any cline-neutral"> </span>
|
|
301
|
+
<span class="cline-any cline-no"> </span>
|
|
292
302
|
<span class="cline-any cline-neutral"> </span>
|
|
293
303
|
<span class="cline-any cline-neutral"> </span>
|
|
294
304
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -372,6 +382,7 @@ import { Disposable } from './disposer';
|
|
|
372
382
|
import { PromiseCache, DeferredGetter } from './cache';
|
|
373
383
|
import { ObserversMap } from './observersMap';
|
|
374
384
|
import { Fields } from './fields';
|
|
385
|
+
import logger from './logger';
|
|
375
386
|
|
|
376
387
|
export type Unsub = () => void;
|
|
377
388
|
export type Fetcher<T> = (key: string, cb: (val: T) => Promise<void> | void) => Unsub | Promise<Unsub>;
|
|
@@ -431,7 +442,7 @@ export class ObservingCache<T> extends Disposable implements IObservingCac
|
|
|
431
442
|
<span class="cstat-no" title="statement not covered" > return this._cache.getCurrent(key, false);</span>
|
|
432
443
|
}
|
|
433
444
|
|
|
434
|
-
get(key: string, overrideStrategy?: ObserveStrategy): DeferredGetter<T> {
|
|
445
|
+
get(key: string, overrideStrategy?: ObserveStrategy, observingStartedPromise?: (p: Promise<void>) => void): DeferredGetter<T> {
|
|
435
446
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (overrideStrategy !== undefined) {
|
|
436
447
|
<span class="cstat-no" title="statement not covered" > this._observeStrategyOverrides[key] = overrideStrategy;</span>
|
|
437
448
|
}
|
|
@@ -443,7 +454,11 @@ export class ObservingCache<T> extends Disposable implements IObservingCac
|
|
|
443
454
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (this._cache.hasKey(key)) {
|
|
444
455
|
// the request has been initiated already
|
|
445
456
|
const timeout = <span class="cstat-no" title="statement not covered" >getObserveTimeout(strategy);</span>
|
|
446
|
-
<span class="cstat-no" title="statement not covered" >
|
|
457
|
+
const promise = <span class="cstat-no" title="statement not covered" >this._observers.enable(key, true, timeout);</span>
|
|
458
|
+
<span class="cstat-no" title="statement not covered" > if (observingStartedPromise) {</span>
|
|
459
|
+
<span class="cstat-no" title="statement not covered" > observingStartedPromise(promise);</span>
|
|
460
|
+
}
|
|
461
|
+
<span class="cstat-no" title="statement not covered" > promise.catch(<span class="fstat-no" title="function not covered" >err </span>=> <span class="cstat-no" title="statement not covered" >logger.error('[ObservingCache] Error on starting observe', key, strategy, err))</span>;</span>
|
|
447
462
|
}
|
|
448
463
|
}
|
|
449
464
|
|
|
@@ -529,7 +544,7 @@ function firstDefined<T>(...values: (T | undefined)[]) {
|
|
|
529
544
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
530
545
|
Code coverage generated by
|
|
531
546
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
532
|
-
at
|
|
547
|
+
at Fri Jun 10 2022 06:23:59 GMT+0000 (Coordinated Universal Time)
|
|
533
548
|
</div>
|
|
534
549
|
</div>
|
|
535
550
|
<script src="../prettify.js"></script>
|
|
@@ -118,7 +118,7 @@ export class TempoCache<T> {
|
|
|
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 Fri Jun 10 2022 06:23:59 GMT+0000 (Coordinated Universal Time)
|
|
122
122
|
</div>
|
|
123
123
|
</div>
|
|
124
124
|
<script src="../prettify.js"></script>
|
|
@@ -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 Fri Jun 10 2022 06:23:59 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 Fri Jun 10 2022 06:23:59 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 Fri Jun 10 2022 06:23:59 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 Fri Jun 10 2022 06:23:59 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 Fri Jun 10 2022 06:23:59 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 Fri Jun 10 2022 06:23:59 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 Fri Jun 10 2022 06:23:59 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 Fri Jun 10 2022 06:23:59 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 Fri Jun 10 2022 06:23:59 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 Fri Jun 10 2022 06:23:59 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 Fri Jun 10 2022 06:23:59 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 Fri Jun 10 2022 06:23:59 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 Fri Jun 10 2022 06:23:59 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 Fri Jun 10 2022 06:23:59 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 Fri Jun 10 2022 06:23:59 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 Fri Jun 10 2022 06:23:59 GMT+0000 (Coordinated Universal Time)
|
|
524
524
|
</div>
|
|
525
525
|
</div>
|
|
526
526
|
<script src="../../prettify.js"></script>
|