@zajno/common 1.4.14 → 1.4.15

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.
Files changed (69) hide show
  1. package/coverage/clover.xml +14 -10
  2. package/coverage/coverage-final.json +1 -1
  3. package/coverage/lcov-report/index.html +14 -14
  4. package/coverage/lcov-report/src/__tests__/helpers/index.html +1 -1
  5. package/coverage/lcov-report/src/__tests__/helpers/main.ts.html +1 -1
  6. package/coverage/lcov-report/src/async/arrays.ts.html +1 -1
  7. package/coverage/lcov-report/src/async/index.html +1 -1
  8. package/coverage/lcov-report/src/async/timeout.ts.html +1 -1
  9. package/coverage/lcov-report/src/cache.ts.html +1 -1
  10. package/coverage/lcov-report/src/dates/calc.ts.html +1 -1
  11. package/coverage/lcov-report/src/dates/convert.ts.html +1 -1
  12. package/coverage/lcov-report/src/dates/datex.ts.html +1 -1
  13. package/coverage/lcov-report/src/dates/format.ts.html +1 -1
  14. package/coverage/lcov-report/src/dates/index.html +1 -1
  15. package/coverage/lcov-report/src/dates/index.ts.html +1 -1
  16. package/coverage/lcov-report/src/dates/parse.ts.html +1 -1
  17. package/coverage/lcov-report/src/dates/period.ts.html +1 -1
  18. package/coverage/lcov-report/src/dates/shift.ts.html +1 -1
  19. package/coverage/lcov-report/src/dates/types.ts.html +1 -1
  20. package/coverage/lcov-report/src/dates/yearDate.ts.html +1 -1
  21. package/coverage/lcov-report/src/disposer.ts.html +1 -1
  22. package/coverage/lcov-report/src/enumHelper.ts.html +1 -1
  23. package/coverage/lcov-report/src/event.ts.html +1 -1
  24. package/coverage/lcov-report/src/fields/index.html +1 -1
  25. package/coverage/lcov-report/src/fields/update.ts.html +1 -1
  26. package/coverage/lcov-report/src/functions.ts.html +1 -1
  27. package/coverage/lcov-report/src/index.html +1 -1
  28. package/coverage/lcov-report/src/lazy.light.ts.html +1 -1
  29. package/coverage/lcov-report/src/logger/batch.ts.html +1 -1
  30. package/coverage/lcov-report/src/logger/console.ts.html +1 -1
  31. package/coverage/lcov-report/src/logger/index.html +1 -1
  32. package/coverage/lcov-report/src/logger/index.ts.html +1 -1
  33. package/coverage/lcov-report/src/logger/named.ts.html +1 -1
  34. package/coverage/lcov-report/src/logger/proxy.ts.html +1 -1
  35. package/coverage/lcov-report/src/math/arrays.ts.html +1 -1
  36. package/coverage/lcov-report/src/math/calc.ts.html +1 -1
  37. package/coverage/lcov-report/src/math/distribution.ts.html +1 -1
  38. package/coverage/lcov-report/src/math/index.html +1 -1
  39. package/coverage/lcov-report/src/math/index.ts.html +1 -1
  40. package/coverage/lcov-report/src/observersMap.ts.html +1 -1
  41. package/coverage/lcov-report/src/observingCache.ts.html +1 -1
  42. package/coverage/lcov-report/src/transitionObserver.ts.html +1 -1
  43. package/coverage/lcov-report/src/types.ts.html +1 -1
  44. package/coverage/lcov-report/src/validation/ValidationErrors.ts.html +1 -1
  45. package/coverage/lcov-report/src/validation/creditCard.ts.html +1 -1
  46. package/coverage/lcov-report/src/validation/helpers.ts.html +1 -1
  47. package/coverage/lcov-report/src/validation/index.html +1 -1
  48. package/coverage/lcov-report/src/validation/index.ts.html +1 -1
  49. package/coverage/lcov-report/src/validation/types.ts.html +1 -1
  50. package/coverage/lcov-report/src/validation/validators.ts.html +1 -1
  51. package/coverage/lcov-report/src/validation/wrappers.ts.html +1 -1
  52. package/coverage/lcov-report/src/viewModels/CommonModel.ts.html +1 -1
  53. package/coverage/lcov-report/src/viewModels/FlagModel.ts.html +1 -1
  54. package/coverage/lcov-report/src/viewModels/LoadingModel.ts.html +35 -11
  55. package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +1 -1
  56. package/coverage/lcov-report/src/viewModels/NumberModel.ts.html +1 -1
  57. package/coverage/lcov-report/src/viewModels/SelectModel.ts.html +1 -1
  58. package/coverage/lcov-report/src/viewModels/TextModel.ts.html +1 -1
  59. package/coverage/lcov-report/src/viewModels/Validatable.ts.html +1 -1
  60. package/coverage/lcov-report/src/viewModels/index.html +16 -16
  61. package/coverage/lcov-report/src/viewModels/wrappers.ts.html +1 -1
  62. package/coverage/lcov.info +19 -8
  63. package/lib/viewModels/LoadingModel.d.ts +1 -1
  64. package/lib/viewModels/LoadingModel.d.ts.map +1 -1
  65. package/lib/viewModels/LoadingModel.js +8 -2
  66. package/lib/viewModels/LoadingModel.js.map +1 -1
  67. package/package.json +1 -1
  68. package/src/viewModels/LoadingModel.ts +10 -2
  69. package/yarn.lock +3 -3
@@ -151,7 +151,7 @@ export function createLazy<T>(factory: () => T) {
151
151
  <div class='footer quiet pad2 space-top1 center small'>
152
152
  Code coverage generated by
153
153
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
154
- at Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
154
+ at Tue Apr 12 2022 18:17:46 GMT+0000 (Coordinated Universal Time)
155
155
  </div>
156
156
  </div>
157
157
  <script src="../prettify.js"></script>
@@ -91,7 +91,7 @@ export function batchLoggers(...loggers: ILogger[]): ILogger {
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 Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
94
+ at Tue Apr 12 2022 18:17:46 GMT+0000 (Coordinated Universal Time)
95
95
  </div>
96
96
  </div>
97
97
  <script src="../../prettify.js"></script>
@@ -220,7 +220,7 @@ export class BufferedConsoleLogger implements ILogger {
220
220
  <div class='footer quiet pad2 space-top1 center small'>
221
221
  Code coverage generated by
222
222
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
223
- at Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
223
+ at Tue Apr 12 2022 18:17:46 GMT+0000 (Coordinated Universal Time)
224
224
  </div>
225
225
  </div>
226
226
  <script src="../../prettify.js"></script>
@@ -155,7 +155,7 @@
155
155
  <div class='footer quiet pad2 space-top1 center small'>
156
156
  Code coverage generated by
157
157
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
158
- at Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
158
+ at Tue Apr 12 2022 18:17:46 GMT+0000 (Coordinated Universal Time)
159
159
  </div>
160
160
  </div>
161
161
  <script src="../../prettify.js"></script>
@@ -277,7 +277,7 @@ function _createImplementation(overrideMode: typeof Mode = undefined): ILogger {
277
277
  <div class='footer quiet pad2 space-top1 center small'>
278
278
  Code coverage generated by
279
279
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
280
- at Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
280
+ at Tue Apr 12 2022 18:17:46 GMT+0000 (Coordinated Universal Time)
281
281
  </div>
282
282
  </div>
283
283
  <script src="../../prettify.js"></script>
@@ -205,7 +205,7 @@ export abstract class NamedLogger implements ILogger, ILoggerSwitchable {
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 Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
208
+ at Tue Apr 12 2022 18:17:46 GMT+0000 (Coordinated Universal Time)
209
209
  </div>
210
210
  </div>
211
211
  <script src="../../prettify.js"></script>
@@ -151,7 +151,7 @@ export class ProxyLogger extends NamedLogger {
151
151
  <div class='footer quiet pad2 space-top1 center small'>
152
152
  Code coverage generated by
153
153
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
154
- at Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
154
+ at Tue Apr 12 2022 18:17:46 GMT+0000 (Coordinated Universal Time)
155
155
  </div>
156
156
  </div>
157
157
  <script src="../../prettify.js"></script>
@@ -847,7 +847,7 @@ export function arrayRepeat&lt;T&gt;(factory: Getter&lt;T&gt;, 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 Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
850
+ at Tue Apr 12 2022 18:17:46 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 Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
274
+ at Tue Apr 12 2022 18:17:46 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&lt;T extends keyof any&gt;(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 Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
127
+ at Tue Apr 12 2022 18:17:46 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 Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
143
+ at Tue Apr 12 2022 18:17:46 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 Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
148
+ at Tue Apr 12 2022 18:17:46 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 Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
382
+ at Tue Apr 12 2022 18:17:46 GMT+0000 (Coordinated Universal Time)
383
383
  </div>
384
384
  </div>
385
385
  <script src="../prettify.js"></script>
@@ -529,7 +529,7 @@ function firstDefined&lt;T&gt;(...values: (T | undefined)[]) {
529
529
  <div class='footer quiet pad2 space-top1 center small'>
530
530
  Code coverage generated by
531
531
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
532
- at Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
532
+ at Tue Apr 12 2022 18:17:46 GMT+0000 (Coordinated Universal Time)
533
533
  </div>
534
534
  </div>
535
535
  <script src="../prettify.js"></script>
@@ -613,7 +613,7 @@ export function <span class="fstat-no" title="function not covered" >waitFor&lt;
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 Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
616
+ at Tue Apr 12 2022 18:17:46 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&lt;T extends Object, K&gt; = {
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 Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
157
+ at Tue Apr 12 2022 18:17:46 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 Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
145
+ at Tue Apr 12 2022 18:17:46 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 Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
142
+ at Tue Apr 12 2022 18:17:46 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 Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
211
+ at Tue Apr 12 2022 18:17:46 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 Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
188
+ at Tue Apr 12 2022 18:17:46 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 Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
94
+ at Tue Apr 12 2022 18:17:46 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&lt;TErrors = ValidationErrors&gt; 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 Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
112
+ at Tue Apr 12 2022 18:17:46 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 Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
232
+ at Tue Apr 12 2022 18:17:46 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 Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
145
+ at Tue Apr 12 2022 18:17:46 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&lt;T = any&gt; extends ValidatableModel&lt;T&gt; {
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 Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
202
+ at Tue Apr 12 2022 18:17:46 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 Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
277
+ at Tue Apr 12 2022 18:17:46 GMT+0000 (Coordinated Universal Time)
278
278
  </div>
279
279
  </div>
280
280
  <script src="../../prettify.js"></script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">100% </span>
26
+ <span class="strong">75% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>8/8</span>
28
+ <span class='fraction'>9/12</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">100% </span>
33
+ <span class="strong">42.86% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/0</span>
35
+ <span class='fraction'>3/7</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">100% </span>
47
+ <span class="strong">75% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>8/8</span>
49
+ <span class='fraction'>9/12</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 high'></div>
58
+ <div class='status-line medium'></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>
@@ -73,7 +73,15 @@
73
73
  <a name='L14'></a><a href='#L14'>14</a>
74
74
  <a name='L15'></a><a href='#L15'>15</a>
75
75
  <a name='L16'></a><a href='#L16'>16</a>
76
- <a name='L17'></a><a href='#L17'>17</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
76
+ <a name='L17'></a><a href='#L17'>17</a>
77
+ <a name='L18'></a><a href='#L18'>18</a>
78
+ <a name='L19'></a><a href='#L19'>19</a>
79
+ <a name='L20'></a><a href='#L20'>20</a>
80
+ <a name='L21'></a><a href='#L21'>21</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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
77
85
  <span class="cline-any cline-neutral">&nbsp;</span>
78
86
  <span class="cline-any cline-yes">1x</span>
79
87
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -81,6 +89,14 @@
81
89
  <span class="cline-any cline-neutral">&nbsp;</span>
82
90
  <span class="cline-any cline-neutral">&nbsp;</span>
83
91
  <span class="cline-any cline-yes">1x</span>
92
+ <span class="cline-any cline-no">&nbsp;</span>
93
+ <span class="cline-any cline-no">&nbsp;</span>
94
+ <span class="cline-any cline-neutral">&nbsp;</span>
95
+ <span class="cline-any cline-no">&nbsp;</span>
96
+ <span class="cline-any cline-neutral">&nbsp;</span>
97
+ <span class="cline-any cline-neutral">&nbsp;</span>
98
+ <span class="cline-any cline-yes">1x</span>
99
+ <span class="cline-any cline-neutral">&nbsp;</span>
84
100
  <span class="cline-any cline-yes">1x</span>
85
101
  <span class="cline-any cline-yes">1x</span>
86
102
  <span class="cline-any cline-yes">1x</span>
@@ -95,9 +111,17 @@ export class LoadingModel extends NumberModel {
95
111
  &nbsp;
96
112
  public get isLoading() { return this.value &gt; 0; }
97
113
  &nbsp;
98
- public async useLoading&lt;T&gt;(cb: () =&gt; (T | Promise&lt;T&gt;)): Promise&lt;T&gt; {
114
+ public async useLoading&lt;T&gt;(cb: () =&gt; (T | Promise&lt;T&gt;), exclusive: boolean | 'throw' = false): Promise&lt;T | false&gt; {
115
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (exclusive &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >this.isLoading)</span> {
116
+ <span class="cstat-no" title="statement not covered" > if (exclusive === 'throw') {</span>
117
+ <span class="cstat-no" title="statement not covered" > throw new Error('Operation cannot be started because another one is in progress already.');</span>
118
+ }
119
+ <span class="cstat-no" title="statement not covered" > return false;</span>
120
+ }
121
+ &nbsp;
122
+ this.increment();
123
+ &nbsp;
99
124
  try {
100
- this.increment();
101
125
  const res = await cb();
102
126
  return res;
103
127
  } finally {
@@ -112,7 +136,7 @@ export class LoadingModel extends NumberModel {
112
136
  <div class='footer quiet pad2 space-top1 center small'>
113
137
  Code coverage generated by
114
138
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
115
- at Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
139
+ at Tue Apr 12 2022 18:17:46 GMT+0000 (Coordinated Universal Time)
116
140
  </div>
117
141
  </div>
118
142
  <script src="../../prettify.js"></script>
@@ -598,7 +598,7 @@ export class MultiSelectString&lt;T extends string = string&gt; 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 Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
601
+ at Tue Apr 12 2022 18:17:46 GMT+0000 (Coordinated Universal Time)
602
602
  </div>
603
603
  </div>
604
604
  <script src="../../prettify.js"></script>
@@ -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 Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
217
+ at Tue Apr 12 2022 18:17:46 GMT+0000 (Coordinated Universal Time)
218
218
  </div>
219
219
  </div>
220
220
  <script src="../../prettify.js"></script>
@@ -487,7 +487,7 @@ export class SelectString&lt;T extends string = string&gt; extends Select&lt;T&g
487
487
  <div class='footer quiet pad2 space-top1 center small'>
488
488
  Code coverage generated by
489
489
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
490
- at Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
490
+ at Tue Apr 12 2022 18:17:46 GMT+0000 (Coordinated Universal Time)
491
491
  </div>
492
492
  </div>
493
493
  <script src="../../prettify.js"></script>
@@ -445,7 +445,7 @@ export class TextInputVM extends ValidatableModel&lt;string&gt; 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 Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
448
+ at Tue Apr 12 2022 18:17:46 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&lt;T = string&gt; {
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 Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
373
+ at Tue Apr 12 2022 18:17:46 GMT+0000 (Coordinated Universal Time)
374
374
  </div>
375
375
  </div>
376
376
  <script src="../../prettify.js"></script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">74.57% </span>
26
+ <span class="strong">74.01% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>261/350</span>
28
+ <span class='fraction'>262/354</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">55.79% </span>
33
+ <span class="strong">54.9% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>53/95</span>
35
+ <span class='fraction'>56/102</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">75% </span>
47
+ <span class="strong">74.38% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>240/320</span>
49
+ <span class='fraction'>241/324</span>
50
50
  </div>
51
51
 
52
52
 
@@ -103,18 +103,18 @@
103
103
  </tr>
104
104
 
105
105
  <tr>
106
- <td class="file high" data-value="LoadingModel.ts"><a href="LoadingModel.ts.html">LoadingModel.ts</a></td>
107
- <td data-value="100" class="pic high">
108
- <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
106
+ <td class="file medium" data-value="LoadingModel.ts"><a href="LoadingModel.ts.html">LoadingModel.ts</a></td>
107
+ <td data-value="75" class="pic medium">
108
+ <div class="chart"><div class="cover-fill" style="width: 75%"></div><div class="cover-empty" style="width: 25%"></div></div>
109
109
  </td>
110
- <td data-value="100" class="pct high">100%</td>
111
- <td data-value="8" class="abs high">8/8</td>
112
- <td data-value="100" class="pct high">100%</td>
113
- <td data-value="0" class="abs high">0/0</td>
110
+ <td data-value="75" class="pct medium">75%</td>
111
+ <td data-value="12" class="abs medium">9/12</td>
112
+ <td data-value="42.86" class="pct low">42.86%</td>
113
+ <td data-value="7" class="abs low">3/7</td>
114
114
  <td data-value="100" class="pct high">100%</td>
115
115
  <td data-value="2" class="abs high">2/2</td>
116
- <td data-value="100" class="pct high">100%</td>
117
- <td data-value="8" class="abs high">8/8</td>
116
+ <td data-value="75" class="pct medium">75%</td>
117
+ <td data-value="12" class="abs medium">9/12</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 Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
218
+ at Tue Apr 12 2022 18:17:46 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&lt;T, TModel extends IValueModel&lt;T&gt;, 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 Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
214
+ at Tue Apr 12 2022 18:17:46 GMT+0000 (Coordinated Universal Time)
215
215
  </div>
216
216
  </div>
217
217
  <script src="../../prettify.js"></script>
@@ -3223,14 +3223,25 @@ DA:1,1
3223
3223
  DA:3,1
3224
3224
  DA:5,3
3225
3225
  DA:8,1
3226
- DA:9,1
3227
- DA:10,1
3228
- DA:11,1
3229
- DA:13,1
3230
- LF:8
3231
- LH:8
3232
- BRF:0
3233
- BRH:0
3226
+ DA:9,0
3227
+ DA:10,0
3228
+ DA:12,0
3229
+ DA:15,1
3230
+ DA:17,1
3231
+ DA:18,1
3232
+ DA:19,1
3233
+ DA:21,1
3234
+ LF:12
3235
+ LH:9
3236
+ BRDA:7,0,0,1
3237
+ BRDA:8,1,0,0
3238
+ BRDA:8,1,1,1
3239
+ BRDA:8,2,0,1
3240
+ BRDA:8,2,1,0
3241
+ BRDA:9,3,0,0
3242
+ BRDA:9,3,1,0
3243
+ BRF:7
3244
+ BRH:3
3234
3245
  end_of_record
3235
3246
  TN:
3236
3247
  SF:src/viewModels/MultiSelectModel.ts
@@ -1,6 +1,6 @@
1
1
  import { NumberModel } from './NumberModel';
2
2
  export declare class LoadingModel extends NumberModel {
3
3
  get isLoading(): boolean;
4
- useLoading<T>(cb: () => (T | Promise<T>)): Promise<T>;
4
+ useLoading<T>(cb: () => (T | Promise<T>), exclusive?: boolean | 'throw'): Promise<T | false>;
5
5
  }
6
6
  //# sourceMappingURL=LoadingModel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoadingModel.d.ts","sourceRoot":"","sources":["../../src/viewModels/LoadingModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,qBAAa,YAAa,SAAQ,WAAW;IAEzC,IAAW,SAAS,YAA6B;IAEpC,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CASrE"}
1
+ {"version":3,"file":"LoadingModel.d.ts","sourceRoot":"","sources":["../../src/viewModels/LoadingModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,qBAAa,YAAa,SAAQ,WAAW;IAEzC,IAAW,SAAS,YAA6B;IAEpC,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,GAAE,OAAO,GAAG,OAAe,GAAG,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC;CAiBnH"}
@@ -4,9 +4,15 @@ exports.LoadingModel = void 0;
4
4
  const NumberModel_1 = require("./NumberModel");
5
5
  class LoadingModel extends NumberModel_1.NumberModel {
6
6
  get isLoading() { return this.value > 0; }
7
- async useLoading(cb) {
7
+ async useLoading(cb, exclusive = false) {
8
+ if (exclusive && this.isLoading) {
9
+ if (exclusive === 'throw') {
10
+ throw new Error('Operation cannot be started because another one is in progress already.');
11
+ }
12
+ return false;
13
+ }
14
+ this.increment();
8
15
  try {
9
- this.increment();
10
16
  const res = await cb();
11
17
  return res;
12
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LoadingModel.js","sourceRoot":"","sources":["../../src/viewModels/LoadingModel.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAE5C,MAAa,YAAa,SAAQ,yBAAW;IAEzC,IAAW,SAAS,KAAK,OAAO,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAE1C,KAAK,CAAC,UAAU,CAAI,EAA0B;QACjD,IAAI;YACA,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,MAAM,EAAE,EAAE,CAAC;YACvB,OAAO,GAAG,CAAC;SACd;gBAAS;YACN,IAAI,CAAC,SAAS,EAAE,CAAC;SACpB;IACL,CAAC;CACJ;AAbD,oCAaC"}
1
+ {"version":3,"file":"LoadingModel.js","sourceRoot":"","sources":["../../src/viewModels/LoadingModel.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAE5C,MAAa,YAAa,SAAQ,yBAAW;IAEzC,IAAW,SAAS,KAAK,OAAO,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAE1C,KAAK,CAAC,UAAU,CAAI,EAA0B,EAAE,YAA+B,KAAK;QACvF,IAAI,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE;YAC7B,IAAI,SAAS,KAAK,OAAO,EAAE;gBACvB,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;aAC9F;YACD,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,IAAI;YACA,MAAM,GAAG,GAAG,MAAM,EAAE,EAAE,CAAC;YACvB,OAAO,GAAG,CAAC;SACd;gBAAS;YACN,IAAI,CAAC,SAAS,EAAE,CAAC;SACpB;IACL,CAAC;CACJ;AArBD,oCAqBC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zajno/common",
3
- "version": "1.4.14",
3
+ "version": "1.4.15",
4
4
  "description": "Zajno's re-usable utilities for JS/TS projects",
5
5
  "repository": {
6
6
  "type": "git",